From c2e0ab5d73bcad43f2a65a7cf9910ae7a53afe61 Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Sun, 5 May 2024 14:20:30 +0200 Subject: [PATCH] Rtc implementation (#5) added RTC and fixed time based evolutions --- Makefile | 4 +- build.log | 3377 ----------------- common_syms/rtc.txt | 1 + data/maps/ViridianCity_Mart/scripts.inc | 1 + data/specials.inc | 6 +- data/text/save.inc | 2 +- graphics/misc/reset_rtc_screen_arrow.pal | 7 + graphics/misc/reset_rtc_screen_downarrow.png | Bin 0 -> 113 bytes graphics/misc/reset_rtc_screen_rightarrow.png | Bin 0 -> 110 bytes graphics/wallclock/clock.png | Bin 0 -> 1195 bytes graphics/wallclock/clock_start.bin | Bin 0 -> 1280 bytes graphics/wallclock/clock_view.bin | Bin 0 -> 1280 bytes graphics/wallclock/female.pal | 19 + graphics/wallclock/hand.png | Bin 0 -> 204 bytes graphics/wallclock/male.pal | 19 + graphics/wallclock/text_prompt.pal | 7 + include/clock.h | 8 + include/constants/flags.h | 10 +- include/constants/vars.h | 2 +- include/event_data.h | 1 + include/graphics.h | 7 + include/pokemon.h | 2 + include/reset_rtc_screen.h | 6 + include/rtc.h | 122 + include/siirtc.h | 54 + include/strings.h | 19 + include/time_events.h | 6 + include/wallclock.h | 7 + ld_script.ld | 11 + src/clock.c | 87 + .../pokemon/species_info/gen_1_families.h | 4 +- .../pokemon/species_info/gen_7_families.h | 2 +- src/data/wild_encounters.json | 16 +- src/event_data.c | 18 +- src/field_specials.c | 19 + src/field_tasks.c | 30 +- src/graphics.c | 6 + src/intro.c | 4 + src/main.c | 3 + src/main_menu.c | 67 +- src/new_game.c | 5 + src/overworld.c | 5 + src/pokemon.c | 149 +- src/reset_rtc_screen.c | 766 ++++ src/rtc.c | 366 ++ src/scrcmd.c | 23 +- src/siirtc.c | 445 +++ src/strings.c | 30 +- src/time_events.c | 11 + src/title_screen.c | 43 +- src/wallclock.c | 1126 ++++++ sym_bss.txt | 3 + sym_common.txt | 1 + 53 files changed, 3452 insertions(+), 3475 deletions(-) delete mode 100644 build.log create mode 100644 common_syms/rtc.txt create mode 100644 graphics/misc/reset_rtc_screen_arrow.pal create mode 100644 graphics/misc/reset_rtc_screen_downarrow.png create mode 100644 graphics/misc/reset_rtc_screen_rightarrow.png create mode 100644 graphics/wallclock/clock.png create mode 100644 graphics/wallclock/clock_start.bin create mode 100644 graphics/wallclock/clock_view.bin create mode 100644 graphics/wallclock/female.pal create mode 100644 graphics/wallclock/hand.png create mode 100644 graphics/wallclock/male.pal create mode 100644 graphics/wallclock/text_prompt.pal create mode 100644 include/clock.h create mode 100644 include/reset_rtc_screen.h create mode 100644 include/rtc.h create mode 100644 include/siirtc.h create mode 100644 include/time_events.h create mode 100644 include/wallclock.h create mode 100644 src/clock.c create mode 100644 src/reset_rtc_screen.c create mode 100644 src/rtc.c create mode 100644 src/siirtc.c create mode 100644 src/time_events.c create mode 100644 src/wallclock.c diff --git a/Makefile b/Makefile index 84d684ad5..02d834f76 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym MODERN=$(MODERN) -LDFLAGS = -Map ../../$(MAP) +LDFLAGS = --print-memory-usage -Map ../../$(MAP) LIB := $(LIBPATH) -lc -lgcc ifneq ($(MODERN),0) @@ -238,6 +238,8 @@ sound/songs/%.s: sound/songs/%.mid $(MID) $< $@ ifeq ($(MODERN),0) +$(C_BUILDDIR)/siirtc.o: CFLAGS := -mthumb-interwork + $(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork $(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork $(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork diff --git a/build.log b/build.log deleted file mode 100644 index c6c960350..000000000 --- a/build.log +++ /dev/null @@ -1,3377 +0,0 @@ -In file included from src/data/pokemon/species_info.h:67, - from src/pokemon.c:683: -src/data/pokemon/species_info/gen_8_families.h:2400: `sHydrappleTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_8_families.h:2400: initializer element for `gSpeciesInfo[1426].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_8_families.h:2401: initializer element for `gSpeciesInfo[1426]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2401: initializer element for `gSpeciesInfo[1426]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2414: initializer element for `gSpeciesInfo[843].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2422: initializer element for `gSpeciesInfo[843].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2423: initializer element for `gSpeciesInfo[843].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2425: initializer element for `gSpeciesInfo[843].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2428: initializer element for `gSpeciesInfo[843].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2434: initializer element for `gSpeciesInfo[843].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2455: initializer element for `gSpeciesInfo[843].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2456: initializer element for `gSpeciesInfo[843]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2466: initializer element for `gSpeciesInfo[844].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2474: initializer element for `gSpeciesInfo[844].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2475: initializer element for `gSpeciesInfo[844].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2477: initializer element for `gSpeciesInfo[844].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2480: initializer element for `gSpeciesInfo[844].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2487: initializer element for `gSpeciesInfo[844].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2510: initializer element for `gSpeciesInfo[844]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2521: initializer element for `gSpeciesInfo[1512].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2529: initializer element for `gSpeciesInfo[1512].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2530: initializer element for `gSpeciesInfo[1512].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2532: initializer element for `gSpeciesInfo[1512].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2535: initializer element for `gSpeciesInfo[1512].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2542: initializer element for `gSpeciesInfo[1512].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2566: initializer element for `gSpeciesInfo[1512]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2579: initializer element for `gSpeciesInfo[845].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2587: initializer element for `gSpeciesInfo[845].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2588: initializer element for `gSpeciesInfo[845].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2590: initializer element for `gSpeciesInfo[845].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2593: initializer element for `gSpeciesInfo[845].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2599: initializer element for `gSpeciesInfo[845].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2622: initializer element for `gSpeciesInfo[845]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2632: initializer element for `gSpeciesInfo[1211].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2640: initializer element for `gSpeciesInfo[1211].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2641: initializer element for `gSpeciesInfo[1211].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2643: initializer element for `gSpeciesInfo[1211].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2646: initializer element for `gSpeciesInfo[1211].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2653: initializer element for `gSpeciesInfo[1211].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2676: initializer element for `gSpeciesInfo[1211]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2686: initializer element for `gSpeciesInfo[1212].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2694: initializer element for `gSpeciesInfo[1212].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2695: initializer element for `gSpeciesInfo[1212].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2697: initializer element for `gSpeciesInfo[1212].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2700: initializer element for `gSpeciesInfo[1212].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2707: initializer element for `gSpeciesInfo[1212].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2730: initializer element for `gSpeciesInfo[1212]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2742: initializer element for `gSpeciesInfo[846].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2750: initializer element for `gSpeciesInfo[846].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2751: initializer element for `gSpeciesInfo[846].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2753: initializer element for `gSpeciesInfo[846].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2756: initializer element for `gSpeciesInfo[846].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2763: initializer element for `gSpeciesInfo[846].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2784: initializer element for `gSpeciesInfo[846].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2785: initializer element for `gSpeciesInfo[846]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2795: initializer element for `gSpeciesInfo[847].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2803: initializer element for `gSpeciesInfo[847].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2804: initializer element for `gSpeciesInfo[847].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2806: initializer element for `gSpeciesInfo[847].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2809: initializer element for `gSpeciesInfo[847].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2816: initializer element for `gSpeciesInfo[847].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2837: initializer element for `gSpeciesInfo[847]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2849: initializer element for `gSpeciesInfo[848].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2857: initializer element for `gSpeciesInfo[848].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2858: initializer element for `gSpeciesInfo[848].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2860: initializer element for `gSpeciesInfo[848].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2863: initializer element for `gSpeciesInfo[848].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2870: initializer element for `gSpeciesInfo[848].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2892: initializer element for `gSpeciesInfo[848].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2893: initializer element for `gSpeciesInfo[848]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2903: initializer element for `gSpeciesInfo[849].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2911: initializer element for `gSpeciesInfo[849].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2912: initializer element for `gSpeciesInfo[849].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2914: initializer element for `gSpeciesInfo[849].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2917: initializer element for `gSpeciesInfo[849].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2924: initializer element for `gSpeciesInfo[849].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2947: initializer element for `gSpeciesInfo[849]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2958: initializer element for `gSpeciesInfo[1513].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:2966: initializer element for `gSpeciesInfo[1513].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:2967: initializer element for `gSpeciesInfo[1513].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:2969: initializer element for `gSpeciesInfo[1513].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2972: initializer element for `gSpeciesInfo[1513].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:2999: initializer element for `gSpeciesInfo[1513]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2999: initializer element for `gSpeciesInfo[1513]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2999: initializer element for `gSpeciesInfo[1513]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2999: initializer element for `gSpeciesInfo[1513]' is not constant -src/data/pokemon/species_info/gen_8_families.h:2999: initializer element for `gSpeciesInfo[1513]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3010: initializer element for `gSpeciesInfo[1213].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3018: initializer element for `gSpeciesInfo[1213].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3019: initializer element for `gSpeciesInfo[1213].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3021: initializer element for `gSpeciesInfo[1213].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3024: initializer element for `gSpeciesInfo[1213].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3030: initializer element for `gSpeciesInfo[1213].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3053: initializer element for `gSpeciesInfo[1213]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3064: initializer element for `gSpeciesInfo[1514].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3072: initializer element for `gSpeciesInfo[1514].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3073: initializer element for `gSpeciesInfo[1514].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3075: initializer element for `gSpeciesInfo[1514].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3078: initializer element for `gSpeciesInfo[1514].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3105: initializer element for `gSpeciesInfo[1514]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3105: initializer element for `gSpeciesInfo[1514]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3105: initializer element for `gSpeciesInfo[1514]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3105: initializer element for `gSpeciesInfo[1514]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3105: initializer element for `gSpeciesInfo[1514]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3118: initializer element for `gSpeciesInfo[850].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3126: initializer element for `gSpeciesInfo[850].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3127: initializer element for `gSpeciesInfo[850].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3129: initializer element for `gSpeciesInfo[850].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3132: initializer element for `gSpeciesInfo[850].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3138: initializer element for `gSpeciesInfo[850].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3159: initializer element for `gSpeciesInfo[850].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3160: initializer element for `gSpeciesInfo[850]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3170: initializer element for `gSpeciesInfo[851].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3178: initializer element for `gSpeciesInfo[851].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3179: initializer element for `gSpeciesInfo[851].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3181: initializer element for `gSpeciesInfo[851].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3184: initializer element for `gSpeciesInfo[851].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3191: initializer element for `gSpeciesInfo[851].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3214: initializer element for `gSpeciesInfo[851]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3225: initializer element for `gSpeciesInfo[1515].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3233: initializer element for `gSpeciesInfo[1515].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3234: initializer element for `gSpeciesInfo[1515].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3236: initializer element for `gSpeciesInfo[1515].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3239: initializer element for `gSpeciesInfo[1515].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3246: initializer element for `gSpeciesInfo[1515].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3270: initializer element for `gSpeciesInfo[1515]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3283: initializer element for `gSpeciesInfo[852].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3291: initializer element for `gSpeciesInfo[852].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3292: initializer element for `gSpeciesInfo[852].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3294: initializer element for `gSpeciesInfo[852].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3297: initializer element for `gSpeciesInfo[852].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3304: initializer element for `gSpeciesInfo[852].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3325: initializer element for `gSpeciesInfo[852].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3326: initializer element for `gSpeciesInfo[852]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3336: initializer element for `gSpeciesInfo[853].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3344: initializer element for `gSpeciesInfo[853].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3345: initializer element for `gSpeciesInfo[853].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3347: initializer element for `gSpeciesInfo[853].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3350: initializer element for `gSpeciesInfo[853].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3356: initializer element for `gSpeciesInfo[853].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3377: initializer element for `gSpeciesInfo[853]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3389: initializer element for `gSpeciesInfo[854].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3397: initializer element for `gSpeciesInfo[854].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3398: initializer element for `gSpeciesInfo[854].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3400: initializer element for `gSpeciesInfo[854].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3403: initializer element for `gSpeciesInfo[854].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3409: initializer element for `gSpeciesInfo[854].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3432: initializer element for `gSpeciesInfo[854].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3433: initializer element for `gSpeciesInfo[854]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3443: initializer element for `gSpeciesInfo[1214].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3451: initializer element for `gSpeciesInfo[1214].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3452: initializer element for `gSpeciesInfo[1214].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3454: initializer element for `gSpeciesInfo[1214].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3457: initializer element for `gSpeciesInfo[1214].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3464: initializer element for `gSpeciesInfo[1214].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3487: initializer element for `gSpeciesInfo[1214].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3488: initializer element for `gSpeciesInfo[1214]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3498: initializer element for `gSpeciesInfo[855].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3506: initializer element for `gSpeciesInfo[855].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3507: initializer element for `gSpeciesInfo[855].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3509: initializer element for `gSpeciesInfo[855].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3512: initializer element for `gSpeciesInfo[855].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3518: initializer element for `gSpeciesInfo[855].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3541: initializer element for `gSpeciesInfo[855]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3551: initializer element for `gSpeciesInfo[1215].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3559: initializer element for `gSpeciesInfo[1215].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3560: initializer element for `gSpeciesInfo[1215].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3562: initializer element for `gSpeciesInfo[1215].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3565: initializer element for `gSpeciesInfo[1215].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3572: initializer element for `gSpeciesInfo[1215].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3595: initializer element for `gSpeciesInfo[1215]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3607: initializer element for `gSpeciesInfo[856].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3615: initializer element for `gSpeciesInfo[856].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3616: initializer element for `gSpeciesInfo[856].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3618: initializer element for `gSpeciesInfo[856].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3621: initializer element for `gSpeciesInfo[856].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3628: initializer element for `gSpeciesInfo[856].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3649: initializer element for `gSpeciesInfo[856].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3650: initializer element for `gSpeciesInfo[856]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3660: initializer element for `gSpeciesInfo[857].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3668: initializer element for `gSpeciesInfo[857].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3669: initializer element for `gSpeciesInfo[857].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3671: initializer element for `gSpeciesInfo[857].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3674: initializer element for `gSpeciesInfo[857].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3680: initializer element for `gSpeciesInfo[857].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3701: initializer element for `gSpeciesInfo[857].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3702: initializer element for `gSpeciesInfo[857]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3712: initializer element for `gSpeciesInfo[858].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3720: initializer element for `gSpeciesInfo[858].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3721: initializer element for `gSpeciesInfo[858].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3723: initializer element for `gSpeciesInfo[858].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3726: initializer element for `gSpeciesInfo[858].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3732: initializer element for `gSpeciesInfo[858].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3755: initializer element for `gSpeciesInfo[858]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3766: initializer element for `gSpeciesInfo[1516].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3774: initializer element for `gSpeciesInfo[1516].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3775: initializer element for `gSpeciesInfo[1516].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3777: initializer element for `gSpeciesInfo[1516].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3780: initializer element for `gSpeciesInfo[1516].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3787: initializer element for `gSpeciesInfo[1516].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3811: initializer element for `gSpeciesInfo[1516]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3824: initializer element for `gSpeciesInfo[859].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3832: initializer element for `gSpeciesInfo[859].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3833: initializer element for `gSpeciesInfo[859].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3835: initializer element for `gSpeciesInfo[859].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3838: initializer element for `gSpeciesInfo[859].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3845: initializer element for `gSpeciesInfo[859].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3866: initializer element for `gSpeciesInfo[859].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3867: initializer element for `gSpeciesInfo[859]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3877: initializer element for `gSpeciesInfo[860].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3885: initializer element for `gSpeciesInfo[860].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3886: initializer element for `gSpeciesInfo[860].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3888: initializer element for `gSpeciesInfo[860].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3891: initializer element for `gSpeciesInfo[860].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3898: initializer element for `gSpeciesInfo[860].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3919: initializer element for `gSpeciesInfo[860].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3920: initializer element for `gSpeciesInfo[860]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3931: initializer element for `gSpeciesInfo[861].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3939: initializer element for `gSpeciesInfo[861].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3940: initializer element for `gSpeciesInfo[861].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3942: initializer element for `gSpeciesInfo[861].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3945: initializer element for `gSpeciesInfo[861].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3951: initializer element for `gSpeciesInfo[861].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3974: initializer element for `gSpeciesInfo[861]' is not constant -src/data/pokemon/species_info/gen_8_families.h:3985: initializer element for `gSpeciesInfo[1517].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:3993: initializer element for `gSpeciesInfo[1517].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:3994: initializer element for `gSpeciesInfo[1517].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:3996: initializer element for `gSpeciesInfo[1517].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:3999: initializer element for `gSpeciesInfo[1517].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4006: initializer element for `gSpeciesInfo[1517].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4030: initializer element for `gSpeciesInfo[1517]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4043: initializer element for `gSpeciesInfo[868].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4051: initializer element for `gSpeciesInfo[868].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4052: initializer element for `gSpeciesInfo[868].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4054: initializer element for `gSpeciesInfo[868].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4057: initializer element for `gSpeciesInfo[868].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4063: initializer element for `gSpeciesInfo[868].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4093: initializer element for `gSpeciesInfo[868].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4094: initializer element for `gSpeciesInfo[868]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4149: initializer element for `gSpeciesInfo[869]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4150: initializer element for `gSpeciesInfo[1216]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4151: initializer element for `gSpeciesInfo[1217]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4152: initializer element for `gSpeciesInfo[1218]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4153: initializer element for `gSpeciesInfo[1219]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4154: initializer element for `gSpeciesInfo[1220]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4155: initializer element for `gSpeciesInfo[1221]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4156: initializer element for `gSpeciesInfo[1222]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4157: initializer element for `gSpeciesInfo[1223]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4158: initializer element for `gSpeciesInfo[1235]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4159: initializer element for `gSpeciesInfo[1236]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4160: initializer element for `gSpeciesInfo[1237]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4161: initializer element for `gSpeciesInfo[1238]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4162: initializer element for `gSpeciesInfo[1239]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4163: initializer element for `gSpeciesInfo[1240]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4164: initializer element for `gSpeciesInfo[1241]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4165: initializer element for `gSpeciesInfo[1242]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4166: initializer element for `gSpeciesInfo[1243]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4167: initializer element for `gSpeciesInfo[1244]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4168: initializer element for `gSpeciesInfo[1245]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4169: initializer element for `gSpeciesInfo[1246]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4170: initializer element for `gSpeciesInfo[1247]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4171: initializer element for `gSpeciesInfo[1248]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4172: initializer element for `gSpeciesInfo[1249]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4173: initializer element for `gSpeciesInfo[1250]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4174: initializer element for `gSpeciesInfo[1251]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4175: initializer element for `gSpeciesInfo[1252]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4176: initializer element for `gSpeciesInfo[1253]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4177: initializer element for `gSpeciesInfo[1254]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4178: initializer element for `gSpeciesInfo[1255]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4179: initializer element for `gSpeciesInfo[1256]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4180: initializer element for `gSpeciesInfo[1257]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4181: initializer element for `gSpeciesInfo[1258]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4182: initializer element for `gSpeciesInfo[1259]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4183: initializer element for `gSpeciesInfo[1260]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4184: initializer element for `gSpeciesInfo[1261]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4185: initializer element for `gSpeciesInfo[1262]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4186: initializer element for `gSpeciesInfo[1263]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4187: initializer element for `gSpeciesInfo[1264]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4188: initializer element for `gSpeciesInfo[1265]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4189: initializer element for `gSpeciesInfo[1266]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4190: initializer element for `gSpeciesInfo[1267]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4191: initializer element for `gSpeciesInfo[1268]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4192: initializer element for `gSpeciesInfo[1269]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4193: initializer element for `gSpeciesInfo[1270]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4194: initializer element for `gSpeciesInfo[1271]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4195: initializer element for `gSpeciesInfo[1272]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4196: initializer element for `gSpeciesInfo[1273]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4197: initializer element for `gSpeciesInfo[1274]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4198: initializer element for `gSpeciesInfo[1275]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4199: initializer element for `gSpeciesInfo[1276]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4200: initializer element for `gSpeciesInfo[1277]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4201: initializer element for `gSpeciesInfo[1278]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4202: initializer element for `gSpeciesInfo[1279]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4203: initializer element for `gSpeciesInfo[1280]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4204: initializer element for `gSpeciesInfo[1281]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4205: initializer element for `gSpeciesInfo[1282]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4206: initializer element for `gSpeciesInfo[1283]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4207: initializer element for `gSpeciesInfo[1284]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4208: initializer element for `gSpeciesInfo[1285]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4209: initializer element for `gSpeciesInfo[1286]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4210: initializer element for `gSpeciesInfo[1287]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4211: initializer element for `gSpeciesInfo[1288]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4215: initializer element for `gSpeciesInfo[1518].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4215: initializer element for `gSpeciesInfo[1518].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4215: initializer element for `gSpeciesInfo[1518].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4216: initializer element for `gSpeciesInfo[1518].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4219: initializer element for `gSpeciesInfo[1518].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4226: initializer element for `gSpeciesInfo[1518].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4250: initializer element for `gSpeciesInfo[1518]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4263: initializer element for `gSpeciesInfo[870].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4272: initializer element for `gSpeciesInfo[870].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4273: initializer element for `gSpeciesInfo[870].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4275: initializer element for `gSpeciesInfo[870].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4278: initializer element for `gSpeciesInfo[870].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4283: initializer element for `gSpeciesInfo[870].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4304: initializer element for `gSpeciesInfo[870]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4316: initializer element for `gSpeciesInfo[871].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4324: initializer element for `gSpeciesInfo[871].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4325: initializer element for `gSpeciesInfo[871].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4327: initializer element for `gSpeciesInfo[871].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4330: initializer element for `gSpeciesInfo[871].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4336: initializer element for `gSpeciesInfo[871].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4357: initializer element for `gSpeciesInfo[871]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4369: initializer element for `gSpeciesInfo[872].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4378: initializer element for `gSpeciesInfo[872].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4379: initializer element for `gSpeciesInfo[872].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4381: initializer element for `gSpeciesInfo[872].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4384: initializer element for `gSpeciesInfo[872].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4391: initializer element for `gSpeciesInfo[872].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4412: initializer element for `gSpeciesInfo[872].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4413: initializer element for `gSpeciesInfo[872]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4423: initializer element for `gSpeciesInfo[873].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4431: initializer element for `gSpeciesInfo[873].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4432: initializer element for `gSpeciesInfo[873].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4434: initializer element for `gSpeciesInfo[873].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4437: initializer element for `gSpeciesInfo[873].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4444: initializer element for `gSpeciesInfo[873].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4466: initializer element for `gSpeciesInfo[873]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4478: initializer element for `gSpeciesInfo[874].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4486: initializer element for `gSpeciesInfo[874].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4487: initializer element for `gSpeciesInfo[874].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4489: initializer element for `gSpeciesInfo[874].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4492: initializer element for `gSpeciesInfo[874].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4499: initializer element for `gSpeciesInfo[874].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4520: initializer element for `gSpeciesInfo[874]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4532: initializer element for `gSpeciesInfo[875].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4540: initializer element for `gSpeciesInfo[875].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4541: initializer element for `gSpeciesInfo[875].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4543: initializer element for `gSpeciesInfo[875].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4546: initializer element for `gSpeciesInfo[875].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4553: initializer element for `gSpeciesInfo[875].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4576: initializer element for `gSpeciesInfo[875]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4586: initializer element for `gSpeciesInfo[1224].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4594: initializer element for `gSpeciesInfo[1224].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4595: initializer element for `gSpeciesInfo[1224].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4597: initializer element for `gSpeciesInfo[1224].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4600: initializer element for `gSpeciesInfo[1224].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4607: initializer element for `gSpeciesInfo[1224].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4630: initializer element for `gSpeciesInfo[1224]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4642: initializer element for `gSpeciesInfo[876].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4650: initializer element for `gSpeciesInfo[876].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4651: initializer element for `gSpeciesInfo[876].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4653: initializer element for `gSpeciesInfo[876].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4656: initializer element for `gSpeciesInfo[876].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4663: initializer element for `gSpeciesInfo[876].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4685: initializer element for `gSpeciesInfo[876]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4695: initializer element for `gSpeciesInfo[1225].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4703: initializer element for `gSpeciesInfo[1225].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4704: initializer element for `gSpeciesInfo[1225].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4706: initializer element for `gSpeciesInfo[1225].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4709: initializer element for `gSpeciesInfo[1225].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4716: initializer element for `gSpeciesInfo[1225].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4738: initializer element for `gSpeciesInfo[1225]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4750: initializer element for `gSpeciesInfo[877].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4758: initializer element for `gSpeciesInfo[877].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4759: initializer element for `gSpeciesInfo[877].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4761: initializer element for `gSpeciesInfo[877].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4764: initializer element for `gSpeciesInfo[877].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4771: initializer element for `gSpeciesInfo[877].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4794: initializer element for `gSpeciesInfo[877]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4804: initializer element for `gSpeciesInfo[1226].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4812: initializer element for `gSpeciesInfo[1226].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4813: initializer element for `gSpeciesInfo[1226].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4815: initializer element for `gSpeciesInfo[1226].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4818: initializer element for `gSpeciesInfo[1226].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4825: initializer element for `gSpeciesInfo[1226].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4848: initializer element for `gSpeciesInfo[1226]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4860: initializer element for `gSpeciesInfo[878].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4869: initializer element for `gSpeciesInfo[878].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4870: initializer element for `gSpeciesInfo[878].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4872: initializer element for `gSpeciesInfo[878].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4875: initializer element for `gSpeciesInfo[878].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4882: initializer element for `gSpeciesInfo[878].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4903: initializer element for `gSpeciesInfo[878].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4904: initializer element for `gSpeciesInfo[878]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4914: initializer element for `gSpeciesInfo[879].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4923: initializer element for `gSpeciesInfo[879].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4924: initializer element for `gSpeciesInfo[879].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4926: initializer element for `gSpeciesInfo[879].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4929: initializer element for `gSpeciesInfo[879].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4935: initializer element for `gSpeciesInfo[879].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4958: initializer element for `gSpeciesInfo[879]' is not constant -src/data/pokemon/species_info/gen_8_families.h:4969: initializer element for `gSpeciesInfo[1519].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:4978: initializer element for `gSpeciesInfo[1519].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:4979: initializer element for `gSpeciesInfo[1519].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:4981: initializer element for `gSpeciesInfo[1519].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4984: initializer element for `gSpeciesInfo[1519].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:4991: initializer element for `gSpeciesInfo[1519].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5015: initializer element for `gSpeciesInfo[1519]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5028: initializer element for `gSpeciesInfo[880].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5036: initializer element for `gSpeciesInfo[880].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5037: initializer element for `gSpeciesInfo[880].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5039: initializer element for `gSpeciesInfo[880].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5042: initializer element for `gSpeciesInfo[880].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5049: initializer element for `gSpeciesInfo[880].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5070: initializer element for `gSpeciesInfo[880]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5082: initializer element for `gSpeciesInfo[881].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5090: initializer element for `gSpeciesInfo[881].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5091: initializer element for `gSpeciesInfo[881].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5093: initializer element for `gSpeciesInfo[881].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5096: initializer element for `gSpeciesInfo[881].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5102: initializer element for `gSpeciesInfo[881].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5123: initializer element for `gSpeciesInfo[881]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5135: initializer element for `gSpeciesInfo[882].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5143: initializer element for `gSpeciesInfo[882].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5144: initializer element for `gSpeciesInfo[882].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5146: initializer element for `gSpeciesInfo[882].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5149: initializer element for `gSpeciesInfo[882].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5156: initializer element for `gSpeciesInfo[882].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5177: initializer element for `gSpeciesInfo[882]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5189: initializer element for `gSpeciesInfo[883].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5197: initializer element for `gSpeciesInfo[883].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5198: initializer element for `gSpeciesInfo[883].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5200: initializer element for `gSpeciesInfo[883].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5203: initializer element for `gSpeciesInfo[883].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5210: initializer element for `gSpeciesInfo[883].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5231: initializer element for `gSpeciesInfo[883]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5243: initializer element for `gSpeciesInfo[884].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5251: initializer element for `gSpeciesInfo[884].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5252: initializer element for `gSpeciesInfo[884].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5254: initializer element for `gSpeciesInfo[884].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5257: initializer element for `gSpeciesInfo[884].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5263: initializer element for `gSpeciesInfo[884].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5286: initializer element for `gSpeciesInfo[884].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5287: initializer element for `gSpeciesInfo[884]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5298: initializer element for `gSpeciesInfo[1520].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5306: initializer element for `gSpeciesInfo[1520].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5307: initializer element for `gSpeciesInfo[1520].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5309: initializer element for `gSpeciesInfo[1520].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5312: initializer element for `gSpeciesInfo[1520].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5319: initializer element for `gSpeciesInfo[1520].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5343: initializer element for `gSpeciesInfo[1520]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5355: initializer element for `gSpeciesInfo[1425].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5363: initializer element for `gSpeciesInfo[1425].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5364: initializer element for `gSpeciesInfo[1425].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5366: initializer element for `gSpeciesInfo[1425].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5369: initializer element for `gSpeciesInfo[1425].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5376: initializer element for `gSpeciesInfo[1425].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5396: `sArchaludonTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_8_families.h:5396: initializer element for `gSpeciesInfo[1425].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5397: initializer element for `gSpeciesInfo[1425]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5410: initializer element for `gSpeciesInfo[885].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5418: initializer element for `gSpeciesInfo[885].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5419: initializer element for `gSpeciesInfo[885].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5421: initializer element for `gSpeciesInfo[885].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5424: initializer element for `gSpeciesInfo[885].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5431: initializer element for `gSpeciesInfo[885].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5453: initializer element for `gSpeciesInfo[885].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5454: initializer element for `gSpeciesInfo[885]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5464: initializer element for `gSpeciesInfo[886].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5472: initializer element for `gSpeciesInfo[886].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5473: initializer element for `gSpeciesInfo[886].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5475: initializer element for `gSpeciesInfo[886].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5478: initializer element for `gSpeciesInfo[886].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5484: initializer element for `gSpeciesInfo[886].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5506: initializer element for `gSpeciesInfo[886].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5507: initializer element for `gSpeciesInfo[886]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5517: initializer element for `gSpeciesInfo[887].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5525: initializer element for `gSpeciesInfo[887].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5526: initializer element for `gSpeciesInfo[887].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5528: initializer element for `gSpeciesInfo[887].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5531: initializer element for `gSpeciesInfo[887].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5538: initializer element for `gSpeciesInfo[887].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5560: initializer element for `gSpeciesInfo[887]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5572: initializer element for `gSpeciesInfo[888].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5580: initializer element for `gSpeciesInfo[888].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5581: initializer element for `gSpeciesInfo[888].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5583: initializer element for `gSpeciesInfo[888].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5586: initializer element for `gSpeciesInfo[888].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5592: initializer element for `gSpeciesInfo[888].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5616: initializer element for `gSpeciesInfo[888]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5626: initializer element for `gSpeciesInfo[1227].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5634: initializer element for `gSpeciesInfo[1227].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5635: initializer element for `gSpeciesInfo[1227].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5637: initializer element for `gSpeciesInfo[1227].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5640: initializer element for `gSpeciesInfo[1227].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5647: initializer element for `gSpeciesInfo[1227].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5671: initializer element for `gSpeciesInfo[1227]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5683: initializer element for `gSpeciesInfo[889].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5691: initializer element for `gSpeciesInfo[889].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5692: initializer element for `gSpeciesInfo[889].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5694: initializer element for `gSpeciesInfo[889].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5697: initializer element for `gSpeciesInfo[889].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5704: initializer element for `gSpeciesInfo[889].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5728: initializer element for `gSpeciesInfo[889]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5738: initializer element for `gSpeciesInfo[1228].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5746: initializer element for `gSpeciesInfo[1228].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5747: initializer element for `gSpeciesInfo[1228].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5749: initializer element for `gSpeciesInfo[1228].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5752: initializer element for `gSpeciesInfo[1228].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5759: initializer element for `gSpeciesInfo[1228].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5783: initializer element for `gSpeciesInfo[1228]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5795: initializer element for `gSpeciesInfo[890].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5803: initializer element for `gSpeciesInfo[890].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5804: initializer element for `gSpeciesInfo[890].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5806: initializer element for `gSpeciesInfo[890].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5809: initializer element for `gSpeciesInfo[890].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5816: initializer element for `gSpeciesInfo[890].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5840: initializer element for `gSpeciesInfo[890]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5850: initializer element for `gSpeciesInfo[1229].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5858: initializer element for `gSpeciesInfo[1229].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5859: initializer element for `gSpeciesInfo[1229].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5861: initializer element for `gSpeciesInfo[1229].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5864: initializer element for `gSpeciesInfo[1229].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5871: initializer element for `gSpeciesInfo[1229].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5895: initializer element for `gSpeciesInfo[1229]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5907: initializer element for `gSpeciesInfo[891].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5915: initializer element for `gSpeciesInfo[891].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5916: initializer element for `gSpeciesInfo[891].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5918: initializer element for `gSpeciesInfo[891].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5921: initializer element for `gSpeciesInfo[891].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5927: initializer element for `gSpeciesInfo[891].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:5952: initializer element for `gSpeciesInfo[891].evolutions' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5953: initializer element for `gSpeciesInfo[891]' is not constant -src/data/pokemon/species_info/gen_8_families.h:5963: initializer element for `gSpeciesInfo[892].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:5971: initializer element for `gSpeciesInfo[892].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:5972: initializer element for `gSpeciesInfo[892].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:5974: initializer element for `gSpeciesInfo[892].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5977: initializer element for `gSpeciesInfo[892].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:5984: initializer element for `gSpeciesInfo[892].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6008: initializer element for `gSpeciesInfo[892]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6019: initializer element for `gSpeciesInfo[1521].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6027: initializer element for `gSpeciesInfo[1521].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6028: initializer element for `gSpeciesInfo[1521].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6030: initializer element for `gSpeciesInfo[1521].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6033: initializer element for `gSpeciesInfo[1521].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6040: initializer element for `gSpeciesInfo[1521].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6064: initializer element for `gSpeciesInfo[1521]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6075: initializer element for `gSpeciesInfo[1230].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6083: initializer element for `gSpeciesInfo[1230].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6084: initializer element for `gSpeciesInfo[1230].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6086: initializer element for `gSpeciesInfo[1230].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6089: initializer element for `gSpeciesInfo[1230].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6096: initializer element for `gSpeciesInfo[1230].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6120: initializer element for `gSpeciesInfo[1230]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6131: initializer element for `gSpeciesInfo[1522].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6139: initializer element for `gSpeciesInfo[1522].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6140: initializer element for `gSpeciesInfo[1522].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6142: initializer element for `gSpeciesInfo[1522].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6145: initializer element for `gSpeciesInfo[1522].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6152: initializer element for `gSpeciesInfo[1522].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6176: initializer element for `gSpeciesInfo[1522]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6190: initializer element for `gSpeciesInfo[893].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6198: initializer element for `gSpeciesInfo[893].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6199: initializer element for `gSpeciesInfo[893].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6201: initializer element for `gSpeciesInfo[893].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6204: initializer element for `gSpeciesInfo[893].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6211: initializer element for `gSpeciesInfo[893].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6234: initializer element for `gSpeciesInfo[893]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6243: initializer element for `gSpeciesInfo[1231].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6251: initializer element for `gSpeciesInfo[1231].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6252: initializer element for `gSpeciesInfo[1231].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6254: initializer element for `gSpeciesInfo[1231].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6257: initializer element for `gSpeciesInfo[1231].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6264: initializer element for `gSpeciesInfo[1231].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6287: initializer element for `gSpeciesInfo[1231]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6299: initializer element for `gSpeciesInfo[894].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6307: initializer element for `gSpeciesInfo[894].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6308: initializer element for `gSpeciesInfo[894].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6310: initializer element for `gSpeciesInfo[894].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6313: initializer element for `gSpeciesInfo[894].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6320: initializer element for `gSpeciesInfo[894].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6343: initializer element for `gSpeciesInfo[894]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6355: initializer element for `gSpeciesInfo[895].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6363: initializer element for `gSpeciesInfo[895].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6364: initializer element for `gSpeciesInfo[895].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6366: initializer element for `gSpeciesInfo[895].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6369: initializer element for `gSpeciesInfo[895].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6376: initializer element for `gSpeciesInfo[895].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6399: initializer element for `gSpeciesInfo[895]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6411: initializer element for `gSpeciesInfo[896].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6419: initializer element for `gSpeciesInfo[896].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6420: initializer element for `gSpeciesInfo[896].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6422: initializer element for `gSpeciesInfo[896].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6425: initializer element for `gSpeciesInfo[896].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6431: initializer element for `gSpeciesInfo[896].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6453: initializer element for `gSpeciesInfo[896]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6465: initializer element for `gSpeciesInfo[897].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6473: initializer element for `gSpeciesInfo[897].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6474: initializer element for `gSpeciesInfo[897].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6476: initializer element for `gSpeciesInfo[897].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6479: initializer element for `gSpeciesInfo[897].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6486: initializer element for `gSpeciesInfo[897].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6508: initializer element for `gSpeciesInfo[897]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6520: initializer element for `gSpeciesInfo[898].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6528: initializer element for `gSpeciesInfo[898].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6529: initializer element for `gSpeciesInfo[898].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6531: initializer element for `gSpeciesInfo[898].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6534: initializer element for `gSpeciesInfo[898].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6541: initializer element for `gSpeciesInfo[898].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6564: initializer element for `gSpeciesInfo[898]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6575: initializer element for `gSpeciesInfo[1232].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6583: initializer element for `gSpeciesInfo[1232].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6584: initializer element for `gSpeciesInfo[1232].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6586: initializer element for `gSpeciesInfo[1232].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6589: initializer element for `gSpeciesInfo[1232].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6596: initializer element for `gSpeciesInfo[1232].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6620: initializer element for `gSpeciesInfo[1232]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6630: initializer element for `gSpeciesInfo[1233].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6638: initializer element for `gSpeciesInfo[1233].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6639: initializer element for `gSpeciesInfo[1233].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6641: initializer element for `gSpeciesInfo[1233].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6644: initializer element for `gSpeciesInfo[1233].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6651: initializer element for `gSpeciesInfo[1233].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6675: initializer element for `gSpeciesInfo[1233]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6688: initializer element for `gSpeciesInfo[905].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6696: initializer element for `gSpeciesInfo[905].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6697: initializer element for `gSpeciesInfo[905].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6699: initializer element for `gSpeciesInfo[905].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6702: initializer element for `gSpeciesInfo[905].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6709: initializer element for `gSpeciesInfo[905].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6733: initializer element for `gSpeciesInfo[905]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6743: initializer element for `gSpeciesInfo[1103].types' is not constant -src/data/pokemon/species_info/gen_8_families.h:6751: initializer element for `gSpeciesInfo[1103].eggGroups' is not constant -src/data/pokemon/species_info/gen_8_families.h:6752: initializer element for `gSpeciesInfo[1103].abilities' is not constant -src/data/pokemon/species_info/gen_8_families.h:6754: initializer element for `gSpeciesInfo[1103].speciesName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6757: initializer element for `gSpeciesInfo[1103].categoryName' is not constant -src/data/pokemon/species_info/gen_8_families.h:6764: initializer element for `gSpeciesInfo[1103].description' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -src/data/pokemon/species_info/gen_8_families.h:6787: initializer element for `gSpeciesInfo[1103]' is not constant -In file included from src/data/pokemon/species_info.h:68, - from src/pokemon.c:683: -src/data/pokemon/species_info/gen_9_families.h:15: initializer element for `gSpeciesInfo[1289].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:23: initializer element for `gSpeciesInfo[1289].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:24: initializer element for `gSpeciesInfo[1289].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:26: initializer element for `gSpeciesInfo[1289].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:29: initializer element for `gSpeciesInfo[1289].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:36: initializer element for `gSpeciesInfo[1289].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:57: initializer element for `gSpeciesInfo[1289].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:58: initializer element for `gSpeciesInfo[1289]' is not constant -src/data/pokemon/species_info/gen_9_families.h:68: initializer element for `gSpeciesInfo[1290].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:76: initializer element for `gSpeciesInfo[1290].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:77: initializer element for `gSpeciesInfo[1290].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:79: initializer element for `gSpeciesInfo[1290].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:82: initializer element for `gSpeciesInfo[1290].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:89: initializer element for `gSpeciesInfo[1290].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:110: initializer element for `gSpeciesInfo[1290].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:111: initializer element for `gSpeciesInfo[1290]' is not constant -src/data/pokemon/species_info/gen_9_families.h:121: initializer element for `gSpeciesInfo[1291].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:129: initializer element for `gSpeciesInfo[1291].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:130: initializer element for `gSpeciesInfo[1291].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:132: initializer element for `gSpeciesInfo[1291].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:135: initializer element for `gSpeciesInfo[1291].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:142: initializer element for `gSpeciesInfo[1291].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:163: initializer element for `gSpeciesInfo[1291]' is not constant -src/data/pokemon/species_info/gen_9_families.h:175: initializer element for `gSpeciesInfo[1292].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:183: initializer element for `gSpeciesInfo[1292].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:184: initializer element for `gSpeciesInfo[1292].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:186: initializer element for `gSpeciesInfo[1292].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:189: initializer element for `gSpeciesInfo[1292].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:196: initializer element for `gSpeciesInfo[1292].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:217: initializer element for `gSpeciesInfo[1292].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:218: initializer element for `gSpeciesInfo[1292]' is not constant -src/data/pokemon/species_info/gen_9_families.h:228: initializer element for `gSpeciesInfo[1293].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:236: initializer element for `gSpeciesInfo[1293].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:237: initializer element for `gSpeciesInfo[1293].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:239: initializer element for `gSpeciesInfo[1293].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:242: initializer element for `gSpeciesInfo[1293].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:249: initializer element for `gSpeciesInfo[1293].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:270: initializer element for `gSpeciesInfo[1293].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:271: initializer element for `gSpeciesInfo[1293]' is not constant -src/data/pokemon/species_info/gen_9_families.h:281: initializer element for `gSpeciesInfo[1294].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:289: initializer element for `gSpeciesInfo[1294].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:290: initializer element for `gSpeciesInfo[1294].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:292: initializer element for `gSpeciesInfo[1294].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:295: initializer element for `gSpeciesInfo[1294].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:302: initializer element for `gSpeciesInfo[1294].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:323: initializer element for `gSpeciesInfo[1294]' is not constant -src/data/pokemon/species_info/gen_9_families.h:335: initializer element for `gSpeciesInfo[1295].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:343: initializer element for `gSpeciesInfo[1295].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:344: initializer element for `gSpeciesInfo[1295].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:346: initializer element for `gSpeciesInfo[1295].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:349: initializer element for `gSpeciesInfo[1295].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:356: initializer element for `gSpeciesInfo[1295].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:377: initializer element for `gSpeciesInfo[1295].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:378: initializer element for `gSpeciesInfo[1295]' is not constant -src/data/pokemon/species_info/gen_9_families.h:388: initializer element for `gSpeciesInfo[1296].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:396: initializer element for `gSpeciesInfo[1296].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:397: initializer element for `gSpeciesInfo[1296].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:399: initializer element for `gSpeciesInfo[1296].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:402: initializer element for `gSpeciesInfo[1296].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:409: initializer element for `gSpeciesInfo[1296].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:430: initializer element for `gSpeciesInfo[1296].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:431: initializer element for `gSpeciesInfo[1296]' is not constant -src/data/pokemon/species_info/gen_9_families.h:441: initializer element for `gSpeciesInfo[1297].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:449: initializer element for `gSpeciesInfo[1297].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:450: initializer element for `gSpeciesInfo[1297].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:452: initializer element for `gSpeciesInfo[1297].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:455: initializer element for `gSpeciesInfo[1297].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:462: initializer element for `gSpeciesInfo[1297].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:483: initializer element for `gSpeciesInfo[1297]' is not constant -src/data/pokemon/species_info/gen_9_families.h:495: initializer element for `gSpeciesInfo[1298].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:503: initializer element for `gSpeciesInfo[1298].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:504: initializer element for `gSpeciesInfo[1298].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:506: initializer element for `gSpeciesInfo[1298].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:509: initializer element for `gSpeciesInfo[1298].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:516: initializer element for `gSpeciesInfo[1298].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:538: initializer element for `gSpeciesInfo[1298].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:539: initializer element for `gSpeciesInfo[1298]' is not constant -src/data/pokemon/species_info/gen_9_families.h:549: initializer element for `gSpeciesInfo[1299].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:557: initializer element for `gSpeciesInfo[1299].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:558: initializer element for `gSpeciesInfo[1299].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:560: initializer element for `gSpeciesInfo[1299].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:563: initializer element for `gSpeciesInfo[1299].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:569: initializer element for `gSpeciesInfo[1299].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:591: initializer element for `gSpeciesInfo[1299]' is not constant -src/data/pokemon/species_info/gen_9_families.h:601: initializer element for `gSpeciesInfo[1300].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:609: initializer element for `gSpeciesInfo[1300].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:610: initializer element for `gSpeciesInfo[1300].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:612: initializer element for `gSpeciesInfo[1300].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:615: initializer element for `gSpeciesInfo[1300].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:622: initializer element for `gSpeciesInfo[1300].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:644: initializer element for `gSpeciesInfo[1300]' is not constant -src/data/pokemon/species_info/gen_9_families.h:656: initializer element for `gSpeciesInfo[1301].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:664: initializer element for `gSpeciesInfo[1301].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:665: initializer element for `gSpeciesInfo[1301].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:667: initializer element for `gSpeciesInfo[1301].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:670: initializer element for `gSpeciesInfo[1301].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:677: initializer element for `gSpeciesInfo[1301].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:698: initializer element for `gSpeciesInfo[1301].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:699: initializer element for `gSpeciesInfo[1301]' is not constant -src/data/pokemon/species_info/gen_9_families.h:709: initializer element for `gSpeciesInfo[1302].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:717: initializer element for `gSpeciesInfo[1302].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:718: initializer element for `gSpeciesInfo[1302].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:720: initializer element for `gSpeciesInfo[1302].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:723: initializer element for `gSpeciesInfo[1302].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:730: initializer element for `gSpeciesInfo[1302].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:751: initializer element for `gSpeciesInfo[1302]' is not constant -src/data/pokemon/species_info/gen_9_families.h:763: initializer element for `gSpeciesInfo[1303].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:771: initializer element for `gSpeciesInfo[1303].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:772: initializer element for `gSpeciesInfo[1303].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:774: initializer element for `gSpeciesInfo[1303].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:777: initializer element for `gSpeciesInfo[1303].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:784: initializer element for `gSpeciesInfo[1303].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:805: initializer element for `gSpeciesInfo[1303].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:806: initializer element for `gSpeciesInfo[1303]' is not constant -src/data/pokemon/species_info/gen_9_families.h:816: initializer element for `gSpeciesInfo[1304].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:824: initializer element for `gSpeciesInfo[1304].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:825: initializer element for `gSpeciesInfo[1304].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:827: initializer element for `gSpeciesInfo[1304].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:830: initializer element for `gSpeciesInfo[1304].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:837: initializer element for `gSpeciesInfo[1304].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:858: initializer element for `gSpeciesInfo[1304]' is not constant -src/data/pokemon/species_info/gen_9_families.h:870: initializer element for `gSpeciesInfo[1305].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:878: initializer element for `gSpeciesInfo[1305].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:879: initializer element for `gSpeciesInfo[1305].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:881: initializer element for `gSpeciesInfo[1305].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:884: initializer element for `gSpeciesInfo[1305].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:891: initializer element for `gSpeciesInfo[1305].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:912: initializer element for `gSpeciesInfo[1305].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:913: initializer element for `gSpeciesInfo[1305]' is not constant -src/data/pokemon/species_info/gen_9_families.h:923: initializer element for `gSpeciesInfo[1306].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:931: initializer element for `gSpeciesInfo[1306].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:932: initializer element for `gSpeciesInfo[1306].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:934: initializer element for `gSpeciesInfo[1306].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:937: initializer element for `gSpeciesInfo[1306].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:944: initializer element for `gSpeciesInfo[1306].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:965: initializer element for `gSpeciesInfo[1306].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:966: initializer element for `gSpeciesInfo[1306]' is not constant -src/data/pokemon/species_info/gen_9_families.h:976: initializer element for `gSpeciesInfo[1307].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:984: initializer element for `gSpeciesInfo[1307].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:985: initializer element for `gSpeciesInfo[1307].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:987: initializer element for `gSpeciesInfo[1307].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:990: initializer element for `gSpeciesInfo[1307].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:997: initializer element for `gSpeciesInfo[1307].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1018: initializer element for `gSpeciesInfo[1307]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1030: initializer element for `gSpeciesInfo[1308].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1038: initializer element for `gSpeciesInfo[1308].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1039: initializer element for `gSpeciesInfo[1308].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1041: initializer element for `gSpeciesInfo[1308].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1044: initializer element for `gSpeciesInfo[1308].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1051: initializer element for `gSpeciesInfo[1308].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1073: initializer element for `gSpeciesInfo[1308].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1074: initializer element for `gSpeciesInfo[1308]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1084: initializer element for `gSpeciesInfo[1309].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1092: initializer element for `gSpeciesInfo[1309].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1093: initializer element for `gSpeciesInfo[1309].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1095: initializer element for `gSpeciesInfo[1309].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1098: initializer element for `gSpeciesInfo[1309].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1105: initializer element for `gSpeciesInfo[1309].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1127: initializer element for `gSpeciesInfo[1309]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1136: initializer element for `gSpeciesInfo[1310].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1144: initializer element for `gSpeciesInfo[1310].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1145: initializer element for `gSpeciesInfo[1310].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1147: initializer element for `gSpeciesInfo[1310].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1150: initializer element for `gSpeciesInfo[1310].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1157: initializer element for `gSpeciesInfo[1310].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1179: initializer element for `gSpeciesInfo[1310]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1191: initializer element for `gSpeciesInfo[1311].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1199: initializer element for `gSpeciesInfo[1311].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1200: initializer element for `gSpeciesInfo[1311].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1202: initializer element for `gSpeciesInfo[1311].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1205: initializer element for `gSpeciesInfo[1311].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1212: initializer element for `gSpeciesInfo[1311].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1233: initializer element for `gSpeciesInfo[1311].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1234: initializer element for `gSpeciesInfo[1311]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1244: initializer element for `gSpeciesInfo[1312].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1252: initializer element for `gSpeciesInfo[1312].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1253: initializer element for `gSpeciesInfo[1312].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1255: initializer element for `gSpeciesInfo[1312].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1258: initializer element for `gSpeciesInfo[1312].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1265: initializer element for `gSpeciesInfo[1312].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1286: initializer element for `gSpeciesInfo[1312]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1298: initializer element for `gSpeciesInfo[1313].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1306: initializer element for `gSpeciesInfo[1313].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1307: initializer element for `gSpeciesInfo[1313].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1309: initializer element for `gSpeciesInfo[1313].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1312: initializer element for `gSpeciesInfo[1313].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1319: initializer element for `gSpeciesInfo[1313].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1340: initializer element for `gSpeciesInfo[1313].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1341: initializer element for `gSpeciesInfo[1313]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1351: initializer element for `gSpeciesInfo[1314].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1359: initializer element for `gSpeciesInfo[1314].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1360: initializer element for `gSpeciesInfo[1314].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1362: initializer element for `gSpeciesInfo[1314].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1365: initializer element for `gSpeciesInfo[1314].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1372: initializer element for `gSpeciesInfo[1314].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1393: initializer element for `gSpeciesInfo[1314].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1394: initializer element for `gSpeciesInfo[1314]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1404: initializer element for `gSpeciesInfo[1315].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1412: initializer element for `gSpeciesInfo[1315].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1413: initializer element for `gSpeciesInfo[1315].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1415: initializer element for `gSpeciesInfo[1315].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1418: initializer element for `gSpeciesInfo[1315].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1425: initializer element for `gSpeciesInfo[1315].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1446: initializer element for `gSpeciesInfo[1315]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1458: initializer element for `gSpeciesInfo[1316].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1466: initializer element for `gSpeciesInfo[1316].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1467: initializer element for `gSpeciesInfo[1316].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1469: initializer element for `gSpeciesInfo[1316].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1472: initializer element for `gSpeciesInfo[1316].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1479: initializer element for `gSpeciesInfo[1316].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1501: initializer element for `gSpeciesInfo[1316]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1511: initializer element for `gSpeciesInfo[1317].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1519: initializer element for `gSpeciesInfo[1317].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1520: initializer element for `gSpeciesInfo[1317].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1522: initializer element for `gSpeciesInfo[1317].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1525: initializer element for `gSpeciesInfo[1317].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1532: initializer element for `gSpeciesInfo[1317].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1554: initializer element for `gSpeciesInfo[1317]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1564: initializer element for `gSpeciesInfo[1318].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1572: initializer element for `gSpeciesInfo[1318].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1573: initializer element for `gSpeciesInfo[1318].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1575: initializer element for `gSpeciesInfo[1318].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1578: initializer element for `gSpeciesInfo[1318].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1585: initializer element for `gSpeciesInfo[1318].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1607: initializer element for `gSpeciesInfo[1318]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1617: initializer element for `gSpeciesInfo[1319].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1625: initializer element for `gSpeciesInfo[1319].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1626: initializer element for `gSpeciesInfo[1319].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1628: initializer element for `gSpeciesInfo[1319].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1631: initializer element for `gSpeciesInfo[1319].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1638: initializer element for `gSpeciesInfo[1319].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1660: initializer element for `gSpeciesInfo[1319]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1672: initializer element for `gSpeciesInfo[1320].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1680: initializer element for `gSpeciesInfo[1320].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1681: initializer element for `gSpeciesInfo[1320].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1683: initializer element for `gSpeciesInfo[1320].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1686: initializer element for `gSpeciesInfo[1320].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1693: initializer element for `gSpeciesInfo[1320].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1714: initializer element for `gSpeciesInfo[1320].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1715: initializer element for `gSpeciesInfo[1320]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1725: initializer element for `gSpeciesInfo[1321].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1733: initializer element for `gSpeciesInfo[1321].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1734: initializer element for `gSpeciesInfo[1321].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1736: initializer element for `gSpeciesInfo[1321].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1739: initializer element for `gSpeciesInfo[1321].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1746: initializer element for `gSpeciesInfo[1321].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1767: initializer element for `gSpeciesInfo[1321].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1768: initializer element for `gSpeciesInfo[1321]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1778: initializer element for `gSpeciesInfo[1322].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1786: initializer element for `gSpeciesInfo[1322].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1787: initializer element for `gSpeciesInfo[1322].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1789: initializer element for `gSpeciesInfo[1322].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1792: initializer element for `gSpeciesInfo[1322].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1799: initializer element for `gSpeciesInfo[1322].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1820: initializer element for `gSpeciesInfo[1322]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1832: initializer element for `gSpeciesInfo[1323].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1840: initializer element for `gSpeciesInfo[1323].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1841: initializer element for `gSpeciesInfo[1323].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1843: initializer element for `gSpeciesInfo[1323].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1846: initializer element for `gSpeciesInfo[1323].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1853: initializer element for `gSpeciesInfo[1323].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1875: initializer element for `gSpeciesInfo[1323].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1876: initializer element for `gSpeciesInfo[1323]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1886: initializer element for `gSpeciesInfo[1324].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1894: initializer element for `gSpeciesInfo[1324].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1895: initializer element for `gSpeciesInfo[1324].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1897: initializer element for `gSpeciesInfo[1324].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1900: initializer element for `gSpeciesInfo[1324].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1907: initializer element for `gSpeciesInfo[1324].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1928: initializer element for `gSpeciesInfo[1324]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1938: initializer element for `gSpeciesInfo[1325].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:1946: initializer element for `gSpeciesInfo[1325].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:1947: initializer element for `gSpeciesInfo[1325].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:1949: initializer element for `gSpeciesInfo[1325].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1952: initializer element for `gSpeciesInfo[1325].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:1959: initializer element for `gSpeciesInfo[1325].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1980: initializer element for `gSpeciesInfo[1325]' is not constant -src/data/pokemon/species_info/gen_9_families.h:1992: initializer element for `gSpeciesInfo[1326].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2000: initializer element for `gSpeciesInfo[1326].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2001: initializer element for `gSpeciesInfo[1326].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2003: initializer element for `gSpeciesInfo[1326].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2006: initializer element for `gSpeciesInfo[1326].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2013: initializer element for `gSpeciesInfo[1326].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2035: initializer element for `gSpeciesInfo[1326].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2036: initializer element for `gSpeciesInfo[1326]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2046: initializer element for `gSpeciesInfo[1327].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2054: initializer element for `gSpeciesInfo[1327].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2055: initializer element for `gSpeciesInfo[1327].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2057: initializer element for `gSpeciesInfo[1327].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2060: initializer element for `gSpeciesInfo[1327].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2067: initializer element for `gSpeciesInfo[1327].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2088: initializer element for `gSpeciesInfo[1327]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2100: initializer element for `gSpeciesInfo[1328].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2108: initializer element for `gSpeciesInfo[1328].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2109: initializer element for `gSpeciesInfo[1328].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2111: initializer element for `gSpeciesInfo[1328].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2114: initializer element for `gSpeciesInfo[1328].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2121: initializer element for `gSpeciesInfo[1328].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2142: initializer element for `gSpeciesInfo[1328].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2143: initializer element for `gSpeciesInfo[1328]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2153: initializer element for `gSpeciesInfo[1329].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2161: initializer element for `gSpeciesInfo[1329].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2162: initializer element for `gSpeciesInfo[1329].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2164: initializer element for `gSpeciesInfo[1329].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2167: initializer element for `gSpeciesInfo[1329].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2174: initializer element for `gSpeciesInfo[1329].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2195: initializer element for `gSpeciesInfo[1329]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2207: initializer element for `gSpeciesInfo[1330].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2215: initializer element for `gSpeciesInfo[1330].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2216: initializer element for `gSpeciesInfo[1330].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2218: initializer element for `gSpeciesInfo[1330].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2221: initializer element for `gSpeciesInfo[1330].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2228: initializer element for `gSpeciesInfo[1330].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2249: initializer element for `gSpeciesInfo[1330].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2250: initializer element for `gSpeciesInfo[1330]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2260: initializer element for `gSpeciesInfo[1331].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2268: initializer element for `gSpeciesInfo[1331].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2269: initializer element for `gSpeciesInfo[1331].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2271: initializer element for `gSpeciesInfo[1331].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2274: initializer element for `gSpeciesInfo[1331].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2281: initializer element for `gSpeciesInfo[1331].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2302: initializer element for `gSpeciesInfo[1331]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2314: initializer element for `gSpeciesInfo[1332].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2322: initializer element for `gSpeciesInfo[1332].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2323: initializer element for `gSpeciesInfo[1332].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2325: initializer element for `gSpeciesInfo[1332].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2328: initializer element for `gSpeciesInfo[1332].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2335: initializer element for `gSpeciesInfo[1332].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2356: initializer element for `gSpeciesInfo[1332].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2357: initializer element for `gSpeciesInfo[1332]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2367: initializer element for `gSpeciesInfo[1333].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2375: initializer element for `gSpeciesInfo[1333].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2376: initializer element for `gSpeciesInfo[1333].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2378: initializer element for `gSpeciesInfo[1333].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2381: initializer element for `gSpeciesInfo[1333].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2388: initializer element for `gSpeciesInfo[1333].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2409: initializer element for `gSpeciesInfo[1333]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2421: initializer element for `gSpeciesInfo[1334].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2429: initializer element for `gSpeciesInfo[1334].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2430: initializer element for `gSpeciesInfo[1334].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2432: initializer element for `gSpeciesInfo[1334].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2435: initializer element for `gSpeciesInfo[1334].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2442: initializer element for `gSpeciesInfo[1334].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2463: initializer element for `gSpeciesInfo[1334].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2464: initializer element for `gSpeciesInfo[1334]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2474: initializer element for `gSpeciesInfo[1335].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2482: initializer element for `gSpeciesInfo[1335].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2483: initializer element for `gSpeciesInfo[1335].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2485: initializer element for `gSpeciesInfo[1335].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2488: initializer element for `gSpeciesInfo[1335].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2495: initializer element for `gSpeciesInfo[1335].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2516: initializer element for `gSpeciesInfo[1335]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2528: initializer element for `gSpeciesInfo[1336].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2536: initializer element for `gSpeciesInfo[1336].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2537: initializer element for `gSpeciesInfo[1336].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2539: initializer element for `gSpeciesInfo[1336].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2542: initializer element for `gSpeciesInfo[1336].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2549: initializer element for `gSpeciesInfo[1336].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2570: initializer element for `gSpeciesInfo[1336].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2571: initializer element for `gSpeciesInfo[1336]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2581: initializer element for `gSpeciesInfo[1337].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2589: initializer element for `gSpeciesInfo[1337].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2590: initializer element for `gSpeciesInfo[1337].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2592: initializer element for `gSpeciesInfo[1337].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2595: initializer element for `gSpeciesInfo[1337].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2602: initializer element for `gSpeciesInfo[1337].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2623: initializer element for `gSpeciesInfo[1337]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2635: initializer element for `gSpeciesInfo[1338].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2643: initializer element for `gSpeciesInfo[1338].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2644: initializer element for `gSpeciesInfo[1338].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2646: initializer element for `gSpeciesInfo[1338].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2649: initializer element for `gSpeciesInfo[1338].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2656: initializer element for `gSpeciesInfo[1338].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2677: initializer element for `gSpeciesInfo[1338]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2689: initializer element for `gSpeciesInfo[1339].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2697: initializer element for `gSpeciesInfo[1339].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2698: initializer element for `gSpeciesInfo[1339].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2700: initializer element for `gSpeciesInfo[1339].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2703: initializer element for `gSpeciesInfo[1339].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2710: initializer element for `gSpeciesInfo[1339].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2731: initializer element for `gSpeciesInfo[1339].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2732: initializer element for `gSpeciesInfo[1339]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2742: initializer element for `gSpeciesInfo[1340].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2750: initializer element for `gSpeciesInfo[1340].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2751: initializer element for `gSpeciesInfo[1340].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2753: initializer element for `gSpeciesInfo[1340].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2756: initializer element for `gSpeciesInfo[1340].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2763: initializer element for `gSpeciesInfo[1340].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2784: initializer element for `gSpeciesInfo[1340]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2796: initializer element for `gSpeciesInfo[1341].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2804: initializer element for `gSpeciesInfo[1341].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2805: initializer element for `gSpeciesInfo[1341].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2807: initializer element for `gSpeciesInfo[1341].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2810: initializer element for `gSpeciesInfo[1341].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2817: initializer element for `gSpeciesInfo[1341].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2838: initializer element for `gSpeciesInfo[1341].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2839: initializer element for `gSpeciesInfo[1341]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2849: initializer element for `gSpeciesInfo[1342].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2857: initializer element for `gSpeciesInfo[1342].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2858: initializer element for `gSpeciesInfo[1342].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2860: initializer element for `gSpeciesInfo[1342].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2863: initializer element for `gSpeciesInfo[1342].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2870: initializer element for `gSpeciesInfo[1342].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2891: initializer element for `gSpeciesInfo[1342]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2903: initializer element for `gSpeciesInfo[1343].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2911: initializer element for `gSpeciesInfo[1343].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2912: initializer element for `gSpeciesInfo[1343].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2914: initializer element for `gSpeciesInfo[1343].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2917: initializer element for `gSpeciesInfo[1343].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2924: initializer element for `gSpeciesInfo[1343].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2945: initializer element for `gSpeciesInfo[1343].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2946: initializer element for `gSpeciesInfo[1343]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2956: initializer element for `gSpeciesInfo[1344].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:2964: initializer element for `gSpeciesInfo[1344].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:2965: initializer element for `gSpeciesInfo[1344].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:2967: initializer element for `gSpeciesInfo[1344].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2970: initializer element for `gSpeciesInfo[1344].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:2977: initializer element for `gSpeciesInfo[1344].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:2998: initializer element for `gSpeciesInfo[1344]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3010: initializer element for `gSpeciesInfo[1345].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3018: initializer element for `gSpeciesInfo[1345].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3019: initializer element for `gSpeciesInfo[1345].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3021: initializer element for `gSpeciesInfo[1345].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3024: initializer element for `gSpeciesInfo[1345].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3031: initializer element for `gSpeciesInfo[1345].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3052: initializer element for `gSpeciesInfo[1345].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3053: initializer element for `gSpeciesInfo[1345]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3063: initializer element for `gSpeciesInfo[1346].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3071: initializer element for `gSpeciesInfo[1346].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3072: initializer element for `gSpeciesInfo[1346].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3074: initializer element for `gSpeciesInfo[1346].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3077: initializer element for `gSpeciesInfo[1346].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3084: initializer element for `gSpeciesInfo[1346].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3105: initializer element for `gSpeciesInfo[1346].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3106: initializer element for `gSpeciesInfo[1346]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3116: initializer element for `gSpeciesInfo[1347].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3124: initializer element for `gSpeciesInfo[1347].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3125: initializer element for `gSpeciesInfo[1347].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3127: initializer element for `gSpeciesInfo[1347].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3130: initializer element for `gSpeciesInfo[1347].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3137: initializer element for `gSpeciesInfo[1347].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3158: initializer element for `gSpeciesInfo[1347]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3170: initializer element for `gSpeciesInfo[1348].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3178: initializer element for `gSpeciesInfo[1348].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3179: initializer element for `gSpeciesInfo[1348].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3181: initializer element for `gSpeciesInfo[1348].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3184: initializer element for `gSpeciesInfo[1348].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3190: initializer element for `gSpeciesInfo[1348].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3211: initializer element for `gSpeciesInfo[1348].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3212: initializer element for `gSpeciesInfo[1348]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3222: initializer element for `gSpeciesInfo[1349].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3230: initializer element for `gSpeciesInfo[1349].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3231: initializer element for `gSpeciesInfo[1349].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3233: initializer element for `gSpeciesInfo[1349].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3236: initializer element for `gSpeciesInfo[1349].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3242: initializer element for `gSpeciesInfo[1349].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3263: initializer element for `gSpeciesInfo[1349]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3275: initializer element for `gSpeciesInfo[1350].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3283: initializer element for `gSpeciesInfo[1350].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3284: initializer element for `gSpeciesInfo[1350].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3286: initializer element for `gSpeciesInfo[1350].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3289: initializer element for `gSpeciesInfo[1350].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3296: initializer element for `gSpeciesInfo[1350].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3318: initializer element for `gSpeciesInfo[1350]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3330: initializer element for `gSpeciesInfo[1351].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3338: initializer element for `gSpeciesInfo[1351].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3339: initializer element for `gSpeciesInfo[1351].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3341: initializer element for `gSpeciesInfo[1351].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3344: initializer element for `gSpeciesInfo[1351].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3350: initializer element for `gSpeciesInfo[1351].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3371: initializer element for `gSpeciesInfo[1351].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3372: initializer element for `gSpeciesInfo[1351]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3382: initializer element for `gSpeciesInfo[1352].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3390: initializer element for `gSpeciesInfo[1352].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3391: initializer element for `gSpeciesInfo[1352].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3393: initializer element for `gSpeciesInfo[1352].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3396: initializer element for `gSpeciesInfo[1352].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3403: initializer element for `gSpeciesInfo[1352].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3426: initializer element for `gSpeciesInfo[1352]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3436: initializer element for `gSpeciesInfo[1353].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3444: initializer element for `gSpeciesInfo[1353].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3445: initializer element for `gSpeciesInfo[1353].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3447: initializer element for `gSpeciesInfo[1353].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3450: initializer element for `gSpeciesInfo[1353].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3457: initializer element for `gSpeciesInfo[1353].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3480: initializer element for `gSpeciesInfo[1353]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3492: initializer element for `gSpeciesInfo[1354].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3500: initializer element for `gSpeciesInfo[1354].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3501: initializer element for `gSpeciesInfo[1354].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3503: initializer element for `gSpeciesInfo[1354].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3506: initializer element for `gSpeciesInfo[1354].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3513: initializer element for `gSpeciesInfo[1354].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3534: initializer element for `gSpeciesInfo[1354].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3535: initializer element for `gSpeciesInfo[1354]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3545: initializer element for `gSpeciesInfo[1355].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3553: initializer element for `gSpeciesInfo[1355].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3554: initializer element for `gSpeciesInfo[1355].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3556: initializer element for `gSpeciesInfo[1355].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3559: initializer element for `gSpeciesInfo[1355].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3566: initializer element for `gSpeciesInfo[1355].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3587: initializer element for `gSpeciesInfo[1355]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3599: initializer element for `gSpeciesInfo[1356].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3607: initializer element for `gSpeciesInfo[1356].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3608: initializer element for `gSpeciesInfo[1356].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3610: initializer element for `gSpeciesInfo[1356].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3613: initializer element for `gSpeciesInfo[1356].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3620: initializer element for `gSpeciesInfo[1356].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3641: initializer element for `gSpeciesInfo[1356]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3653: initializer element for `gSpeciesInfo[1357].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3661: initializer element for `gSpeciesInfo[1357].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3662: initializer element for `gSpeciesInfo[1357].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3664: initializer element for `gSpeciesInfo[1357].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3667: initializer element for `gSpeciesInfo[1357].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3674: initializer element for `gSpeciesInfo[1357].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3695: initializer element for `gSpeciesInfo[1357]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3707: initializer element for `gSpeciesInfo[1358].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3715: initializer element for `gSpeciesInfo[1358].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3716: initializer element for `gSpeciesInfo[1358].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3718: initializer element for `gSpeciesInfo[1358].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3721: initializer element for `gSpeciesInfo[1358].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3728: initializer element for `gSpeciesInfo[1358].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3750: initializer element for `gSpeciesInfo[1358].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3751: initializer element for `gSpeciesInfo[1358]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3761: initializer element for `gSpeciesInfo[1359].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3769: initializer element for `gSpeciesInfo[1359].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3770: initializer element for `gSpeciesInfo[1359].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3772: initializer element for `gSpeciesInfo[1359].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3775: initializer element for `gSpeciesInfo[1359].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3782: initializer element for `gSpeciesInfo[1359].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3804: initializer element for `gSpeciesInfo[1359]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3816: initializer element for `gSpeciesInfo[1360].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3824: initializer element for `gSpeciesInfo[1360].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3825: initializer element for `gSpeciesInfo[1360].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3827: initializer element for `gSpeciesInfo[1360].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3830: initializer element for `gSpeciesInfo[1360].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3837: initializer element for `gSpeciesInfo[1360].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3858: initializer element for `gSpeciesInfo[1360].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3859: initializer element for `gSpeciesInfo[1360]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3869: initializer element for `gSpeciesInfo[1361].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3877: initializer element for `gSpeciesInfo[1361].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3878: initializer element for `gSpeciesInfo[1361].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3880: initializer element for `gSpeciesInfo[1361].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3883: initializer element for `gSpeciesInfo[1361].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3890: initializer element for `gSpeciesInfo[1361].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3911: initializer element for `gSpeciesInfo[1361]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3923: initializer element for `gSpeciesInfo[1362].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3931: initializer element for `gSpeciesInfo[1362].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3932: initializer element for `gSpeciesInfo[1362].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3934: initializer element for `gSpeciesInfo[1362].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3937: initializer element for `gSpeciesInfo[1362].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3944: initializer element for `gSpeciesInfo[1362].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3965: initializer element for `gSpeciesInfo[1362]' is not constant -src/data/pokemon/species_info/gen_9_families.h:3977: initializer element for `gSpeciesInfo[1363].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:3985: initializer element for `gSpeciesInfo[1363].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:3986: initializer element for `gSpeciesInfo[1363].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:3988: initializer element for `gSpeciesInfo[1363].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3991: initializer element for `gSpeciesInfo[1363].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:3998: initializer element for `gSpeciesInfo[1363].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4019: initializer element for `gSpeciesInfo[1363].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4020: initializer element for `gSpeciesInfo[1363]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4030: initializer element for `gSpeciesInfo[1364].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4038: initializer element for `gSpeciesInfo[1364].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4039: initializer element for `gSpeciesInfo[1364].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4041: initializer element for `gSpeciesInfo[1364].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4044: initializer element for `gSpeciesInfo[1364].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4051: initializer element for `gSpeciesInfo[1364].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4072: initializer element for `gSpeciesInfo[1364]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4084: initializer element for `gSpeciesInfo[1365].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4092: initializer element for `gSpeciesInfo[1365].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4093: initializer element for `gSpeciesInfo[1365].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4095: initializer element for `gSpeciesInfo[1365].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4098: initializer element for `gSpeciesInfo[1365].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4105: initializer element for `gSpeciesInfo[1365].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4127: initializer element for `gSpeciesInfo[1365]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4139: initializer element for `gSpeciesInfo[1366].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4147: initializer element for `gSpeciesInfo[1366].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4148: initializer element for `gSpeciesInfo[1366].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4150: initializer element for `gSpeciesInfo[1366].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4153: initializer element for `gSpeciesInfo[1366].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4160: initializer element for `gSpeciesInfo[1366].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4182: initializer element for `gSpeciesInfo[1366]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4194: initializer element for `gSpeciesInfo[1367].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4202: initializer element for `gSpeciesInfo[1367].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4203: initializer element for `gSpeciesInfo[1367].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4205: initializer element for `gSpeciesInfo[1367].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4208: initializer element for `gSpeciesInfo[1367].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4215: initializer element for `gSpeciesInfo[1367].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4237: initializer element for `gSpeciesInfo[1367]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4247: initializer element for `gSpeciesInfo[1368].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4255: initializer element for `gSpeciesInfo[1368].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4256: initializer element for `gSpeciesInfo[1368].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4258: initializer element for `gSpeciesInfo[1368].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4261: initializer element for `gSpeciesInfo[1368].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4267: initializer element for `gSpeciesInfo[1368].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4289: initializer element for `gSpeciesInfo[1368]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4299: initializer element for `gSpeciesInfo[1369].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4307: initializer element for `gSpeciesInfo[1369].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4308: initializer element for `gSpeciesInfo[1369].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4310: initializer element for `gSpeciesInfo[1369].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4313: initializer element for `gSpeciesInfo[1369].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4319: initializer element for `gSpeciesInfo[1369].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4341: initializer element for `gSpeciesInfo[1369]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4353: initializer element for `gSpeciesInfo[1376].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4361: initializer element for `gSpeciesInfo[1376].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4362: initializer element for `gSpeciesInfo[1376].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4364: initializer element for `gSpeciesInfo[1376].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4367: initializer element for `gSpeciesInfo[1376].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4374: initializer element for `gSpeciesInfo[1376].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4396: initializer element for `gSpeciesInfo[1376]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4408: initializer element for `gSpeciesInfo[1377].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4416: initializer element for `gSpeciesInfo[1377].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4417: initializer element for `gSpeciesInfo[1377].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4419: initializer element for `gSpeciesInfo[1377].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4422: initializer element for `gSpeciesInfo[1377].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4429: initializer element for `gSpeciesInfo[1377].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4451: initializer element for `gSpeciesInfo[1377]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4463: initializer element for `gSpeciesInfo[1378].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4471: initializer element for `gSpeciesInfo[1378].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4472: initializer element for `gSpeciesInfo[1378].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4474: initializer element for `gSpeciesInfo[1378].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4477: initializer element for `gSpeciesInfo[1378].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4484: initializer element for `gSpeciesInfo[1378].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4506: initializer element for `gSpeciesInfo[1378]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4518: initializer element for `gSpeciesInfo[1379].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4528: initializer element for `gSpeciesInfo[1379].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4529: initializer element for `gSpeciesInfo[1379].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4531: initializer element for `gSpeciesInfo[1379].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4534: initializer element for `gSpeciesInfo[1379].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4541: initializer element for `gSpeciesInfo[1379].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4564: initializer element for `gSpeciesInfo[1379]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4576: initializer element for `gSpeciesInfo[1380].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4584: initializer element for `gSpeciesInfo[1380].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4585: initializer element for `gSpeciesInfo[1380].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4587: initializer element for `gSpeciesInfo[1380].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4590: initializer element for `gSpeciesInfo[1380].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4596: initializer element for `gSpeciesInfo[1380].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4618: initializer element for `gSpeciesInfo[1380]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4630: initializer element for `gSpeciesInfo[1381].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4638: initializer element for `gSpeciesInfo[1381].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4639: initializer element for `gSpeciesInfo[1381].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4641: initializer element for `gSpeciesInfo[1381].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4644: initializer element for `gSpeciesInfo[1381].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4651: initializer element for `gSpeciesInfo[1381].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4673: initializer element for `gSpeciesInfo[1381]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4685: initializer element for `gSpeciesInfo[1382].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4693: initializer element for `gSpeciesInfo[1382].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4694: initializer element for `gSpeciesInfo[1382].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4696: initializer element for `gSpeciesInfo[1382].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4699: initializer element for `gSpeciesInfo[1382].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4706: initializer element for `gSpeciesInfo[1382].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4728: initializer element for `gSpeciesInfo[1382]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4740: initializer element for `gSpeciesInfo[1383].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4748: initializer element for `gSpeciesInfo[1383].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4749: initializer element for `gSpeciesInfo[1383].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4751: initializer element for `gSpeciesInfo[1383].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4754: initializer element for `gSpeciesInfo[1383].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4761: initializer element for `gSpeciesInfo[1383].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4783: initializer element for `gSpeciesInfo[1383]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4795: initializer element for `gSpeciesInfo[1384].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4803: initializer element for `gSpeciesInfo[1384].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4804: initializer element for `gSpeciesInfo[1384].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4806: initializer element for `gSpeciesInfo[1384].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4809: initializer element for `gSpeciesInfo[1384].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4816: initializer element for `gSpeciesInfo[1384].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4838: initializer element for `gSpeciesInfo[1384]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4850: initializer element for `gSpeciesInfo[1385].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4858: initializer element for `gSpeciesInfo[1385].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4859: initializer element for `gSpeciesInfo[1385].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4861: initializer element for `gSpeciesInfo[1385].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4864: initializer element for `gSpeciesInfo[1385].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4871: initializer element for `gSpeciesInfo[1385].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4894: initializer element for `gSpeciesInfo[1385]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4906: initializer element for `gSpeciesInfo[1386].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4914: initializer element for `gSpeciesInfo[1386].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4915: initializer element for `gSpeciesInfo[1386].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4917: initializer element for `gSpeciesInfo[1386].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4920: initializer element for `gSpeciesInfo[1386].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4927: initializer element for `gSpeciesInfo[1386].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4950: initializer element for `gSpeciesInfo[1386]' is not constant -src/data/pokemon/species_info/gen_9_families.h:4962: initializer element for `gSpeciesInfo[1387].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:4970: initializer element for `gSpeciesInfo[1387].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:4971: initializer element for `gSpeciesInfo[1387].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:4973: initializer element for `gSpeciesInfo[1387].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4976: initializer element for `gSpeciesInfo[1387].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:4983: initializer element for `gSpeciesInfo[1387].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5005: initializer element for `gSpeciesInfo[1387]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5017: initializer element for `gSpeciesInfo[1388].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5025: initializer element for `gSpeciesInfo[1388].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5026: initializer element for `gSpeciesInfo[1388].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5028: initializer element for `gSpeciesInfo[1388].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5031: initializer element for `gSpeciesInfo[1388].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5038: initializer element for `gSpeciesInfo[1388].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5059: initializer element for `gSpeciesInfo[1388].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5060: initializer element for `gSpeciesInfo[1388]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5070: initializer element for `gSpeciesInfo[1389].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5078: initializer element for `gSpeciesInfo[1389].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5079: initializer element for `gSpeciesInfo[1389].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5081: initializer element for `gSpeciesInfo[1389].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5084: initializer element for `gSpeciesInfo[1389].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5091: initializer element for `gSpeciesInfo[1389].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5112: initializer element for `gSpeciesInfo[1389].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5113: initializer element for `gSpeciesInfo[1389]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5123: initializer element for `gSpeciesInfo[1390].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5131: initializer element for `gSpeciesInfo[1390].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5132: initializer element for `gSpeciesInfo[1390].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5134: initializer element for `gSpeciesInfo[1390].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5137: initializer element for `gSpeciesInfo[1390].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5144: initializer element for `gSpeciesInfo[1390].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5165: initializer element for `gSpeciesInfo[1390]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5177: initializer element for `gSpeciesInfo[1391].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5185: initializer element for `gSpeciesInfo[1391].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5186: initializer element for `gSpeciesInfo[1391].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5188: initializer element for `gSpeciesInfo[1391].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5191: initializer element for `gSpeciesInfo[1391].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5198: initializer element for `gSpeciesInfo[1391].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5220: initializer element for `gSpeciesInfo[1391].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5221: initializer element for `gSpeciesInfo[1391]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5231: initializer element for `gSpeciesInfo[1392].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5239: initializer element for `gSpeciesInfo[1392].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5240: initializer element for `gSpeciesInfo[1392].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5242: initializer element for `gSpeciesInfo[1392].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5245: initializer element for `gSpeciesInfo[1392].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5252: initializer element for `gSpeciesInfo[1392].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5274: initializer element for `gSpeciesInfo[1392].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5275: initializer element for `gSpeciesInfo[1392]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5285: initializer element for `gSpeciesInfo[1393].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5293: initializer element for `gSpeciesInfo[1393].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5294: initializer element for `gSpeciesInfo[1393].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5296: initializer element for `gSpeciesInfo[1393].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5299: initializer element for `gSpeciesInfo[1393].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5306: initializer element for `gSpeciesInfo[1393].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5327: initializer element for `gSpeciesInfo[1393]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5339: initializer element for `gSpeciesInfo[1394].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5347: initializer element for `gSpeciesInfo[1394].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5348: initializer element for `gSpeciesInfo[1394].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5350: initializer element for `gSpeciesInfo[1394].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5353: initializer element for `gSpeciesInfo[1394].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5360: initializer element for `gSpeciesInfo[1394].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5382: initializer element for `gSpeciesInfo[1394]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5394: initializer element for `gSpeciesInfo[1395].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5402: initializer element for `gSpeciesInfo[1395].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5403: initializer element for `gSpeciesInfo[1395].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5405: initializer element for `gSpeciesInfo[1395].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5408: initializer element for `gSpeciesInfo[1395].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5415: initializer element for `gSpeciesInfo[1395].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5437: initializer element for `gSpeciesInfo[1395]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5449: initializer element for `gSpeciesInfo[1396].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5457: initializer element for `gSpeciesInfo[1396].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5458: initializer element for `gSpeciesInfo[1396].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5460: initializer element for `gSpeciesInfo[1396].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5463: initializer element for `gSpeciesInfo[1396].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5470: initializer element for `gSpeciesInfo[1396].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5492: initializer element for `gSpeciesInfo[1396]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5504: initializer element for `gSpeciesInfo[1397].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5512: initializer element for `gSpeciesInfo[1397].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5513: initializer element for `gSpeciesInfo[1397].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5515: initializer element for `gSpeciesInfo[1397].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5518: initializer element for `gSpeciesInfo[1397].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5525: initializer element for `gSpeciesInfo[1397].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5548: initializer element for `gSpeciesInfo[1397]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5560: initializer element for `gSpeciesInfo[1398].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5568: initializer element for `gSpeciesInfo[1398].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5569: initializer element for `gSpeciesInfo[1398].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5571: initializer element for `gSpeciesInfo[1398].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5574: initializer element for `gSpeciesInfo[1398].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5581: initializer element for `gSpeciesInfo[1398].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5604: initializer element for `gSpeciesInfo[1398]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5616: initializer element for `gSpeciesInfo[1399].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5624: initializer element for `gSpeciesInfo[1399].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5625: initializer element for `gSpeciesInfo[1399].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5627: initializer element for `gSpeciesInfo[1399].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5630: initializer element for `gSpeciesInfo[1399].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5636: initializer element for `gSpeciesInfo[1399].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5658: initializer element for `gSpeciesInfo[1399]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5670: initializer element for `gSpeciesInfo[1400].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5678: initializer element for `gSpeciesInfo[1400].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5679: initializer element for `gSpeciesInfo[1400].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5681: initializer element for `gSpeciesInfo[1400].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5684: initializer element for `gSpeciesInfo[1400].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5691: initializer element for `gSpeciesInfo[1400].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5714: initializer element for `gSpeciesInfo[1400]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5726: initializer element for `gSpeciesInfo[1401].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5734: initializer element for `gSpeciesInfo[1401].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5735: initializer element for `gSpeciesInfo[1401].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5737: initializer element for `gSpeciesInfo[1401].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5740: initializer element for `gSpeciesInfo[1401].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5747: initializer element for `gSpeciesInfo[1401].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5770: initializer element for `gSpeciesInfo[1401]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5782: initializer element for `gSpeciesInfo[1406].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5790: initializer element for `gSpeciesInfo[1406].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5791: initializer element for `gSpeciesInfo[1406].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5793: initializer element for `gSpeciesInfo[1406].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5796: initializer element for `gSpeciesInfo[1406].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5802: initializer element for `gSpeciesInfo[1406].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5824: initializer element for `gSpeciesInfo[1406]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5836: initializer element for `gSpeciesInfo[1407].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5844: initializer element for `gSpeciesInfo[1407].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5845: initializer element for `gSpeciesInfo[1407].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5847: initializer element for `gSpeciesInfo[1407].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5850: initializer element for `gSpeciesInfo[1407].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5856: initializer element for `gSpeciesInfo[1407].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5878: initializer element for `gSpeciesInfo[1407]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5890: initializer element for `gSpeciesInfo[1409].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5898: initializer element for `gSpeciesInfo[1409].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5899: initializer element for `gSpeciesInfo[1409].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5901: initializer element for `gSpeciesInfo[1409].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5904: initializer element for `gSpeciesInfo[1409].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5911: initializer element for `gSpeciesInfo[1409].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5933: initializer element for `gSpeciesInfo[1409].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5934: initializer element for `gSpeciesInfo[1409]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5943: initializer element for `gSpeciesInfo[1410].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:5951: initializer element for `gSpeciesInfo[1410].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:5952: initializer element for `gSpeciesInfo[1410].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:5954: initializer element for `gSpeciesInfo[1410].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5957: initializer element for `gSpeciesInfo[1410].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:5964: initializer element for `gSpeciesInfo[1410].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:5986: initializer element for `gSpeciesInfo[1410].evolutions' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5987: initializer element for `gSpeciesInfo[1410]' is not constant -src/data/pokemon/species_info/gen_9_families.h:5997: initializer element for `gSpeciesInfo[1411].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6005: initializer element for `gSpeciesInfo[1411].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6006: initializer element for `gSpeciesInfo[1411].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6008: initializer element for `gSpeciesInfo[1411].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6011: initializer element for `gSpeciesInfo[1411].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6018: initializer element for `gSpeciesInfo[1411].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6040: initializer element for `gSpeciesInfo[1411]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6049: initializer element for `gSpeciesInfo[1412].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6057: initializer element for `gSpeciesInfo[1412].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6058: initializer element for `gSpeciesInfo[1412].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6060: initializer element for `gSpeciesInfo[1412].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6063: initializer element for `gSpeciesInfo[1412].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6070: initializer element for `gSpeciesInfo[1412].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6092: initializer element for `gSpeciesInfo[1412]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6104: initializer element for `gSpeciesInfo[1413].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6112: initializer element for `gSpeciesInfo[1413].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6113: initializer element for `gSpeciesInfo[1413].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6115: initializer element for `gSpeciesInfo[1413].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6118: initializer element for `gSpeciesInfo[1413].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6125: initializer element for `gSpeciesInfo[1413].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6147: initializer element for `gSpeciesInfo[1413]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6159: initializer element for `gSpeciesInfo[1414].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6167: initializer element for `gSpeciesInfo[1414].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6168: initializer element for `gSpeciesInfo[1414].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6170: initializer element for `gSpeciesInfo[1414].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6173: initializer element for `gSpeciesInfo[1414].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6180: initializer element for `gSpeciesInfo[1414].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6202: initializer element for `gSpeciesInfo[1414]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6214: initializer element for `gSpeciesInfo[1415].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6222: initializer element for `gSpeciesInfo[1415].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6223: initializer element for `gSpeciesInfo[1415].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6225: initializer element for `gSpeciesInfo[1415].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6228: initializer element for `gSpeciesInfo[1415].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6235: initializer element for `gSpeciesInfo[1415].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6257: initializer element for `gSpeciesInfo[1415]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6312: initializer element for `gSpeciesInfo[1416]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6313: initializer element for `gSpeciesInfo[1417]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6314: initializer element for `gSpeciesInfo[1418]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6315: initializer element for `gSpeciesInfo[1419]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6317: initializer element for `gSpeciesInfo[1420]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6318: initializer element for `gSpeciesInfo[1421]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6319: initializer element for `gSpeciesInfo[1422]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6320: initializer element for `gSpeciesInfo[1423]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6334: initializer element for `gSpeciesInfo[1427].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6342: initializer element for `gSpeciesInfo[1427].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6343: initializer element for `gSpeciesInfo[1427].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6345: initializer element for `gSpeciesInfo[1427].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6348: initializer element for `gSpeciesInfo[1427].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6355: initializer element for `gSpeciesInfo[1427].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6376: `sGougingFireTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6376: initializer element for `gSpeciesInfo[1427].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6377: initializer element for `gSpeciesInfo[1427]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6389: initializer element for `gSpeciesInfo[1428].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6397: initializer element for `gSpeciesInfo[1428].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6398: initializer element for `gSpeciesInfo[1428].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6400: initializer element for `gSpeciesInfo[1428].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6403: initializer element for `gSpeciesInfo[1428].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6410: initializer element for `gSpeciesInfo[1428].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6431: `sRagingBoltTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6431: initializer element for `gSpeciesInfo[1428].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6432: initializer element for `gSpeciesInfo[1428]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6444: initializer element for `gSpeciesInfo[1429].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6452: initializer element for `gSpeciesInfo[1429].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6453: initializer element for `gSpeciesInfo[1429].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6455: initializer element for `gSpeciesInfo[1429].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6458: initializer element for `gSpeciesInfo[1429].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6464: initializer element for `gSpeciesInfo[1429].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6485: `sIronBoulderTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6485: initializer element for `gSpeciesInfo[1429].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6486: initializer element for `gSpeciesInfo[1429]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6498: initializer element for `gSpeciesInfo[1430].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6506: initializer element for `gSpeciesInfo[1430].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6507: initializer element for `gSpeciesInfo[1430].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6509: initializer element for `gSpeciesInfo[1430].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6512: initializer element for `gSpeciesInfo[1430].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6519: initializer element for `gSpeciesInfo[1430].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6540: `sIronCrownTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6540: initializer element for `gSpeciesInfo[1430].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6541: initializer element for `gSpeciesInfo[1430]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6553: initializer element for `gSpeciesInfo[1431].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6561: initializer element for `gSpeciesInfo[1431].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6562: initializer element for `gSpeciesInfo[1431].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6564: initializer element for `gSpeciesInfo[1431].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6567: initializer element for `gSpeciesInfo[1431].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6574: initializer element for `gSpeciesInfo[1431].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6595: `sTerapagosTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6595: initializer element for `gSpeciesInfo[1431].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6598: initializer element for `gSpeciesInfo[1431]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6608: initializer element for `gSpeciesInfo[1432].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6617: initializer element for `gSpeciesInfo[1432].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6618: initializer element for `gSpeciesInfo[1432].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6620: initializer element for `gSpeciesInfo[1432].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6623: initializer element for `gSpeciesInfo[1432].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6630: initializer element for `gSpeciesInfo[1432].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6651: `sTerapagosTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6651: initializer element for `gSpeciesInfo[1432].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6654: initializer element for `gSpeciesInfo[1432]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6664: initializer element for `gSpeciesInfo[1433].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6672: initializer element for `gSpeciesInfo[1433].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6673: initializer element for `gSpeciesInfo[1433].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6675: initializer element for `gSpeciesInfo[1433].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6678: initializer element for `gSpeciesInfo[1433].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6685: initializer element for `gSpeciesInfo[1433].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6706: `sTerapagosTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6706: initializer element for `gSpeciesInfo[1433].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6709: initializer element for `gSpeciesInfo[1433]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6721: initializer element for `gSpeciesInfo[1434].types' is not constant -src/data/pokemon/species_info/gen_9_families.h:6729: initializer element for `gSpeciesInfo[1434].eggGroups' is not constant -src/data/pokemon/species_info/gen_9_families.h:6730: initializer element for `gSpeciesInfo[1434].abilities' is not constant -src/data/pokemon/species_info/gen_9_families.h:6732: initializer element for `gSpeciesInfo[1434].speciesName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6735: initializer element for `gSpeciesInfo[1434].categoryName' is not constant -src/data/pokemon/species_info/gen_9_families.h:6742: initializer element for `gSpeciesInfo[1434].description' is not constant -src/data/pokemon/species_info/gen_9_families.h:6763: `sPecharuntTeachableLearnset' undeclared here (not in a function) -src/data/pokemon/species_info/gen_9_families.h:6763: initializer element for `gSpeciesInfo[1434].teachableLearnset' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -src/data/pokemon/species_info/gen_9_families.h:6764: initializer element for `gSpeciesInfo[1434]' is not constant -In file included from src/pokemon.c:683: -src/data/pokemon/species_info.h:82: initializer element for `gSpeciesInfo[1524]' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -src/data/pokemon/species_info.h:154: initializer element for `gSpeciesInfo' is not constant -make: *** [Makefile:276: build/firered/src/pokemon.o] Error 1 diff --git a/common_syms/rtc.txt b/common_syms/rtc.txt new file mode 100644 index 000000000..fa00a34d5 --- /dev/null +++ b/common_syms/rtc.txt @@ -0,0 +1 @@ +gLocalTime diff --git a/data/maps/ViridianCity_Mart/scripts.inc b/data/maps/ViridianCity_Mart/scripts.inc index 5c2432f76..44020c895 100644 --- a/data/maps/ViridianCity_Mart/scripts.inc +++ b/data/maps/ViridianCity_Mart/scripts.inc @@ -98,6 +98,7 @@ ViridianCity_Mart_Items:: .2byte ITEM_STICKY_BARB .2byte ITEM_ORAN_BERRY .2byte ITEM_BEAST_BALL + .2byte ITEM_POMEG_BERRY .2byte ITEM_NONE release end diff --git a/data/specials.inc b/data/specials.inc index 059f29015..e824c0b20 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -162,8 +162,8 @@ gSpecials:: def_special NullFieldSpecial @ Cable Car specials def_special NullFieldSpecial def_special Overworld_PlaySpecialMapMusic - def_special NullFieldSpecial @ Wall Clock specials - def_special NullFieldSpecial + def_special StartWallClock + def_special Special_ViewWallClock def_special NullFieldSpecial def_special StartOldManTutorialBattle def_special ChangePokemonNickname @@ -215,7 +215,7 @@ gSpecials:: def_special NullFieldSpecial def_special EnterSafariMode def_special ExitSafariMode - def_special NullFieldSpecial @ Misc Hoenn specials + def_special GetWeekCount def_special NullFieldSpecial def_special NullFieldSpecial def_special NullFieldSpecial diff --git a/data/text/save.inc b/data/text/save.inc index bbaebf72c..2103be751 100644 --- a/data/text/save.inc +++ b/data/text/save.inc @@ -13,7 +13,7 @@ gText_PlayerSavedTheGame:: .string "{PLAYER} saved the game.$" gText_SaveFailed2:: - .string "セーブに しっぱい しました‥$" + .string "Save failed…$" gText_DifferentGameFile:: .string "WARNING!\p" diff --git a/graphics/misc/reset_rtc_screen_arrow.pal b/graphics/misc/reset_rtc_screen_arrow.pal new file mode 100644 index 000000000..b2e8a5f5f --- /dev/null +++ b/graphics/misc/reset_rtc_screen_arrow.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +255 0 0 +74 74 74 +0 0 0 diff --git a/graphics/misc/reset_rtc_screen_downarrow.png b/graphics/misc/reset_rtc_screen_downarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7b3480df00af52e7149aa8ef9b4ca2ba479ee0 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U4JOMr-u0Z-f1A~{B7m#7n|0)eg zDR{a#hH%VGPGDeERaIqWb9Hn~Y4Qx<&{({JL1l)71cN>glSHED?G&I|22WQ%mvv4F FO#o!r7S;d& literal 0 HcmV?d00001 diff --git a/graphics/misc/reset_rtc_screen_rightarrow.png b/graphics/misc/reset_rtc_screen_rightarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..785b3c1dbb2823a98039961d8e40149a43330881 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^93afX3?$7I7w-U4JOMr-u0Z-f1A~{B7m#7n|0)eg z$$GjthH%VGPGDeEQ)N|9)L>C!5p`%0=uu^v$jTrs%{bA>AxHwKkipZ{&t;ucLK6V- CH54fT literal 0 HcmV?d00001 diff --git a/graphics/wallclock/clock.png b/graphics/wallclock/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..e50f37e7257ee915cd619ea87041abb6ee5f3188 GIT binary patch literal 1195 zcmV;c1XTNpP)q8u#~WfG7G{vCO3Mo@;sGT~ z)kr|3+Oz{47{H`6W&xSHn9|=@V?lAy0B8?0G3pFhfU2~f{(ZA7yGOc*HGp0eVmM?0 zR6o!|kHl?g*;#@m$iUM(0L=6JB>>K#jpBvi0LOFES4Liz=gA#t8;q3#M;&yQ?w7ye zAYq0PAX9IRepBxN0F>o+TKocY3(;<0pPMQcEI`etP=8Mk7VziAO6Rqhz7_YzVxH=@ z)SJmSpeEQqn?6OiEFtk5`D>BC`r=+bhJ|U1-Ohdj7ib{RV;I1jp|F6KAASN;(9gvE zQ12{^oP`AdH39>mKidfbP(&Q6PqA!wsfaw_xWWXWepvZBxHj?tlK@mc$bcIp7C;G9 zQ2|Oj%I~~UW&xByJpdjc+DzLVfLeeCnt_4_Amsos1CT(|Kq93%f}921OAH|664;Rt z_DH)B!X0T0;5bg;Tv9;W{6lpg9WekXA+#X+djy2X`W;-v0O%pizi2%vk=c9D3|`{n~LR(rv{ zzyeO72eVD5zZL*`pV#_Zyw193CUwFYERf=aYa z2G=eDFczSO&_rA5rXWe4Di_}+31b1LU|<0sMu4a45Bu9IKwvCT2`peW0(|YwjryAd z&=~O!pnb{rKH#4uu7R#0>i`ERsU4t)#C_HsAgJMLQ@;$ruVJK*0P$wRIUF+pvyGd8 zcso-Q)^x1*>!26iz6`q{Tg^Z~WdR@8`aN9l_WSZHAMh6gfG%Dz0Hg2Au0KdSF#x+b zvw+7izrKtl^$p*w4I_`sx$|pf(}`Ja7eVUN|BE-oWB6*7dj)pgh1M53v5f0MA`E z#eW0r+2=wn2UzbvS!;x@p;{8K+yAi%ApK9v0?g)#06$+2_!lGyn&HoEr5peN002ov JPDHLkV1kmt9S;Bi literal 0 HcmV?d00001 diff --git a/graphics/wallclock/clock_start.bin b/graphics/wallclock/clock_start.bin new file mode 100644 index 0000000000000000000000000000000000000000..49f21ed5be9a71a3c2ef236d8128af809e066ab6 GIT binary patch literal 1280 zcmb8vM^_p^6b0Z5T;L{o=0s|mIf9^R3u&6RKuS#6P&H*kCuJi&<OF+?*ie52VQvTp_`-js_gb#iM5JU)Jgc)Lx z0s86V<{InYMg&ppAci=0v4=hGGR_!x7-fXpOCwy~|2`5(B84 z_gDHXj*vqh1r+fX$2jI&7Fl4PIUX^)(w9(11y$5g#|chx$`jUEW0e(_Sz75EXrhHS zI_RQ@KKksj%MROYvB}0te}(~u7-5VFrkG*IDJL9r#32VfTkSQ_P$P{s(Nr_dY-$r5 z+sKACurph{ZI{o#p{81DtD~-Z>Z@-(>srU!*0QEGR{E04s;H`(>UxLw_<)b7Tg|Fg zv9gs``mBzWQ(grX^$DNx1z%CLg5@n|N0z}A?Mz$I;e#K3`sgL;;d%Z&0th06Fd~Q|h8UxaFw78x z44iTPI1)%Ag)}m_!ZogW#SGI-G06nu2P+)kKZ_jlD4>WEZg7iR-mt_X3(PaetfMcZ zf+}jLqk%iz!0grg(1AFYU!!}!NI{H2a7-EDmCYWM| z8K<0Z%n^qiu2Q?*FsCJwAMyj?Xhn;uAjO3wqYIjQS3_U%4d3wt4Xazts#dYGqjw>vyb3C+q$m8uFFd1UMJrg|a+W>ACzMo5X=U_+ z-}r;S$XMD^mb8S$&+q{S6;fCcMHN%bq872Rg)C?nc!!I<3LfYGwLWsoBg!kE{PLU6 byhihw+b;0|m(KpgkFsC&|Gks@ztR5#gat%2 literal 0 HcmV?d00001 diff --git a/graphics/wallclock/female.pal b/graphics/wallclock/female.pal new file mode 100644 index 000000000..a7909e2e0 --- /dev/null +++ b/graphics/wallclock/female.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 90 +222 230 238 +213 213 222 +205 205 213 +197 197 205 +255 197 255 +255 156 255 +255 115 255 +255 82 255 +74 180 189 +255 230 49 +90 90 123 +123 123 172 +65 65 90 +255 255 255 +0 0 0 diff --git a/graphics/wallclock/hand.png b/graphics/wallclock/hand.png new file mode 100644 index 0000000000000000000000000000000000000000..06a4ecad0030cfc9e5ae63a9a14487ac5629b54e GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^4nRDC1xPSNoVl+9q$Yd1IEF;DzP)D4bwGiK^}z-1 ziq=PSjjI2jRoxuQUf(_?Xw`-3P7hDI^YU#JnWEH?+i1>Z;m3Mm3&@NQ>JK{4WPLbl zx#D_b)j}UupiqJMip4i>JzXrp!0>?a!heTlS`9Osmt3Dvt)OGNdk%Mpp`BkApXGjo zBPwsF?z{HxZpx{%J1>;q2T~iSv>Lv*SRLNL-RmcC@#Pk=eIP45UHx3vIVCg!04^p{ AAOHXW literal 0 HcmV?d00001 diff --git a/graphics/wallclock/male.pal b/graphics/wallclock/male.pal new file mode 100644 index 000000000..1582ebfd2 --- /dev/null +++ b/graphics/wallclock/male.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 90 +222 230 238 +213 213 222 +205 205 213 +197 197 205 +164 180 255 +115 139 255 +74 98 255 +32 65 255 +74 180 189 +255 230 49 +90 90 123 +123 123 172 +65 65 90 +255 255 255 +0 0 0 diff --git a/graphics/wallclock/text_prompt.pal b/graphics/wallclock/text_prompt.pal new file mode 100644 index 000000000..fda317608 --- /dev/null +++ b/graphics/wallclock/text_prompt.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +74 180 189 +255 255 255 +0 0 0 diff --git a/include/clock.h b/include/clock.h new file mode 100644 index 000000000..aa179bf6f --- /dev/null +++ b/include/clock.h @@ -0,0 +1,8 @@ +#ifndef GUARD_CLOCK_H +#define GUARD_CLOCK_H + +// TODO: time of day and seconds in a day defines + +void DoTimeBasedEvents(void); + +#endif // GUARD_CLOCK_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 24e44dd9e..f24bfbbb8 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -886,7 +886,7 @@ #define FLAG_0x359 0x359 #define FLAG_0x35A 0x35A #define FLAG_0x35B 0x35B -#define FLAG_0x35C 0x35C +#define FLAG_SET_WALL_CLOCK 0x35C #define FLAG_0x35D 0x35D #define FLAG_0x35E 0x35E #define FLAG_0x35F 0x35F @@ -938,6 +938,9 @@ #define FLAG_0x38D 0x38D #define FLAG_0x38E 0x38E #define FLAG_0x38F 0x38F + +#define DAILY_FLAGS_START (FLAG_0x38F + (8 - FLAG_0x38F % 8)) + #define FLAG_0x390 0x390 #define FLAG_0x391 0x391 #define FLAG_0x392 0x392 @@ -1002,6 +1005,9 @@ #define FLAG_0x3CD 0x3CD #define FLAG_0x3CE 0x3CE #define FLAG_0x3CF 0x3CF + +#define DAILY_FLAGS_END (FLAG_0x3CF + (7 - FLAG_0x3CF % 8)) + #define FLAG_0x3D0 0x3D0 #define FLAG_0x3D1 0x3D1 #define FLAG_0x3D2 0x3D2 @@ -1394,7 +1400,7 @@ #define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C) #define FLAG_0x83D (SYS_FLAGS + 0x3D) #define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E) -#define FLAG_0x83F (SYS_FLAGS + 0x3F) +#define FLAG_SYS_CLOCK_SET (SYS_FLAGS + 0x3F) // FLAG_0x83F #define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40) #define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41) #define FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER (SYS_FLAGS + 0x42) diff --git a/include/constants/vars.h b/include/constants/vars.h index 5c7bbf8a3..b5f9e3ac3 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -88,7 +88,7 @@ #define VAR_0x4029 0x4029 #define VAR_0x402A 0x402A #define VAR_0x402B 0x402B -#define VAR_0x402C 0x402C +#define VAR_DAYS 0x402C // was VAR_RESET_RTC_ENABLE #define VAR_0x402D 0x402D #define VAR_0x402E 0x402E diff --git a/include/event_data.h b/include/event_data.h index 285b4cc83..2d4f0f626 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -25,6 +25,7 @@ extern u16 gSpecialVar_PrevTextColor; void InitEventData(void); void ClearTempFieldEventData(void); +void ClearDailyFlags(void); void ClearUpperFlags(void); void DisableNationalPokedex(void); void EnableNationalPokedex(void); diff --git a/include/graphics.h b/include/graphics.h index ac99fe239..afa8b542d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2781,6 +2781,13 @@ extern const u8 gTeachyTvScreen_Tilemap[]; extern const u8 gTeachyTvTitle_Tilemap[]; extern const u32 gTeachyTv_Pal[]; +// wall clock +extern const u32 gWallClock_Gfx[]; +extern const u16 gWallClockMale_Pal[]; +extern const u16 gWallClockFemale_Pal[]; +extern const u32 gWallClockStart_Tilemap[]; +extern const u32 gWallClockView_Tilemap[]; + // berry_fix_program extern const u8 gBerryFixGameboy_Gfx[]; extern const u8 gBerryFixGameboy_Tilemap[]; diff --git a/include/pokemon.h b/include/pokemon.h index 1dd6122e6..783e12844 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -5,6 +5,7 @@ #include "sprite.h" #include "constants/items.h" #include "constants/region_map_sections.h" +#include "constants/map_groups.h" #include "constants/pokemon.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) @@ -767,6 +768,7 @@ u16 GetMonEVCount(struct Pokemon *mon); void RandomlyGivePartyPokerus(struct Pokemon *party); u8 CheckPartyPokerus(struct Pokemon *party, u8 party_bm); u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection); +void UpdatePartyPokerusTime(u16 days); void PartySpreadPokerus(struct Pokemon *party); bool8 TryIncrementMonLevel(struct Pokemon *mon); u32 CanMonLearnTMHM(struct Pokemon *mon, u8 tm); diff --git a/include/reset_rtc_screen.h b/include/reset_rtc_screen.h new file mode 100644 index 000000000..5807dec99 --- /dev/null +++ b/include/reset_rtc_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_RESET_RTC_SCREEN_H +#define GUARD_RESET_RTC_SCREEN_H + +void CB2_InitResetRtcScreen(void); + +#endif // GUARD_RESET_RTC_SCREEN_H diff --git a/include/rtc.h b/include/rtc.h new file mode 100644 index 000000000..9882d702b --- /dev/null +++ b/include/rtc.h @@ -0,0 +1,122 @@ +#ifndef GUARD_RTC_UTIL_H +#define GUARD_RTC_UTIL_H + +#include "siirtc.h" + +#define RTC_INIT_ERROR 0x0001 +#define RTC_INIT_WARNING 0x0002 + +#define RTC_ERR_12HOUR_CLOCK 0x0010 +#define RTC_ERR_POWER_FAILURE 0x0020 +#define RTC_ERR_INVALID_YEAR 0x0040 +#define RTC_ERR_INVALID_MONTH 0x0080 +#define RTC_ERR_INVALID_DAY 0x0100 +#define RTC_ERR_INVALID_HOUR 0x0200 +#define RTC_ERR_INVALID_MINUTE 0x0400 +#define RTC_ERR_INVALID_SECOND 0x0800 + +#define RTC_ERR_FLAG_MASK 0x0FF0 + +//Morning and evening don't exist in Gen 3 +#if OW_TIMES_OF_DAY == GEN_3 + #define MORNING_HOUR_BEGIN 0 + #define MORNING_HOUR_END 0 + + #define DAY_HOUR_BEGIN 12 + #define DAY_HOUR_END HOURS_PER_DAY + + #define EVENING_HOUR_BEGIN 0 + #define EVENING_HOUR_END 0 + + #define NIGHT_HOUR_BEGIN 0 + #define NIGHT_HOUR_END 12 +//Evening doesn't exist in Gen 4 +#elif OW_TIMES_OF_DAY == GEN_4 + #define MORNING_HOUR_BEGIN 4 + #define MORNING_HOUR_END 10 + + #define DAY_HOUR_BEGIN 10 + #define DAY_HOUR_END 20 + + #define EVENING_HOUR_BEGIN 0 + #define EVENING_HOUR_END 0 + + #define NIGHT_HOUR_BEGIN 20 + #define NIGHT_HOUR_END 4 +//Gen 5 currently not included as the seasons change the times of day +#elif OW_TIMES_OF_DAY <= GEN_6 + #define MORNING_HOUR_BEGIN 4 + #define MORNING_HOUR_END 11 + + #define DAY_HOUR_BEGIN 11 + #define DAY_HOUR_END 18 + + #define EVENING_HOUR_BEGIN 18 + #define EVENING_HOUR_END 21 + + #define NIGHT_HOUR_BEGIN 21 + #define NIGHT_HOUR_END 4 +//These are the Sun/Ultra Sun times +#elif OW_TIMES_OF_DAY == GEN_7 + #define MORNING_HOUR_BEGIN 6 + #define MORNING_HOUR_END 10 + + #define DAY_HOUR_BEGIN 10 + #define DAY_HOUR_END 17 + + #define EVENING_HOUR_BEGIN 17 + #define EVENING_HOUR_END 18 + + #define NIGHT_HOUR_BEGIN 18 + #define NIGHT_HOUR_END 6 +#elif OW_TIMES_OF_DAY >= GEN_8 + #define MORNING_HOUR_BEGIN 6 + #define MORNING_HOUR_END 10 + + #define DAY_HOUR_BEGIN 10 + #define DAY_HOUR_END 19 + + #define EVENING_HOUR_BEGIN 19 + #define EVENING_HOUR_END 20 + + #define NIGHT_HOUR_BEGIN 20 + #define NIGHT_HOUR_END 6 +#endif + +#define TIME_MORNING 0 +#define TIME_DAY 1 +#define TIME_EVENING 2 +#define TIME_NIGHT 3 + +extern struct Time gLocalTime; + +void RtcDisableInterrupts(void); +void RtcRestoreInterrupts(void); +u32 ConvertBcdToBinary(u8 bcd); +bool8 IsLeapYear(u32 year); +u16 ConvertDateToDayCount(u8 year, u8 month, u8 day); +u16 RtcGetDayCount(struct SiiRtcInfo *rtc); +void RtcInit(void); +u16 RtcGetErrorStatus(void); +void RtcGetInfo(struct SiiRtcInfo *rtc); +void RtcGetDateTime(struct SiiRtcInfo *rtc); +void RtcGetStatus(struct SiiRtcInfo *rtc); +void RtcGetRawInfo(struct SiiRtcInfo *rtc); +u16 RtcCheckInfo(struct SiiRtcInfo *rtc); +void RtcReset(void); +void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second); +void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second); +void FormatHexRtcTime(u8 *dest); +void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day); +void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day); +void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t); +void RtcCalcLocalTime(void); +bool8 IsBetweenHours(s32 hours, s32 begin, s32 end); +u8 GetTimeOfDay(void); +void RtcInitLocalTimeOffset(s32 hour, s32 minute); +void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); +void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); +u32 RtcGetMinuteCount(void); +u32 RtcGetLocalDayCount(void); + +#endif // GUARD_RTC_UTIL_H diff --git a/include/siirtc.h b/include/siirtc.h new file mode 100644 index 000000000..de4fd634d --- /dev/null +++ b/include/siirtc.h @@ -0,0 +1,54 @@ +#ifndef GUARD_RTC_H +#define GUARD_RTC_H + +#include "gba/gba.h" + +#define SIIRTCINFO_INTFE 0x01 // frequency interrupt enable +#define SIIRTCINFO_INTME 0x02 // per-minute interrupt enable +#define SIIRTCINFO_INTAE 0x04 // alarm interrupt enable +#define SIIRTCINFO_24HOUR 0x40 // 0: 12-hour mode, 1: 24-hour mode +#define SIIRTCINFO_POWER 0x80 // power on or power failure occurred + +enum +{ + MONTH_JAN = 1, + MONTH_FEB, + MONTH_MAR, + MONTH_APR, + MONTH_MAY, + MONTH_JUN, + MONTH_JUL, + MONTH_AUG, + MONTH_SEP, + MONTH_OCT, + MONTH_NOV, + MONTH_DEC +}; + +struct SiiRtcInfo +{ + u8 year; + u8 month; + u8 day; + u8 dayOfWeek; + u8 hour; + u8 minute; + u8 second; + u8 status; + u8 alarmHour; + u8 alarmMinute; +}; + +void SiiRtcUnprotect(void); +void SiiRtcProtect(void); +u8 SiiRtcProbe(void); +bool8 SiiRtcReset(void); +bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc); +bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc); +bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc); +bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc); +bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc); +bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc); +bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc); + +#endif // GUARD_RTC_H diff --git a/include/strings.h b/include/strings.h index 667c8c43d..d66941310 100644 --- a/include/strings.h +++ b/include/strings.h @@ -506,6 +506,7 @@ extern const u8 gText_ABtnRegistrationCounter[]; extern const u8 gText_SaveFileCorrupted[]; extern const u8 gText_SaveFileHasBeenDeleted[]; extern const u8 gText_1MSubCircuitBoardNotInstalled[]; +extern const u8 gText_BatteryRunDry[]; extern const u8 gText_NewGame[]; extern const u8 gText_Continue[]; extern const u8 gText_MysteryGift[]; @@ -520,6 +521,11 @@ extern const u8 gText_Badges[]; extern const u8 gTextJPDummy_Ko[]; extern const u8 gText_Register[]; +// wallclock +extern const u8 gText_Confirm3[]; +extern const u8 gText_Cancel4[]; +extern const u8 gText_IsThisTheCorrectTime[]; + // mystery_gift_menu extern const u8 gText_PickOKExit[]; extern const u8 gText_PickOKCancel[]; @@ -625,6 +631,19 @@ extern const u8 gText_MessageWillBeLost[]; extern const u8 gText_BagIsFull[]; extern const u8 gText_MailReturnedToBagMessageErased[]; +// reset rtc screen texts +extern const u8 gText_Day[]; +extern const u8 gText_Colon3[]; +extern const u8 gText_Confirm2[]; +extern const u8 gText_PresentTime[]; +extern const u8 gText_PreviousTime[]; +extern const u8 gText_ResetRTCConfirmCancel[]; +extern const u8 gText_NoSaveFileCantSetTime[]; +extern const u8 gText_PleaseResetTime[]; +extern const u8 gText_ClockHasBeenReset[]; +extern const u8 gText_SaveCompleted[]; +extern const u8 gText_SaveFailed[]; + // start_menu extern const u8 gText_MenuPokedex[]; extern const u8 gText_MenuBag[]; diff --git a/include/time_events.h b/include/time_events.h new file mode 100644 index 000000000..0b079d791 --- /dev/null +++ b/include/time_events.h @@ -0,0 +1,6 @@ +#ifndef GUARD_TIME_EVENTS_H +#define GUARD_TIME_EVENTS_H + + + +#endif // GUARD_TIME_EVENTS_H diff --git a/include/wallclock.h b/include/wallclock.h new file mode 100644 index 000000000..208af9324 --- /dev/null +++ b/include/wallclock.h @@ -0,0 +1,7 @@ +#ifndef GUARD_WALLCLOCK_H +#define GUARD_WALLCLOCK_H + +void CB2_StartWallClock(void); +void CB2_ViewWallClock(void); + +#endif //GUARD_WALLCLOCK_H diff --git a/ld_script.ld b/ld_script.ld index ae9dbd987..86b8dc5dc 100644 --- a/ld_script.ld +++ b/ld_script.ld @@ -71,6 +71,7 @@ SECTIONS { src/string_util.o(.text); src/link.o(.text); src/multiboot.o(.text); + src/rtc.o(.text); src/main_menu.o(.text); src/battle_controllers.o(.text); src/decompress.o(.text); @@ -114,6 +115,8 @@ SECTIONS { src/event_data.o(.text); src/coord_event_weather.o(.text); src/field_tasks.o(.text); + src/clock.o(.text); + src/reset_rtc_screen.o(.text); src/start_menu.o(.text); src/tileset_anims.o(.text); src/palette.o(.text); @@ -197,10 +200,12 @@ SECTIONS { src/region_map.o(.text); src/image_processing_effects.o(.text); src/battle_ai_script_commands.o(.text); + src/wallclock.o(.text); src/fldeff_rocksmash.o(.text); src/fldeff_dig.o(.text); src/fldeff_flash.o(.text); src/post_battle_event_funcs.o(.text); + src/time_events.o(.text); src/prof_pc.o(.text); src/hof_pc.o(.text); src/field_specials.o(.text); @@ -338,6 +343,7 @@ SECTIONS { src/agb_flash_1m.o(.text); src/agb_flash_mx.o(.text); src/agb_flash_le.o(.text); + src/siirtc.o(.text); src/librfu_stwi.o(.text); src/librfu_intr.o(.text); src/librfu_rfu.o(.text); @@ -411,6 +417,8 @@ SECTIONS { src/bg_regs.o(.rodata); src/string_util.o(.rodata); src/link.o(.rodata); + src/rtc.o(.rodata); + src/reset_rtc_screen.o(.rodata); src/main_menu.o(.rodata); src/data.o(.rodata); src/battle_bg.o(.rodata); @@ -506,7 +514,9 @@ SECTIONS { src/region_map.o(.rodata); src/image_processing_effects.o(.rodata); src/battle_ai_script_commands.o(.rodata); + src/wallclock.o(.rodata); src/fldeff_flash.o(.rodata); + src/time_events.o(.rodata); src/field_specials.o(.rodata); src/battle_records.o(.rodata); src/evolution_scene.o(.rodata); @@ -975,6 +985,7 @@ SECTIONS { src/agb_flash_1m.o(.rodata); src/agb_flash_mx.o(.rodata); src/agb_flash_le.o(.rodata); + src/siirtc.o(.rodata); src/librfu_rfu.o(.rodata); src/librfu_sio32id.o(.rodata); src/isagbprn.o(.rodata); diff --git a/src/clock.c b/src/clock.c new file mode 100644 index 000000000..14752dc5d --- /dev/null +++ b/src/clock.c @@ -0,0 +1,87 @@ +#include "global.h" +#include "event_data.h" +#include "rtc.h" +#include "time_events.h" +#include "field_specials.h" +// #include "lottery_corner.h" +// #include "dewford_trend.h" +// #include "tv.h" +#include "field_weather.h" +// #include "berry.h" +#include "main.h" +#include "overworld.h" +#include "wallclock.h" + +static void UpdatePerDay(struct Time *localTime); +static void UpdatePerMinute(struct Time *localTime); + +static void InitTimeBasedEvents(void) +{ + FlagSet(FLAG_SYS_CLOCK_SET); + RtcCalcLocalTime(); + gSaveBlock2Ptr->lastBerryTreeUpdate = gLocalTime; + VarSet(VAR_DAYS, gLocalTime.days); +} + +void DoTimeBasedEvents(void) +{ + // TODO: relevant? + if (FlagGet(FLAG_SYS_CLOCK_SET)) // && !InPokemonCenter() + { + RtcCalcLocalTime(); + UpdatePerDay(&gLocalTime); + UpdatePerMinute(&gLocalTime); + } +} + +static void UpdatePerDay(struct Time *localTime) +{ + u16 *days = GetVarPointer(VAR_DAYS); + u16 daysSince; + + if (*days != localTime->days && *days <= localTime->days) + { + daysSince = localTime->days - *days; + ClearDailyFlags(); + // UpdateDewfordTrendPerDay(daysSince); + // UpdateTVShowsPerDay(daysSince); + // UpdateWeatherPerDay(daysSince); + UpdatePartyPokerusTime(daysSince); + // UpdateMirageRnd(daysSince); + // UpdateBirchState(daysSince); + // UpdateFrontierManiac(daysSince); + // UpdateFrontierGambler(daysSince); + // SetShoalItemFlag(daysSince); + // SetRandomLotteryNumber(daysSince); + *days = localTime->days; + } +} + +static void UpdatePerMinute(struct Time *localTime) +{ + struct Time difference; + int minutes; + + CalcTimeDifference(&difference, &gSaveBlock2Ptr->lastBerryTreeUpdate, localTime); + minutes = 24 * 60 * difference.days + 60 * difference.hours + difference.minutes; + if (minutes != 0) + { + if (minutes >= 0) + { + // BerryTreeTimeUpdate(minutes); + gSaveBlock2Ptr->lastBerryTreeUpdate = *localTime; + } + } +} + +static void ReturnFromStartWallClock(void) +{ + InitTimeBasedEvents(); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void StartWallClock(void) +{ + SetMainCallback2(CB2_StartWallClock); + gMain.savedCallback = ReturnFromStartWallClock; +} diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index 9eb3164e7..6faf217e5 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -13632,9 +13632,9 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}, - {EVO_SPECIFIC_MAP, MAPSEC_VIRIDIAN_FOREST, SPECIES_LEAFEON}, + {EVO_SPECIFIC_MAP, MAP_VIRIDIAN_FOREST, SPECIES_LEAFEON}, {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_LEAFEON}, - {EVO_SPECIFIC_MAP, MAPSEC_SEAFOAM_ISLANDS, SPECIES_GLACEON}, + {EVO_SPECIFIC_MAP, MAP_SEAFOAM_ISLANDS_B4F, SPECIES_GLACEON}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_GLACEON}, {EVO_FRIENDSHIP_MOVE_TYPE, TYPE_FAIRY, SPECIES_SYLVEON}), }, diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index 8a498fff4..c5d89f043 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -1126,7 +1126,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = FOOTPRINT(Crabrawler) .levelUpLearnset = sCrabrawlerLevelUpLearnset, .teachableLearnset = sCrabrawlerTeachableLearnset, - .evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAPSEC_SEAFOAM_ISLANDS, SPECIES_CRABOMINABLE}, + .evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAP_SEAFOAM_ISLANDS_B4F, SPECIES_CRABOMINABLE}, {EVO_ITEM, ITEM_ICE_STONE, SPECIES_CRABOMINABLE}), }, diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index 805fba03d..634401c4c 100644 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -8263,42 +8263,42 @@ { "min_level": 3, "max_level": 3, - "species": "SPECIES_DEOXYS" + "species": "SPECIES_EEVEE" }, { "min_level": 3, "max_level": 3, - "species": "SPECIES_DEOXYS" + "species": "SPECIES_EEVEE" }, { "min_level": 3, "max_level": 3, - "species": "SPECIES_DEOXYS_ATTACK" + "species": "SPECIES_EEVEE" }, { "min_level": 3, "max_level": 3, - "species": "SPECIES_DEOXYS_ATTACK" + "species": "SPECIES_EEVEE" }, { "min_level": 2, "max_level": 2, - "species": "SPECIES_DEOXYS_DEFENSE" + "species": "SPECIES_EEVEE" }, { "min_level": 2, "max_level": 2, - "species": "SPECIES_DEOXYS_DEFENSE" + "species": "SPECIES_EEVEE" }, { "min_level": 3, "max_level": 3, - "species": "SPECIES_DEOXYS_DEFENSE" + "species": "SPECIES_EEVEE" }, { "min_level": 3, "max_level": 3, - "species": "SPECIES_MIMIKYU" + "species": "SPECIES_EEVEE" }, { "min_level": 4, diff --git a/src/event_data.c b/src/event_data.c index fa393a47c..86f74a5ea 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -35,6 +35,9 @@ EWRAM_DATA u16 gSpecialVar_PrevTextColor = 0; EWRAM_DATA u16 gSpecialVar_0x8014 = 0; EWRAM_DATA u8 sSpecialFlags[SPECIAL_FLAGS_SIZE] = {}; +#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1) +#define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8) + u16 gLastQuestLogStoredFlagOrVarIdx; extern u16 *const gSpecialVars[]; @@ -57,6 +60,12 @@ void ClearTempFieldEventData(void) FlagClear(FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER); } + +void ClearDailyFlags(void) +{ + memset(gSaveBlock1Ptr->flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE); +} + // Unused static void DisableNationalPokedex_RSE(void) { @@ -176,11 +185,12 @@ void EnableResetRTC(void) bool32 CanResetRTC(void) { - if (!FlagGet(FLAG_SYS_RESET_RTC_ENABLE)) - return FALSE; - if (VarGet(VAR_RESET_RTC_ENABLE) != 0x0920) - return FALSE; return TRUE; + // if (!FlagGet(FLAG_SYS_RESET_RTC_ENABLE)) + // return FALSE; + // if (VarGet(VAR_RESET_RTC_ENABLE) != 0x0920) + // return FALSE; + // return TRUE; } u16 *GetVarPointer(u16 idx) diff --git a/src/field_specials.c b/src/field_specials.c index 25cde0759..8d0df63b7 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -31,6 +31,8 @@ #include "mystery_gift.h" #include "naming_screen.h" #include "party_menu.h" +#include "rtc.h" +#include "wallclock.h" #include "dynamic_placeholder_text_util.h" #include "new_menu_helpers.h" #include "constants/songs.h" @@ -94,6 +96,13 @@ void ShowDiploma(void) LockPlayerFieldControls(); } +void Special_ViewWallClock(void) +{ + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(CB2_ViewWallClock); + LockPlayerFieldControls(); +} + void ForcePlayerOntoBike(void) { if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ON_FOOT) @@ -160,6 +169,16 @@ void SetHiddenItemFlag(void) FlagSet(gSpecialVar_0x8004); } +u16 GetWeekCount(void) +{ + u16 weekCount = gLocalTime.days / 7; + if (weekCount > 9999) + { + weekCount = 9999; + } + return weekCount; +} + u8 GetLeadMonFriendship(void) { struct Pokemon * pokemon = &gPlayerParty[GetLeadMonIndex()]; diff --git a/src/field_tasks.c b/src/field_tasks.c index ad32f45b3..6d275319a 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -1,6 +1,7 @@ #include "global.h" #include "gflib.h" #include "bike.h" +#include "clock.h" #include "event_data.h" #include "field_camera.h" #include "field_effect_helpers.h" @@ -69,18 +70,45 @@ static void Task_RunPerStepCallback(u8 taskId) sPerStepCallbacks[idx](taskId); } + +// RTC functionality from RS was removed here. +#define tState data[0] #define tAmbientCryState data[1] #define tAmbientCryDelay data[2] -// RTC functionality from RS was removed here. +static void RunTimeBasedEvents(s16 *data) +{ + switch (tState) + { + case 0: + if (*gMain.vblankCounter1 & 0x1000) + { + DoTimeBasedEvents(); + tState++; + } + break; + case 1: + if (!(*gMain.vblankCounter1 & 0x1000)) + { + tState--; + } + break; + } +} + static void Task_RunTimeBasedEvents(u8 taskId) { s16 *data = gTasks[taskId].data; if (!ArePlayerFieldControlsLocked() && !QL_IS_PLAYBACK_STATE) + { + RunTimeBasedEvents(data); UpdateAmbientCry(&tAmbientCryState, &tAmbientCryDelay); + } } +#undef tState + void SetUpFieldTasks(void) { if (!FuncIsActiveTask(Task_RunPerStepCallback)) diff --git a/src/graphics.c b/src/graphics.c index db9ca5829..c5f48d3a8 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1258,6 +1258,12 @@ const u16 gTilesetPalettes_General[][16] = const u32 gTilesetTiles_General[] = INCBIN_U32("data/tilesets/primary/general/tiles.4bpp.lz"); +const u16 gWallClockMale_Pal[] = INCBIN_U16("graphics/wallclock/male.gbapal"); +const u16 gWallClockFemale_Pal[] = INCBIN_U16("graphics/wallclock/female.gbapal"); +const u32 gWallClock_Gfx[] = INCBIN_U32("graphics/wallclock/clock.4bpp.lz"); +const u32 gWallClockStart_Tilemap[] = INCBIN_U32("graphics/wallclock/clock_start.bin.lz"); +const u32 gWallClockView_Tilemap[] = INCBIN_U32("graphics/wallclock/clock_view.bin.lz"); + const u8 gBerryFixGameboy_Pal[] = INCBIN_U8("graphics/berry_fix/gba_small.gbapal"); const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); const u8 gBerryFixGameboy_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_small.bin.lz"); diff --git a/src/intro.c b/src/intro.c index 3d0caef72..24e0a7ef4 100644 --- a/src/intro.c +++ b/src/intro.c @@ -14,6 +14,7 @@ #include "decompress.h" #include "util.h" #include "trig.h" +#include "load_save.h" #include "constants/songs.h" #include "constants/sound.h" @@ -992,12 +993,15 @@ void CB2_InitCopyrightScreenAfterBootup(void) { if (!SetUpCopyrightScreen()) { + SeedRngAndSetTrainerId(); + SetSaveBlocksPointers(); ResetMenuAndMonGlobals(); Save_ResetSaveCounters(); LoadGameSave(SAVE_NORMAL); if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID) Sav2_ClearSetDefault(); SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); + InitHeap(gHeap, HEAP_SIZE); } } diff --git a/src/main.c b/src/main.c index 8ee89c994..15a7429d4 100644 --- a/src/main.c +++ b/src/main.c @@ -4,6 +4,7 @@ #include "link_rfu.h" #include "load_save.h" #include "m4a.h" +#include "rtc.h" #include "random.h" #include "gba/flash_internal.h" #include "help_system.h" @@ -130,6 +131,7 @@ void AgbMain() m4aSoundInit(); EnableVCountIntrAtLine150(); InitRFU(); + RtcInit(); CheckForFlashMemory(); InitMainCallbacks(); InitMapMusic(); @@ -463,6 +465,7 @@ void DoSoftReset(void) DmaStop(1); DmaStop(2); DmaStop(3); + SiiRtcProtect(); SoftReset(RESET_ALL & ~RESET_SIO_REGS); } diff --git a/src/main_menu.c b/src/main_menu.c index 5cef7c46e..b8f14bf8b 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -5,6 +5,7 @@ #include "save.h" #include "event_data.h" #include "menu.h" +#include "rtc.h" #include "link.h" #include "oak_speech.h" #include "overworld.h" @@ -44,6 +45,8 @@ enum MainMenuWindow static bool32 MainMenuGpuInit(u8 a0); static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId); +static void Task_MainMenuCheckBattery(u8); +static void Task_WaitForBatteryDryErrorWindow(u8); static void PrintSaveErrorStatus(u8 taskId, const u8 *str); static void Task_SaveErrorStatus_RunPrinterThenWaitButton(u8 taskId); static void Task_SetWin0BldRegsNoSaveFileCheck(u8 taskId); @@ -241,7 +244,8 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) { gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE; } - gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + // gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + gTasks[taskId].func = Task_MainMenuCheckBattery; break; case SAVE_STATUS_INVALID: SetStdFrame0OnBg(0); @@ -276,6 +280,67 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) } } +static void Task_MainMenuCheckBattery(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0x0001); + SetGpuReg(REG_OFFSET_WINOUT, 0x0021); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetGpuReg(REG_OFFSET_BLDY, 7); + + if (!(RtcGetErrorStatus() & RTC_ERR_FLAG_MASK)) + { + if(gTasks[taskId].tMenuType == MAIN_MENU_NEWGAME) { + LoadUserFrameToBg(0); + gTasks[taskId].tMenuType = MAIN_MENU_NEWGAME; + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + } + else { + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + } + } + else + { + SetStdFrame0OnBg(0); + PrintSaveErrorStatus(taskId, gText_BatteryRunDry); + gTasks[taskId].func = Task_WaitForBatteryDryErrorWindow; + } + } +} + +static void Task_WaitForBatteryDryErrorWindow(u8 taskId) +{ + if (!gPaletteFade.active) + { + RunTextPrinters(); + if(gTasks[taskId].tUnused8 == 3) + { + if(!IsTextPrinterActive(MAIN_MENU_WINDOW_ERROR)) + { + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + } + } + else + { + if (!IsTextPrinterActive(MAIN_MENU_WINDOW_ERROR) && JOY_NEW(A_BUTTON)) + { + ClearWindowTilemap(MAIN_MENU_WINDOW_ERROR); + MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); + LoadUserFrameToBg(0); + + if (gTasks[taskId].tMenuType == MAIN_MENU_NEWGAME) + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; + else + gTasks[taskId].func = Task_PrintMainMenuText; + } + } + } +} + static void PrintSaveErrorStatus(u8 taskId, const u8 *str) { PrintMessageOnWindow4(str); diff --git a/src/new_game.c b/src/new_game.c index feaa543fe..c3ea1e703 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -29,6 +29,8 @@ #include "berry_powder.h" #include "pokemon_jump.h" #include "event_scripts.h" +#include "save.h" +#include "rtc.h" // this file's functions static void ResetMiniGamesResults(void); @@ -107,6 +109,9 @@ void ResetMenuAndMonGlobals(void) void NewGameInitData(void) { u8 rivalName[PLAYER_NAME_LENGTH + 1]; + + if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID) + RtcReset(); StringCopy(rivalName, gSaveBlock1Ptr->rivalName); gDifferentSaveFile = TRUE; diff --git a/src/overworld.c b/src/overworld.c index f3078c596..746e1ff5d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2,6 +2,7 @@ #include "gflib.h" #include "bg_regs.h" #include "cable_club.h" +#include "clock.h" #include "credits.h" #include "event_data.h" #include "event_object_movement.h" @@ -758,6 +759,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum) ResetCyclingRoadChallengeData(); RestartWildEncounterImmunitySteps(); MapResetTrainerRematches(mapGroup, mapNum); + DoTimeBasedEvents(); SetSavedWeatherFromCurrMapHeader(); ChooseAmbientCrySpecies(); SetDefaultFlashLevel(); @@ -793,6 +795,7 @@ static void LoadMapFromWarp(bool32 unused) ResetCyclingRoadChallengeData(); RestartWildEncounterImmunitySteps(); MapResetTrainerRematches(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); + DoTimeBasedEvents(); SetSavedWeatherFromCurrMapHeader(); ChooseAmbientCrySpecies(); if (isOutdoors) @@ -815,6 +818,7 @@ static void QL_LoadMapNormal(void) LoadObjEventTemplatesFromHeader(); isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); TrySetMapSaveWarpStatus(); + DoTimeBasedEvents(); SetSavedWeatherFromCurrMapHeader(); ChooseAmbientCrySpecies(); SetDefaultFlashLevel(); @@ -1684,6 +1688,7 @@ void CB2_ContinueSavedGame(void) LoadSaveblockMapHeader(); LoadSaveblockObjEventScripts(); UnfreezeObjectEvents(); + DoTimeBasedEvents(); Overworld_ResetStateOnContinue(); InitMapFromSavedGame(); PlayTimeCounter_Start(); diff --git a/src/pokemon.c b/src/pokemon.c index 84deafd32..41aa3833a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3,6 +3,7 @@ #include "global.h" #include "gflib.h" #include "random.h" +#include "rtc.h" #include "text.h" #include "data.h" #include "battle.h" @@ -4103,37 +4104,37 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s targetSpecies = evolutions[i].targetSpecies; break; case EVO_FRIENDSHIP_DAY: - if (/*GetTimeOfDay() != TIME_NIGHT &&*/ friendship >= FRIENDSHIP_EVO_THRESHOLD) + if (GetTimeOfDay() != TIME_NIGHT && friendship >= FRIENDSHIP_EVO_THRESHOLD) targetSpecies = evolutions[i].targetSpecies; break; case EVO_LEVEL_DAY: - if (/* GetTimeOfDay() != TIME_NIGHT && */ evolutions[i].param <= level) + if (GetTimeOfDay() != TIME_NIGHT && evolutions[i].param <= level) targetSpecies = evolutions[i].targetSpecies; break; case EVO_FRIENDSHIP_NIGHT: - if (/* GetTimeOfDay() == TIME_NIGHT && */ friendship >= FRIENDSHIP_EVO_THRESHOLD) + if (GetTimeOfDay() == TIME_NIGHT && friendship >= FRIENDSHIP_EVO_THRESHOLD) targetSpecies = evolutions[i].targetSpecies; break; case EVO_LEVEL_NIGHT: - if (/* GetTimeOfDay() == TIME_NIGHT && */ evolutions[i].param <= level) + if (GetTimeOfDay() == TIME_NIGHT && evolutions[i].param <= level) targetSpecies = evolutions[i].targetSpecies; break; case EVO_ITEM_HOLD_NIGHT: - if (/* GetTimeOfDay() == TIME_NIGHT && */ heldItem == evolutions[i].param) + if (GetTimeOfDay() == TIME_NIGHT && heldItem == evolutions[i].param) { targetSpecies = evolutions[i].targetSpecies; consumeItem = TRUE; } break; case EVO_ITEM_HOLD_DAY: - if (/* GetTimeOfDay() != TIME_NIGHT && */ heldItem == evolutions[i].param) + if (GetTimeOfDay() != TIME_NIGHT && heldItem == evolutions[i].param) { targetSpecies = evolutions[i].targetSpecies; consumeItem = TRUE; } break; case EVO_LEVEL_DUSK: - if (/* GetTimeOfDay() == TIME_EVENING && */ evolutions[i].param <= level) + if (GetTimeOfDay() == TIME_EVENING && evolutions[i].param <= level) targetSpecies = evolutions[i].targetSpecies; break; case EVO_LEVEL: @@ -4374,11 +4375,11 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s targetSpecies = evolutions[i].targetSpecies; break; case EVO_ITEM_NIGHT: - if (/* GetTimeOfDay() == TIME_NIGHT && */ evolutions[i].param == evolutionItem) + if (GetTimeOfDay() == TIME_NIGHT && evolutions[i].param == evolutionItem) targetSpecies = evolutions[i].targetSpecies; break; case EVO_ITEM_DAY: - if (/* GetTimeOfDay() != TIME_NIGHT && */ evolutions[i].param == evolutionItem) + if (GetTimeOfDay() != TIME_NIGHT && evolutions[i].param == evolutionItem) targetSpecies = evolutions[i].targetSpecies; break; } @@ -4949,14 +4950,44 @@ u16 GetMonEVCount(struct Pokemon *mon) return count; } -// This function was stubbed from RS, but it is stubbed badly. -// This variable is likely the u8 passed to SetMonData in RSE. -// The pointer reference causes agbcc to reserve it on the stack before even checking -// whether it's used. void RandomlyGivePartyPokerus(struct Pokemon *party) { - u8 foo; - &foo; + u16 rnd = Random(); + if (rnd == 0x4000 || rnd == 0x8000 || rnd == 0xC000) + { + struct Pokemon *mon; + + do + { + do + { + rnd = Random() % PARTY_SIZE; + mon = &party[rnd]; + } + while (!GetMonData(mon, MON_DATA_SPECIES, 0)); + } + while (GetMonData(mon, MON_DATA_IS_EGG, 0)); + + if (!(CheckPartyHasHadPokerus(party, gBitTable[rnd]))) + { + u8 rnd2; + + do + { + rnd2 = Random(); + } + while ((rnd2 & 0x7) == 0); + + if (rnd2 & 0xF0) + rnd2 &= 0x7; + + rnd2 |= (rnd2 << 4); + rnd2 &= 0xF3; + rnd2++; + + SetMonData(&party[rnd], MON_DATA_POKERUS, &rnd2); + } + } } u8 CheckPartyPokerus(struct Pokemon *party, u8 selection) @@ -5017,16 +5048,58 @@ u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection) // These two functions are stubbed from RS, but they're stubbed badly. // See note on RandomlyGivePartyPokerus above. -static void UpdatePartyPokerusTime(void) +void UpdatePartyPokerusTime(u16 days) { - u8 foo; - &foo; + int i; + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, 0)) + { + u8 pokerus = GetMonData(&gPlayerParty[i], MON_DATA_POKERUS, 0); + if (pokerus & 0xF) + { + if ((pokerus & 0xF) < days || days > 4) + pokerus &= 0xF0; + else + pokerus -= days; + + if (pokerus == 0) + pokerus = 0x10; + + SetMonData(&gPlayerParty[i], MON_DATA_POKERUS, &pokerus); + } + } + } } void PartySpreadPokerus(struct Pokemon *party) { - u8 foo; - &foo; + if ((Random() % 3) == 0) + { + int i; + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&party[i], MON_DATA_SPECIES, 0)) + { + u8 pokerus = GetMonData(&party[i], MON_DATA_POKERUS, 0); + u8 curPokerus = pokerus; + if (pokerus) + { + if (pokerus & 0xF) + { + // Spread to adjacent party members. + if (i != 0 && !(GetMonData(&party[i - 1], MON_DATA_POKERUS, 0) & 0xF0)) + SetMonData(&party[i - 1], MON_DATA_POKERUS, &curPokerus); + if (i != (PARTY_SIZE - 1) && !(GetMonData(&party[i + 1], MON_DATA_POKERUS, 0) & 0xF0)) + { + SetMonData(&party[i + 1], MON_DATA_POKERUS, &curPokerus); + i++; + } + } + } + } + } + } } static void SetMonExpWithMaxLevelCheck(struct Pokemon *mon, int species, u8 unused, u32 data) @@ -5926,18 +5999,15 @@ u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *boxMon, u16 method, u32 case FORM_CHANGE_ITEM_USE: if (arg == formChanges[i].param1) { - // TODO: time switch (formChanges[i].param2) { case DAY: - // if (GetTimeOfDay() != TIME_NIGHT) - // targetSpecies = formChanges[i].targetSpecies; - targetSpecies = SPECIES_NONE; + if (GetTimeOfDay() != TIME_NIGHT) + targetSpecies = formChanges[i].targetSpecies; break; case NIGHT: - // if (GetTimeOfDay() == TIME_NIGHT) - // targetSpecies = formChanges[i].targetSpecies; - targetSpecies = SPECIES_NONE; + if (GetTimeOfDay() == TIME_NIGHT) + targetSpecies = formChanges[i].targetSpecies; break; default: targetSpecies = formChanges[i].targetSpecies; @@ -5971,20 +6041,17 @@ u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *boxMon, u16 method, u32 targetSpecies = formChanges[i].targetSpecies; break; case FORM_CHANGE_TIME_OF_DAY: - // TODO: time - // switch (formChanges[i].param1) - // { - // case DAY: - // if (GetTimeOfDay() != TIME_NIGHT) - // targetSpecies = formChanges[i].targetSpecies; - // break; - // case NIGHT: - // if (GetTimeOfDay() == TIME_NIGHT) - // targetSpecies = formChanges[i].targetSpecies; - // break; - // } - // break; - targetSpecies = SPECIES_NONE; + switch (formChanges[i].param1) + { + case DAY: + if (GetTimeOfDay() != TIME_NIGHT) + targetSpecies = formChanges[i].targetSpecies; + break; + case NIGHT: + if (GetTimeOfDay() == TIME_NIGHT) + targetSpecies = formChanges[i].targetSpecies; + break; + } break; } } diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c new file mode 100644 index 000000000..789a4ea82 --- /dev/null +++ b/src/reset_rtc_screen.c @@ -0,0 +1,766 @@ +#include "global.h" +#include "reset_rtc_screen.h" +#include "new_menu_helpers.h" +#include "event_data.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "rtc.h" +#include "save.h" +#include "sprite.h" +#include "constants/songs.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "scanline_effect.h" +#include "bg.h" +#include "window.h" +#include "gpu_regs.h" +#include "constants/rgb.h" + +#define PALTAG_ARROW 0x1000 + +// Task data for the Task_ResetRtc_* series of tasks, when setting the time on the clock +// Data from these tasks is also used by the cursors and the main task (Task_ResetRtcScreen) +enum { + DATAIDX_DAYS = 3, + DATAIDX_HOURS, + DATAIDX_MINS, + DATAIDX_SECS, + DATAIDX_CONFIRM, +}; +#define tFinished data[0] +#define tSetTime data[1] +#define tSelection data[2] +#define tDays data[DATAIDX_DAYS] +#define tHours data[DATAIDX_HOURS] +#define tMinutes data[DATAIDX_MINS] +#define tSeconds data[DATAIDX_SECS] +#define tConfirm data[DATAIDX_CONFIRM] +#define tWindowId data[8] + +enum { + SELECTION_DAYS = 1, + SELECTION_HOURS, + SELECTION_MINS, + SELECTION_SECS, + SELECTION_CONFIRM, + SELECTION_NONE +}; + +enum { + WIN_TIME, + WIN_MSG, +}; + +struct ResetRtcInputMap +{ + /*0x0*/ u8 dataIndex; + /*0x2*/ u16 minVal; + /*0x4*/ u16 maxVal; + /*0x6*/ u8 left; + /*0x7*/ u8 right; + /*0x8*/ u8 unk; // never read +}; + +static void CB2_ResetRtcScreen(void); +static void VBlankCB(void); +static void Task_ResetRtcScreen(u8 taskId); +static void InitResetRtcScreenBgAndWindows(void); + +static const struct BgTemplate sBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +static const struct WindowTemplate sWindowTemplates[] = +{ + [WIN_TIME] = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 19, + .height = 9, + .paletteNum = 15, + .baseBlock = 0x155 + }, + [WIN_MSG] = { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xE9 + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sInputTimeWindow = { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 9, + .width = 21, + .height = 2, + .paletteNum = 15, + .baseBlock = 0xBF +}; + +static const struct ResetRtcInputMap sInputMap[] = +{ + [SELECTION_DAYS - 1] = { + .dataIndex = DATAIDX_DAYS, + .minVal = 1, + .maxVal = 9999, + .left = 0, + .right = 2, + .unk = 0, + }, + [SELECTION_HOURS - 1] = { + .dataIndex = DATAIDX_HOURS, + .minVal = 0, + .maxVal = 23, + .left = 1, + .right = 3, + .unk = 0, + }, + [SELECTION_MINS - 1] = { + .dataIndex = DATAIDX_MINS, + .minVal = 0, + .maxVal = 59, + .left = 2, + .right = 4, + .unk = 0, + }, + [SELECTION_SECS - 1] = { + .dataIndex = DATAIDX_SECS, + .minVal = 0, + .maxVal = 59, + .left = 3, + .right = 5, + .unk = 0, + }, + [SELECTION_CONFIRM - 1] = { + .dataIndex = DATAIDX_CONFIRM, + .minVal = 0, + .maxVal = 0, + .left = 4, + .right = 0, + .unk = 6, + }, +}; + +static const struct OamData sOamData_Arrow = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; +static const u8 sResetRtcScreen_DownArrowGfx[] = INCBIN_U8("graphics/misc/reset_rtc_screen_downarrow.4bpp"); +static const u8 sResetRtcScreen_RightArrowGfx[] = INCBIN_U8("graphics/misc/reset_rtc_screen_rightarrow.4bpp"); +static const u16 sResetRtcScreen_ArrowPal[] = INCBIN_U16("graphics/misc/reset_rtc_screen_arrow.gbapal"); + +// static const u8 sArrowDown_Gfx[] = INCBIN_U8("graphics/reset_rtc_screen/arrow_down.4bpp"); +// static const u8 sArrowRight_Gfx[] = INCBIN_U8("graphics/reset_rtc_screen/arrow_right.4bpp"); +// static const u16 sArrow_Pal[] = INCBIN_U16("graphics/reset_rtc_screen/arrow.gbapal"); + +static const struct SpriteFrameImage sPicTable_Arrow[] = +{ + obj_frame_tiles(sResetRtcScreen_DownArrowGfx), + obj_frame_tiles(sResetRtcScreen_RightArrowGfx) +}; + +const struct SpritePalette gSpritePalette_Arrow = +{ + sResetRtcScreen_ArrowPal, PALTAG_ARROW +}; + +static const union AnimCmd sAnim_Arrow_Down[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_Arrow_Up[] = +{ + ANIMCMD_FRAME(0, 30, .vFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_Arrow_Right[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0), +}; + +enum { + ARROW_DOWN, + ARROW_UP, + ARROW_RIGHT, +}; + +static const union AnimCmd *const sAnims_Arrow[] = +{ + [ARROW_DOWN] = sAnim_Arrow_Down, + [ARROW_UP] = sAnim_Arrow_Up, + [ARROW_RIGHT] = sAnim_Arrow_Right, +}; + +const struct SpriteTemplate gSpriteTemplate_Arrow = +{ + .tileTag = TAG_NONE, + .paletteTag = PALTAG_ARROW, + .oam = &sOamData_Arrow, + .anims = sAnims_Arrow, + .images = sPicTable_Arrow, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +#define sTaskId data[0] +#define sState data[1] + +static void SpriteCB_Cursor_UpOrRight(struct Sprite *sprite) +{ + int state = gTasks[sprite->sTaskId].tSelection; + if (state != sprite->sState) + { + sprite->sState = state; + switch (state) + { + case SELECTION_DAYS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_UP; + sprite->animDelayCounter = 0; + sprite->x = 53; + sprite->y = 68; + break; + case SELECTION_HOURS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_UP; + sprite->animDelayCounter = 0; + sprite->x = 86; + sprite->y = 68; + break; + case SELECTION_MINS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_UP; + sprite->animDelayCounter = 0; + sprite->x = 101; + sprite->y = 68; + break; + case SELECTION_SECS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_UP; + sprite->animDelayCounter = 0; + sprite->x = 116; + sprite->y = 68; + break; + case SELECTION_CONFIRM: + sprite->invisible = FALSE; + sprite->animNum = ARROW_RIGHT; + sprite->animDelayCounter = 0; + sprite->x = 153; + sprite->y = 80; + break; + case SELECTION_NONE: + DestroySprite(sprite); + break; + } + } +} + +static void SpriteCB_Cursor_Down(struct Sprite *sprite) +{ + int state = gTasks[sprite->sTaskId].tSelection; + if (state != sprite->sState) + { + sprite->sState = state; + switch (state) + { + case SELECTION_DAYS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_DOWN; + sprite->animDelayCounter = 0; + sprite->x = 53; + sprite->y = 92; + break; + case SELECTION_HOURS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_DOWN; + sprite->animDelayCounter = 0; + sprite->x = 86; + sprite->y = 92; + break; + case SELECTION_MINS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_DOWN; + sprite->animDelayCounter = 0; + sprite->x = 101; + sprite->y = 92; + break; + case SELECTION_SECS: + sprite->invisible = FALSE; + sprite->animNum = ARROW_DOWN; + sprite->animDelayCounter = 0; + sprite->x = 116; + sprite->y = 92; + break; + case SELECTION_CONFIRM: + // The up arrow is used as a right arrow when Confirm is selected + // Hide the down arrow + sprite->invisible = TRUE; + break; + case SELECTION_NONE: + DestroySprite(sprite); + break; + } + } +} + +static void CreateCursor(u8 taskId) +{ + u32 spriteId; + + LoadSpritePalette(&gSpritePalette_Arrow); + + spriteId = CreateSpriteAtEnd(&gSpriteTemplate_Arrow, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_Cursor_UpOrRight; + gSprites[spriteId].sTaskId = taskId; + gSprites[spriteId].sState = -1; + + spriteId = CreateSpriteAtEnd(&gSpriteTemplate_Arrow, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_Cursor_Down; + gSprites[spriteId].sTaskId = taskId; + gSprites[spriteId].sState = -1; +} + +static void FreeCursorPalette(void) +{ + FreeSpritePaletteByTag(gSpritePalette_Arrow.tag); +} + +static void HideChooseTimeWindow(u8 windowId) +{ + ClearStdWindowAndFrameToTransparent(windowId, FALSE); + RemoveWindow(windowId); + ScheduleBgCopyTilemapToVram(0); +} + +static void PrintTime(u8 windowId, u8 x, u8 y, u16 days, u8 hours, u8 minutes, u8 seconds) +{ + u8 *dest = gStringVar4; + + // Print days + ConvertIntToDecimalStringN(gStringVar1, days, STR_CONV_MODE_RIGHT_ALIGN, 4); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Day); + + // Print hours + ConvertIntToDecimalStringN(gStringVar1, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Colon3); + + // Print minutes + ConvertIntToDecimalStringN(gStringVar1, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Colon3); + + // Print seconds + ConvertIntToDecimalStringN(gStringVar1, seconds, STR_CONV_MODE_LEADING_ZEROS, 2); + dest = StringCopy(dest, gStringVar1); + + AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, x, y, TEXT_SKIP_DRAW, NULL); +} + +static void ShowChooseTimeWindow(u8 windowId, u16 days, u8 hours, u8 minutes, u8 seconds) +{ + DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, 0x214, 0xE); + PrintTime(windowId, 0, 1, days, hours, minutes, seconds); + AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_Confirm2, 126, 1, 0, NULL); + ScheduleBgCopyTilemapToVram(0); +} + +static bool32 MoveTimeUpDown(s16 *val, int minVal, int maxVal, u16 keys) +{ + if (keys & DPAD_DOWN) + { + *val -= 1; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_UP) + { + *val += 1; + if (*val > maxVal) + *val = minVal; + } + else if (keys & DPAD_LEFT) + { + *val -= 10; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_RIGHT) + { + *val += 10; + if (*val > maxVal) + *val = minVal; + } + else + { + return FALSE; + } + + return TRUE; +} + +static void Task_ResetRtc_SetFinished(u8 taskId) +{ + gTasks[taskId].tFinished = TRUE; +} + +static void Task_ResetRtc_Exit(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + HideChooseTimeWindow(tWindowId); + FreeCursorPalette(); + gTasks[taskId].func = Task_ResetRtc_SetFinished; +} + +static void Task_ResetRtc_HandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 selection = tSelection; + const struct ResetRtcInputMap *selectionInfo = &sInputMap[selection - 1]; + + if (JOY_NEW(B_BUTTON)) + { + gTasks[taskId].func = Task_ResetRtc_Exit; + tSetTime = FALSE; + tSelection = SELECTION_NONE; + PlaySE(SE_SELECT); + return; + } + + if (JOY_NEW(DPAD_RIGHT)) + { + if (selectionInfo->right) + { + tSelection = selectionInfo->right; + PlaySE(SE_SELECT); + return; + } + } + + if (JOY_NEW(DPAD_LEFT)) + { + if (selectionInfo->left) + { + tSelection = selectionInfo->left; + PlaySE(SE_SELECT); + return; + } + } + + if (selection == SELECTION_CONFIRM) + { + if (JOY_NEW(A_BUTTON)) + { + gLocalTime.days = tDays; + gLocalTime.hours = tHours; + gLocalTime.minutes = tMinutes; + gLocalTime.seconds = tSeconds; + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_ResetRtc_Exit; + tSetTime = TRUE; + tSelection = SELECTION_NONE; + } + } + else if (MoveTimeUpDown(&data[selectionInfo->dataIndex], selectionInfo->minVal, selectionInfo->maxVal, JOY_REPT(DPAD_UP | DPAD_DOWN))) + { + PlaySE(SE_SELECT); + PrintTime(tWindowId, 0, 1, tDays, tHours, tMinutes, tSeconds); + CopyWindowToVram(tWindowId, COPYWIN_GFX); + } +} + +static void Task_ResetRtc_Init(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + tFinished = FALSE; + tDays = gLocalTime.days; + tHours = gLocalTime.hours; + tMinutes = gLocalTime.minutes; + tSeconds = gLocalTime.seconds; + tWindowId = AddWindow(&sInputTimeWindow); + ShowChooseTimeWindow(tWindowId, tDays, tHours, tMinutes, tSeconds); + CreateCursor(taskId); + tSelection = SELECTION_HOURS; + gTasks[taskId].func = Task_ResetRtc_HandleInput; +} + +void CB2_InitResetRtcScreen(void) +{ +#ifdef FIRERED + FillPalette(RGB(30, 18, 11), 0, PLTT_SIZE); +#endif +#ifdef LEAFGREEN + FillPalette(RGB(23, 28, 11), 0, PLTT_SIZE); +#endif + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + ResetBgsAndClearDma3BusyFlags(FALSE); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + + DmaClear16(3, PLTT, PLTT_SIZE); + DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000); + ResetOamRange(0, 128); + LoadOam(); + ScanlineEffect_Stop(); + ScanlineEffect_Clear(); + ResetSpriteData(); + ResetTasks(); + ResetPaletteFade(); + InitResetRtcScreenBgAndWindows(); + SetVBlankCallback(VBlankCB); + SetMainCallback2(CB2_ResetRtcScreen); + CreateTask(Task_ResetRtcScreen, 80); +} + +static void InitResetRtcScreenBgAndWindows(void) +{ + ClearScheduledBgCopiesToVram(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); + ScheduleBgCopyTilemapToVram(0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + LoadStdWindowFrameGfx(); +} + +static void CB2_ResetRtcScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + DoScheduledBgTilemapCopiesToVram(); + UpdatePaletteFade(); +} + +static void VBlankCB(void) +{ + ProcessSpriteCopyRequests(); + LoadOam(); + TransferPlttBuffer(); +} + +static void ShowMessage(const u8 *str) +{ + DrawDialogFrameWithCustomTileAndPalette(WIN_MSG, FALSE, 0x200, 0xF); + AddTextPrinterParameterized(WIN_MSG, FONT_NORMAL, str, 0, 1, 0, NULL); + ScheduleBgCopyTilemapToVram(0); +} + +#define tState data[0] + +static void Task_ShowResetRtcPrompt(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: + DrawStdFrameWithCustomTileAndPalette(WIN_TIME, FALSE, 0x214, 0xE); + + AddTextPrinterParameterized(WIN_TIME, FONT_NORMAL, gText_PresentTime, 0, 1, TEXT_SKIP_DRAW, 0); + PrintTime( + WIN_TIME, + 0, + 17, + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + + AddTextPrinterParameterized(WIN_TIME, FONT_NORMAL, gText_PreviousTime, 0, 33, TEXT_SKIP_DRAW, 0); + PrintTime( + WIN_TIME, + 0, + 49, + gSaveBlock2Ptr->lastBerryTreeUpdate.days, + gSaveBlock2Ptr->lastBerryTreeUpdate.hours, + gSaveBlock2Ptr->lastBerryTreeUpdate.minutes, + gSaveBlock2Ptr->lastBerryTreeUpdate.seconds); + + ShowMessage(gText_ResetRTCConfirmCancel); + CopyWindowToVram(WIN_TIME, COPYWIN_GFX); + ScheduleBgCopyTilemapToVram(0); + tState++; + case 1: + if (JOY_NEW(B_BUTTON)) + { + // Cancel, exit without resetting RTC + DestroyTask(taskId); + DoSoftReset(); + } + else if (JOY_NEW(A_BUTTON)) + { + // Confirm + PlaySE(SE_SELECT); + DestroyTask(taskId); + } + break; + } +} + +#undef tState + +// Task states for Task_ResetRtcScreen +enum { + MAINSTATE_FADE_IN, + MAINSTATE_CHECK_SAVE, + MAINSTATE_START_SET_TIME, + MAINSTATE_WAIT_SET_TIME, + MAINSTATE_SAVE, + MAINSTATE_WAIT_EXIT, + MAINSTATE_EXIT, +}; + +#define tState data[0] +#define tSubTaskId data[1] + +static void Task_ResetRtcScreen(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case MAINSTATE_FADE_IN: + BeginNormalPaletteFade(PALETTES_ALL, 1, 0x10, 0, RGB_WHITEALPHA); + tState = MAINSTATE_CHECK_SAVE; + break; + case MAINSTATE_CHECK_SAVE: + if (!gPaletteFade.active) + { + if (gSaveFileStatus == SAVE_STATUS_EMPTY + || gSaveFileStatus == SAVE_STATUS_INVALID) + { + ShowMessage(gText_NoSaveFileCantSetTime); + tState = MAINSTATE_WAIT_EXIT; + } + else + { + RtcCalcLocalTime(); + tSubTaskId = CreateTask(Task_ShowResetRtcPrompt, 80); + tState = MAINSTATE_START_SET_TIME; + } + } + break; + case MAINSTATE_START_SET_TIME: + // Wait for A or B press on prompt first + if (gTasks[tSubTaskId].isActive != TRUE) + { + ClearStdWindowAndFrameToTransparent(WIN_TIME, FALSE); + ShowMessage(gText_PleaseResetTime); + gLocalTime = gSaveBlock2Ptr->lastBerryTreeUpdate; + tSubTaskId = CreateTask(Task_ResetRtc_Init, 80); + tState = MAINSTATE_WAIT_SET_TIME; + } + break; + case MAINSTATE_WAIT_SET_TIME: + if (gTasks[tSubTaskId].tFinished) + { + if (!gTasks[tSubTaskId].tSetTime) + { + // Exited without setting time, return to "Please reset time" + DestroyTask(tSubTaskId); + tState = MAINSTATE_START_SET_TIME; + } + else + { + // Time has been chosen, reset rtc and save + DestroyTask(tSubTaskId); + RtcReset(); + RtcCalcLocalTimeOffset( + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + gSaveBlock2Ptr->lastBerryTreeUpdate = gLocalTime; + VarSet(VAR_DAYS, gLocalTime.days); + DisableResetRTC(); + ShowMessage(gText_ClockHasBeenReset); + tState = MAINSTATE_SAVE; + } + } + break; + case MAINSTATE_SAVE: + if (TrySavingData(SAVE_NORMAL) == SAVE_STATUS_OK) + { + ShowMessage(gText_SaveCompleted); + PlaySE(SE_DING_DONG); + } + else + { + ShowMessage(gText_SaveFailed); + PlaySE(SE_BOO); + } + tState = MAINSTATE_WAIT_EXIT; + // fallthrough + case MAINSTATE_WAIT_EXIT: + if (JOY_NEW(A_BUTTON)) + { + BeginNormalPaletteFade(PALETTES_ALL, 1, 0, 0x10, RGB_WHITEALPHA); + tState = MAINSTATE_EXIT; + // fallthrough + } + else + { + break; + } + case MAINSTATE_EXIT: + if (!gPaletteFade.active) + { + DestroyTask(taskId); + FreeAllWindowBuffers(); + DoSoftReset(); + } + } +} diff --git a/src/rtc.c b/src/rtc.c new file mode 100644 index 000000000..4339fa0ef --- /dev/null +++ b/src/rtc.c @@ -0,0 +1,366 @@ +#include "global.h" +#include "rtc.h" +#include "string_util.h" +#include "text.h" + +// iwram bss +static u16 sErrorStatus; +static struct SiiRtcInfo sRtc; +static u8 sProbeResult; +static u16 sSavedIme; + +// iwram common +struct Time gLocalTime; + +// const rom + +static const struct SiiRtcInfo sRtcDummy = {0, MONTH_JAN, 1}; // 2000 Jan 1 + +static const s32 sNumDaysInMonths[12] = +{ + 31, + 28, + 31, + 30, + 31, + 30, + 31, + 31, + 30, + 31, + 30, + 31, +}; + +void RtcDisableInterrupts(void) +{ + sSavedIme = REG_IME; + REG_IME = 0; +} + +void RtcRestoreInterrupts(void) +{ + REG_IME = sSavedIme; +} + +u32 ConvertBcdToBinary(u8 bcd) +{ + if (bcd > 0x9F) + return 0xFF; + + if ((bcd & 0xF) <= 9) + return (10 * ((bcd >> 4) & 0xF)) + (bcd & 0xF); + else + return 0xFF; +} + +bool8 IsLeapYear(u32 year) +{ + if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) + return TRUE; + + return FALSE; +} + +u16 ConvertDateToDayCount(u8 year, u8 month, u8 day) +{ + s32 i; + u16 dayCount = 0; + + for (i = year - 1; i >= 0; i--) + { + dayCount += 365; + + if (IsLeapYear(i) == TRUE) + dayCount++; + } + + for (i = 0; i < month - 1; i++) + dayCount += sNumDaysInMonths[i]; + + if (month > MONTH_FEB && IsLeapYear(year) == TRUE) + dayCount++; + + dayCount += day; + + return dayCount; +} + +u16 RtcGetDayCount(struct SiiRtcInfo *rtc) +{ + u8 year = ConvertBcdToBinary(rtc->year); + u8 month = ConvertBcdToBinary(rtc->month); + u8 day = ConvertBcdToBinary(rtc->day); + return ConvertDateToDayCount(year, month, day); +} + +void RtcInit(void) +{ + sErrorStatus = 0; + + RtcDisableInterrupts(); + SiiRtcUnprotect(); + sProbeResult = SiiRtcProbe(); + RtcRestoreInterrupts(); + + if ((sProbeResult & 0xF) != 1) + { + sErrorStatus = RTC_INIT_ERROR; + return; + } + + if (sProbeResult & 0xF0) + sErrorStatus = RTC_INIT_WARNING; + else + sErrorStatus = 0; + + RtcGetRawInfo(&sRtc); + sErrorStatus = RtcCheckInfo(&sRtc); +} + +u16 RtcGetErrorStatus(void) +{ + return sErrorStatus; +} + +void RtcGetInfo(struct SiiRtcInfo *rtc) +{ + if (sErrorStatus & RTC_ERR_FLAG_MASK) + *rtc = sRtcDummy; + else + RtcGetRawInfo(rtc); +} + +void RtcGetDateTime(struct SiiRtcInfo *rtc) +{ + RtcDisableInterrupts(); + SiiRtcGetDateTime(rtc); + RtcRestoreInterrupts(); +} + +void RtcGetStatus(struct SiiRtcInfo *rtc) +{ + RtcDisableInterrupts(); + SiiRtcGetStatus(rtc); + RtcRestoreInterrupts(); +} + +void RtcGetRawInfo(struct SiiRtcInfo *rtc) +{ + RtcGetStatus(rtc); + RtcGetDateTime(rtc); +} + +u16 RtcCheckInfo(struct SiiRtcInfo *rtc) +{ + u16 errorFlags = 0; + s32 year; + s32 month; + s32 value; + + if (rtc->status & SIIRTCINFO_POWER) + errorFlags |= RTC_ERR_POWER_FAILURE; + + if (!(rtc->status & SIIRTCINFO_24HOUR)) + errorFlags |= RTC_ERR_12HOUR_CLOCK; + + year = ConvertBcdToBinary(rtc->year); + + if (year == 0xFF) + errorFlags |= RTC_ERR_INVALID_YEAR; + + month = ConvertBcdToBinary(rtc->month); + + if (month == 0xFF || month == 0 || month > 12) + errorFlags |= RTC_ERR_INVALID_MONTH; + + value = ConvertBcdToBinary(rtc->day); + + if (value == 0xFF) + errorFlags |= RTC_ERR_INVALID_DAY; + + if (month == MONTH_FEB) + { + if (value > IsLeapYear(year) + sNumDaysInMonths[month - 1]) + errorFlags |= RTC_ERR_INVALID_DAY; + } + else + { + if (value > sNumDaysInMonths[month - 1]) + errorFlags |= RTC_ERR_INVALID_DAY; + } + + value = ConvertBcdToBinary(rtc->hour); + + if (value > 24) + errorFlags |= RTC_ERR_INVALID_HOUR; + + value = ConvertBcdToBinary(rtc->minute); + + if (value > 60) + errorFlags |= RTC_ERR_INVALID_MINUTE; + + value = ConvertBcdToBinary(rtc->second); + + if (value > 60) + errorFlags |= RTC_ERR_INVALID_SECOND; + + return errorFlags; +} + +void RtcReset(void) +{ + RtcDisableInterrupts(); + SiiRtcReset(); + RtcRestoreInterrupts(); +} + +void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second) +{ + dest = ConvertIntToDecimalStringN(dest, hour, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_COLON; + dest = ConvertIntToDecimalStringN(dest, minute, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_COLON; + dest = ConvertIntToDecimalStringN(dest, second, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest = EOS; +} + +void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second) +{ + dest = ConvertIntToHexStringN(dest, hour, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_COLON; + dest = ConvertIntToHexStringN(dest, minute, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_COLON; + dest = ConvertIntToHexStringN(dest, second, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest = EOS; +} + +void FormatHexRtcTime(u8 *dest) +{ + FormatHexTime(dest, sRtc.hour, sRtc.minute, sRtc.second); +} + +void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day) +{ + dest = ConvertIntToDecimalStringN(dest, year, STR_CONV_MODE_LEADING_ZEROS, 4); + *dest++ = CHAR_HYPHEN; + dest = ConvertIntToDecimalStringN(dest, month, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_HYPHEN; + dest = ConvertIntToDecimalStringN(dest, day, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest = EOS; +} + +void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) +{ + dest = ConvertIntToHexStringN(dest, year, STR_CONV_MODE_LEADING_ZEROS, 4); + *dest++ = CHAR_HYPHEN; + dest = ConvertIntToHexStringN(dest, month, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest++ = CHAR_HYPHEN; + dest = ConvertIntToHexStringN(dest, day, STR_CONV_MODE_LEADING_ZEROS, 2); + *dest = EOS; +} + +void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t) +{ + u16 days = RtcGetDayCount(rtc); + result->seconds = ConvertBcdToBinary(rtc->second) - t->seconds; + result->minutes = ConvertBcdToBinary(rtc->minute) - t->minutes; + result->hours = ConvertBcdToBinary(rtc->hour) - t->hours; + result->days = days - t->days; + + if (result->seconds < 0) + { + result->seconds += 60; + --result->minutes; + } + + if (result->minutes < 0) + { + result->minutes += 60; + --result->hours; + } + + if (result->hours < 0) + { + result->hours += 24; + --result->days; + } +} + +bool8 IsBetweenHours(s32 hours, s32 begin, s32 end) +{ + if (end < begin) + return hours >= begin || hours < end; + else + return hours >= begin && hours < end; +} + +u8 GetTimeOfDay(void) +{ + RtcCalcLocalTime(); + if (IsBetweenHours(gLocalTime.hours, MORNING_HOUR_BEGIN, MORNING_HOUR_END)) + return TIME_MORNING; + else if (IsBetweenHours(gLocalTime.hours, EVENING_HOUR_BEGIN, EVENING_HOUR_END)) + return TIME_EVENING; + else if (IsBetweenHours(gLocalTime.hours, NIGHT_HOUR_BEGIN, NIGHT_HOUR_END)) + return TIME_NIGHT; + return TIME_DAY; +} + +void RtcCalcLocalTime(void) +{ + RtcGetInfo(&sRtc); + RtcCalcTimeDifference(&sRtc, &gLocalTime, &gSaveBlock2Ptr->localTimeOffset); +} + +void RtcInitLocalTimeOffset(s32 hour, s32 minute) +{ + RtcCalcLocalTimeOffset(0, hour, minute, 0); +} + +void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds) +{ + gLocalTime.days = days; + gLocalTime.hours = hours; + gLocalTime.minutes = minutes; + gLocalTime.seconds = seconds; + RtcGetInfo(&sRtc); + RtcCalcTimeDifference(&sRtc, &gSaveBlock2Ptr->localTimeOffset, &gLocalTime); +} + +void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2) +{ + result->seconds = t2->seconds - t1->seconds; + result->minutes = t2->minutes - t1->minutes; + result->hours = t2->hours - t1->hours; + result->days = t2->days - t1->days; + + if (result->seconds < 0) + { + result->seconds += 60; + --result->minutes; + } + + if (result->minutes < 0) + { + result->minutes += 60; + --result->hours; + } + + if (result->hours < 0) + { + result->hours += 24; + --result->days; + } +} + +u32 RtcGetMinuteCount(void) +{ + RtcGetInfo(&sRtc); + return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; +} + +u32 RtcGetLocalDayCount(void) +{ + return RtcGetDayCount(&sRtc); +} diff --git a/src/scrcmd.c b/src/scrcmd.c index 7ae2c2593..51394e7c6 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1,5 +1,7 @@ #include "global.h" #include "gflib.h" +#include "clock.h" +#include "rtc.h" #include "script.h" #include "mystery_event_script.h" #include "event_data.h" @@ -656,28 +658,25 @@ bool8 ScrCmd_delay(struct ScriptContext * ctx) bool8 ScrCmd_initclock(struct ScriptContext * ctx) { -// u8 hour = VarGet(ScriptReadHalfword(ctx)); -// u8 minute = VarGet(ScriptReadHalfword(ctx)); -// -// RtcInitLocalTimeOffset(hour, minute); + u8 hour = VarGet(ScriptReadHalfword(ctx)); + u8 minute = VarGet(ScriptReadHalfword(ctx)); + + RtcInitLocalTimeOffset(hour, minute); return FALSE; } bool8 ScrCmd_dotimebasedevents(struct ScriptContext * ctx) { -// DoTimeBasedEvents(); + DoTimeBasedEvents(); return FALSE; } bool8 ScrCmd_gettime(struct ScriptContext * ctx) { -// RtcCalcLocalTime(); -// gSpecialVar_0x8000 = gLocalTime.hours; -// gSpecialVar_0x8001 = gLocalTime.minutes; -// gSpecialVar_0x8002 = gLocalTime.seconds; - gSpecialVar_0x8000 = 0; - gSpecialVar_0x8001 = 0; - gSpecialVar_0x8002 = 0; + RtcCalcLocalTime(); + gSpecialVar_0x8000 = gLocalTime.hours; + gSpecialVar_0x8001 = gLocalTime.minutes; + gSpecialVar_0x8002 = gLocalTime.seconds; return FALSE; } diff --git a/src/siirtc.c b/src/siirtc.c new file mode 100644 index 000000000..5c153a841 --- /dev/null +++ b/src/siirtc.c @@ -0,0 +1,445 @@ +// Ruby/Sapphire/Emerald cartridges contain a Seiko Instruments Inc. (SII) +// S-3511A real-time clock (RTC). This library ("SIIRTC_V001") is for +// communicating with the RTC. + +#include "gba/gba.h" +#include "siirtc.h" + +#define STATUS_INTFE 0x02 // frequency interrupt enable +#define STATUS_INTME 0x08 // per-minute interrupt enable +#define STATUS_INTAE 0x20 // alarm interrupt enable +#define STATUS_24HOUR 0x40 // 0: 12-hour mode, 1: 24-hour mode +#define STATUS_POWER 0x80 // power on or power failure occurred + +#define TEST_MODE 0x80 // flag in the "second" byte + +#define ALARM_AM 0x00 +#define ALARM_PM 0x80 + +#define OFFSET_YEAR offsetof(struct SiiRtcInfo, year) +#define OFFSET_MONTH offsetof(struct SiiRtcInfo, month) +#define OFFSET_DAY offsetof(struct SiiRtcInfo, day) +#define OFFSET_DAY_OF_WEEK offsetof(struct SiiRtcInfo, dayOfWeek) +#define OFFSET_HOUR offsetof(struct SiiRtcInfo, hour) +#define OFFSET_MINUTE offsetof(struct SiiRtcInfo, minute) +#define OFFSET_SECOND offsetof(struct SiiRtcInfo, second) +#define OFFSET_STATUS offsetof(struct SiiRtcInfo, status) +#define OFFSET_ALARM_HOUR offsetof(struct SiiRtcInfo, alarmHour) +#define OFFSET_ALARM_MINUTE offsetof(struct SiiRtcInfo, alarmMinute) + +#define INFO_BUF(info, index) (*((u8 *)(info) + (index))) + +#define DATETIME_BUF(info, index) INFO_BUF(info, OFFSET_YEAR + index) +#define DATETIME_BUF_LEN (OFFSET_SECOND - OFFSET_YEAR + 1) + +#define TIME_BUF(info, index) INFO_BUF(info, OFFSET_HOUR + index) +#define TIME_BUF_LEN (OFFSET_SECOND - OFFSET_HOUR + 1) + +#define WR 0 // command for writing data +#define RD 1 // command for reading data + +#define CMD(n) (0x60 | (n << 1)) + +#define CMD_RESET CMD(0) +#define CMD_STATUS CMD(1) +#define CMD_DATETIME CMD(2) +#define CMD_TIME CMD(3) +#define CMD_ALARM CMD(4) + +#define SCK_HI 1 +#define SIO_HI 2 +#define CS_HI 4 + +#define DIR_0_IN 0 +#define DIR_0_OUT 1 +#define DIR_1_IN 0 +#define DIR_1_OUT 2 +#define DIR_2_IN 0 +#define DIR_2_OUT 4 +#define DIR_ALL_IN (DIR_0_IN | DIR_1_IN | DIR_2_IN) +#define DIR_ALL_OUT (DIR_0_OUT | DIR_1_OUT | DIR_2_OUT) + +#define GPIO_PORT_DATA (*(vu16 *)0x80000C4) +#define GPIO_PORT_DIRECTION (*(vu16 *)0x80000C6) +#define GPIO_PORT_READ_ENABLE (*(vu16 *)0x80000C8) + +extern vu16 GPIOPortDirection; + +static u16 sDummy; // unused variable +static bool8 sLocked; + +static int WriteCommand(u8 value); +static int WriteData(u8 value); +static u8 ReadData(); +static void EnableGpioPortRead(); +static void DisableGpioPortRead(); + +static const char AgbLibRtcVersion[] = "SIIRTC_V001"; + +void SiiRtcUnprotect(void) +{ + EnableGpioPortRead(); + sLocked = FALSE; +} + +void SiiRtcProtect(void) +{ + DisableGpioPortRead(); + sLocked = TRUE; +} + +u8 SiiRtcProbe(void) +{ + u8 errorCode; + struct SiiRtcInfo rtc; + + if (!SiiRtcGetStatus(&rtc)) + return 0; + + errorCode = 0; + + if ((rtc.status & (SIIRTCINFO_POWER | SIIRTCINFO_24HOUR)) == SIIRTCINFO_POWER + || (rtc.status & (SIIRTCINFO_POWER | SIIRTCINFO_24HOUR)) == 0) + { + // The RTC is in 12-hour mode. Reset it and switch to 24-hour mode. + + // Note that the conditions are redundant and equivalent to simply + // "(rtc.status & SIIRTCINFO_24HOUR) == 0". It's possible that this + // was also intended to handle resetting the clock after power failure + // but a mistake was made. + + if (!SiiRtcReset()) + return 0; + + errorCode++; + } + + SiiRtcGetTime(&rtc); + + if (rtc.second & TEST_MODE) + { + // The RTC is in test mode. Reset it to leave test mode. + + if (!SiiRtcReset()) + return (errorCode << 4) & 0xF0; + + errorCode++; + } + + return (errorCode << 4) | 1; +} + +bool8 SiiRtcReset(void) +{ + u8 result; + struct SiiRtcInfo rtc; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_RESET | WR); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + rtc.status = SIIRTCINFO_24HOUR; + + result = SiiRtcSetStatus(&rtc); + + return result; +} + +bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc) +{ + u8 statusData; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_STATUS | RD); + + GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT; + + statusData = ReadData(); + + rtc->status = (statusData & (STATUS_POWER | STATUS_24HOUR)) + | ((statusData & STATUS_INTAE) >> 3) + | ((statusData & STATUS_INTME) >> 2) + | ((statusData & STATUS_INTFE) >> 1); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc) +{ + u8 statusData; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + statusData = STATUS_24HOUR + | ((rtc->status & SIIRTCINFO_INTAE) << 3) + | ((rtc->status & SIIRTCINFO_INTME) << 2) + | ((rtc->status & SIIRTCINFO_INTFE) << 1); + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_STATUS | WR); + + WriteData(statusData); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc) +{ + u8 i; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_DATETIME | RD); + + GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT; + + for (i = 0; i < DATETIME_BUF_LEN; i++) + DATETIME_BUF(rtc, i) = ReadData(); + + INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc) +{ + u8 i; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_DATETIME | WR); + + for (i = 0; i < DATETIME_BUF_LEN; i++) + WriteData(DATETIME_BUF(rtc, i)); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc) +{ + u8 i; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_TIME | RD); + + GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT; + + for (i = 0; i < TIME_BUF_LEN; i++) + TIME_BUF(rtc, i) = ReadData(); + + INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc) +{ + u8 i; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIO_PORT_DIRECTION = DIR_ALL_OUT; + + WriteCommand(CMD_TIME | WR); + + for (i = 0; i < TIME_BUF_LEN; i++) + WriteData(TIME_BUF(rtc, i)); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc) +{ + u8 i; + u8 alarmData[2]; + + if (sLocked == TRUE) + return FALSE; + + sLocked = TRUE; + + // Decode BCD. + alarmData[0] = (rtc->alarmHour & 0xF) + 10 * ((rtc->alarmHour >> 4) & 0xF); + + // The AM/PM flag must be set correctly even in 24-hour mode. + + if (alarmData[0] < 12) + alarmData[0] = rtc->alarmHour | ALARM_AM; + else + alarmData[0] = rtc->alarmHour | ALARM_PM; + + alarmData[1] = rtc->alarmMinute; + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + GPIOPortDirection = DIR_ALL_OUT; // Why is this the only instance that uses a symbol? + + WriteCommand(CMD_ALARM | WR); + + for (i = 0; i < 2; i++) + WriteData(alarmData[i]); + + GPIO_PORT_DATA = SCK_HI; + GPIO_PORT_DATA = SCK_HI; + + sLocked = FALSE; + + return TRUE; +} + +static int WriteCommand(u8 value) +{ + u8 i; + u8 temp; + + for (i = 0; i < 8; i++) + { + temp = ((value >> (7 - i)) & 1); + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | SCK_HI | CS_HI; + } + + // control reaches end of non-void function +} + +static int WriteData(u8 value) +{ + u8 i; + u8 temp; + + for (i = 0; i < 8; i++) + { + temp = ((value >> i) & 1); + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | CS_HI; + GPIO_PORT_DATA = (temp << 1) | SCK_HI | CS_HI; + } + + // control reaches end of non-void function +} + +static u8 ReadData() +{ + u8 i; + u8 temp; + u8 value; + + for (i = 0; i < 8; i++) + { + GPIO_PORT_DATA = CS_HI; + GPIO_PORT_DATA = CS_HI; + GPIO_PORT_DATA = CS_HI; + GPIO_PORT_DATA = CS_HI; + GPIO_PORT_DATA = CS_HI; + GPIO_PORT_DATA = SCK_HI | CS_HI; + + temp = ((GPIO_PORT_DATA & SIO_HI) >> 1); + value = (value >> 1) | (temp << 7); // UB: accessing uninitialized var + } + + return value; +} + +static void EnableGpioPortRead() +{ + GPIO_PORT_READ_ENABLE = 1; +} + +static void DisableGpioPortRead() +{ + GPIO_PORT_READ_ENABLE = 0; +} diff --git a/src/strings.c b/src/strings.c index c88d1b376..5c6164c2e 100644 --- a/src/strings.c +++ b/src/strings.c @@ -30,9 +30,9 @@ const u8 gText_FailedUpdateSwapBackup[] = _("レポ-トの こうしんは\nし const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted.\pThe previous save file will be\nloaded."); const u8 gText_SaveFileHasBeenDeleted[] = _("The save file has been\ndeleted..."); const u8 gText_1MSubCircuitBoardNotInstalled[] = _("The 1M sub-circuit board is\nnot installed."); -const u8 gTextJP_InternalBatteryHasRunDry[] = _("でんちぎれの ために\nとけいが うごかなくなりました\pとけいに かんけいする できごとは おきませんが\nゲ-ムを つづけて あそぶことは できます"); -const u8 gText_PlayerUnused[] = _("しゅじんこう"); -const u8 gText_PokedexUnused[] = _("ポケモンずかん"); +const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur."); +const u8 gUnknown_8415CD9[] = _("しゅじんこう"); +const u8 gUnknown_8415CE0[] = _("ポケモンずかん"); const u8 gText_MainMenuTime[] = _("TIME"); const u8 gText_BadgesUnused[] = _("もっているバッジ"); const u8 gText_AButton[] = _("Aボタン"); @@ -156,6 +156,16 @@ const u8 gText_SelectorArrow2[] = _("▶"); const u8 gText_YesNo[] = _("YES\nNO"); const u8 gText_GoBackToThePreviousMenu[] = _("Go back to the\nprevious menu."); const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); + +const u8 gText_ResetRTCConfirmCancel[] = _("Reset RTC?\nA: Confirm, B: Cancel"); +const u8 gText_PresentTime[] = _("Present time in game"); +const u8 gText_PreviousTime[] = _("Previous time in game"); +const u8 gText_PleaseResetTime[] = _("Please reset the time."); +const u8 gText_ClockHasBeenReset[] = _("The clock has been reset.\nData will be saved. Please wait."); +const u8 gText_SaveCompleted[] = _("Save completed."); +const u8 gText_NoSaveFileCantSetTime[] = _("There is no save file, so the time\ncan't be set."); +const u8 gText_InGameClockUsable[] = _("The in-game clock adjustment system\nis now useable."); + const u8 gText_MenuPokedex[] = _("POKéDEX"); const u8 gText_MenuBag[] = _("BAG"); const u8 gText_MenuPokenav[] = _("ポケナビ"); @@ -886,15 +896,7 @@ const u8 gText_ButtonTypeLEqualsA[] = _("L=A"); const u8 gText_ButtonTypeLR[] = _("LR"); const u8 gText_FrameType[] = _("TYPE"); const u8 gText_PickSwitchCancel[] = _("{DPAD_UPDOWN}PICK {DPAD_LEFTRIGHT}SWITCH {A_BUTTON}{B_BUTTON}CANCEL"); -const u8 gText_ResetRTCConfirmCancel[] = _("RTCを リセットします\nAで けってい Bで キャンセル"); -const u8 gText_PresentTime[] = _("げんざいの ゲ-ムない じかん"); -const u8 gText_PreviousTime[] = _("ぜんかいの ゲ-ムない じかん"); -const u8 gText_PleaseResetTime[] = _("じかんを さいせってい してください"); -const u8 gText_ClockHasBeenReset[] = _("じかんを さいせってい しました!\nレポ-トを かいています おまちください"); -const u8 gText_SaveCompleted[] = _("レポ-トを かきこみました!"); const u8 gText_SaveFailed[] = _("レポ-トの かきこみに\nしっぱい しました‥"); -const u8 gText_NoSaveFileCantSetTime[] = _("レポ-トが ないので\nじかんの せっていは できません!"); -const u8 gText_InGameClockUsable[] = _("ゲ-ムない じかんの しゅうせい システムが\nつかえる ように なりました!"); const u8 gText_SavingDontTurnOffThePower2[] = _("SAVING…\nDON'T TURN OFF THE POWER."); // Start menu option descriptions @@ -969,6 +971,9 @@ const u8 gText_Diploma_National[] = _("NATIONAL"); const u8 gText_Diploma_Kanto[] = _("KANTO"); const u8 gText_ClearAllSaveData[] = _("Clear all save data areas?"); const u8 gText_ClearingData[] = _("Clearing data‥\nPlease wait."); +const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?"); +const u8 gText_Confirm3[] = _("CONFIRM"); +const u8 gText_Cancel4[] = _("CANCEL"); const u8 gText_Player[] = _("PLAYER"); const u8 gText_Time[] = _("TIME"); const u8 gText_Colon[] = _(":"); @@ -1175,6 +1180,9 @@ const u8 gText_BronzeCard[] = _("BRONZE"); const u8 gText_CopperCard[] = _("COPPER"); const u8 gText_SilverCard[] = _("SILVER"); const u8 gText_GoldCard[] = _("GOLD"); +const u8 gText_Day[] = _("DAY"); +const u8 gText_Colon3[] = _(":"); +const u8 gText_Confirm2[] = _("CONFIRM"); const u8 gText_HelpSystemControls_A_Next[] = _("{A_BUTTON}NEXT"); const u8 gText_HelpSystemControls_PickOkEnd[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}END"); const u8 gText_HelpSystemControls_AorBtoCancel[] = _("{A_BUTTON}{B_BUTTON}CANCEL"); diff --git a/src/time_events.c b/src/time_events.c new file mode 100644 index 000000000..9ab1f8e55 --- /dev/null +++ b/src/time_events.c @@ -0,0 +1,11 @@ +#include "global.h" +#include "time_events.h" +#include "event_data.h" +#include "field_weather.h" +#include "pokemon.h" +#include "random.h" +#include "overworld.h" +#include "rtc.h" +#include "script.h" +#include "task.h" + diff --git a/src/title_screen.c b/src/title_screen.c index 334af1f0f..eb426b17b 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -11,8 +11,10 @@ #include "new_game.h" #include "random.h" #include "save.h" +#include "event_data.h" #include "main_menu.h" #include "clear_save_data_screen.h" +#include "reset_rtc_screen.h" #include "berry_fix_program.h" #include "decompress.h" #include "constants/songs.h" @@ -55,6 +57,8 @@ static void UpdateScanlineEffectRegBuffer(s16 y); static void ScheduleStopScanlineEffect(void); static void LoadMainTitleScreenPalsAndResetBgs(void); static void CB2_FadeOutTransitionToSaveClearScreen(void); +static void CB2_GoToResetRtcScreen(void); +static void CB2_FadeOutTransitionToResetRtcScreen(void); static void CB2_FadeOutTransitionToBerryFix(void); static void LoadSpriteGfxAndPals(void); #if defined(FIRERED) @@ -608,6 +612,7 @@ static void SetTitleScreenScene_FadeIn(s16 *data) } #define KEYSTROKE_DELSAVE (B_BUTTON | SELECT_BUTTON | DPAD_UP) +#define KEYSTROKE_RESET_RTC (B_BUTTON | SELECT_BUTTON | DPAD_LEFT) #define KEYSTROKE_BERRY_FIX (B_BUTTON | SELECT_BUTTON) static void SetTitleScreenScene_Run(s16 *data) @@ -634,6 +639,12 @@ static void SetTitleScreenScene_Run(s16 *data) DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); SetMainCallback2(CB2_FadeOutTransitionToSaveClearScreen); } + else if (JOY_HELD(KEYSTROKE_RESET_RTC) == KEYSTROKE_RESET_RTC && CanResetRTC() == TRUE) + { + DeactivateSlashSprite(tSlashSpriteId); + DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); + SetMainCallback2(CB2_FadeOutTransitionToResetRtcScreen); + } else if (JOY_HELD(KEYSTROKE_BERRY_FIX) == KEYSTROKE_BERRY_FIX) { DeactivateSlashSprite(tSlashSpriteId); @@ -652,6 +663,15 @@ static void SetTitleScreenScene_Run(s16 *data) } } +static void CB2_FadeOutTransitionToResetRtcScreen(void) +{ + if (!UpdatePaletteFade()) + { + m4aMPlayAllStop(); + SetMainCallback2(CB2_InitResetRtcScreen); + } +} + static void SetGpuRegsForTitleScreenRun(void) { SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -728,15 +748,20 @@ static void SetTitleScreenScene_Cry(s16 *data) case 2: if (!gPaletteFade.active) { - SeedRngAndSetTrainerId(); - SetSaveBlocksPointers(); - ResetMenuAndMonGlobals(); - Save_ResetSaveCounters(); - LoadGameSave(SAVE_NORMAL); - if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID) - Sav2_ClearSetDefault(); - SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); - InitHeap(gHeap, HEAP_SIZE); + // These are commented out as they’ve been relocated to intro.c. + // This also allows RTC reset to work without file corruption. + // It also has the side effect of allowing you to run flags + // and functions as early as the intro. + + // SeedRngAndSetTrainerId(); + // SetSaveBlocksPointers(); + // ResetMenuAndMonGlobals(); + // Save_ResetSaveCounters(); + // Save_LoadGameData(SAVE_NORMAL); + // if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID) + // Sav2_ClearSetDefault(); + // SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); + // InitHeap(gHeap, HEAP_SIZE); SetMainCallback2(CB2_InitMainMenu); DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); } diff --git a/src/wallclock.c b/src/wallclock.c new file mode 100644 index 000000000..6de5c2b54 --- /dev/null +++ b/src/wallclock.c @@ -0,0 +1,1126 @@ +#include "global.h" +#include "bg.h" +#include "new_menu_helpers.h" +#include "clock.h" +#include "decompress.h" +#include "event_data.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "rtc.h" +#include "scanline_effect.h" +#include "sound.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trig.h" +#include "wallclock.h" +#include "window.h" +#include "constants/rgb.h" +#include "constants/songs.h" + +static void CB2_WallClock(void); +static void Task_SetClock_WaitFadeIn(u8 taskId); +static void Task_SetClock_HandleInput(u8 taskId); +static void Task_SetClock_AskConfirm(u8 taskId); +static void Task_SetClock_HandleConfirmInput(u8 taskId); +static void Task_SetClock_Confirmed(u8 taskId); +static void Task_SetClock_Exit(u8 taskId); +static void Task_ViewClock_WaitFadeIn(u8 taskId); +static void Task_ViewClock_HandleInput(u8 taskId); +static void Task_ViewClock_FadeOut(u8 taskId); +static void Task_ViewClock_Exit(u8 taskId); +static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed); +static bool32 AdvanceClock(u8 taskId, u8 direction); +static void UpdateClockPeriod(u8 taskId, u8 direction); +static void InitClockWithRtc(u8 taskId); +static void SpriteCB_MinuteHand(struct Sprite *sprite); +static void SpriteCB_HourHand(struct Sprite *sprite); +static void SpriteCB_PMIndicator(struct Sprite *sprite); +static void SpriteCB_AMIndicator(struct Sprite *sprite); + +#define tMinuteHandAngle data[0] +#define tHourHandAngle data[1] +#define tHours data[2] +#define tMinutes data[3] +#define tMoveDir data[4] +#define tPeriod data[5] +#define tMoveSpeed data[6] + +#define GFXTAG_WALL_CLOCK_HAND 0x1000 +#define PALTAG_WALL_CLOCK_MALE 0x1000 +#define PALTAG_WALL_CLOCK_FEMALE 0x1001 + +enum +{ + PERIOD_AM, + PERIOD_PM, +}; + +enum +{ + MOVE_NONE, + MOVE_BACKWARD, + MOVE_FORWARD, +}; + +static const u32 sHand_Gfx[] = INCBIN_U32("graphics/wallclock/hand.4bpp.lz"); +static const u16 sTextPrompt_Pal[] = INCBIN_U16("graphics/wallclock/text_prompt.gbapal"); // for "Cancel" or "Confirm" + +static const struct WindowTemplate sWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 17, + .width = 24, + .height = 2, + .paletteNum = 14, + .baseBlock = 512 + }, + { + .bg = 2, + .tilemapLeft = 24, + .tilemapTop = 16, + .width = 6, + .height = 2, + .paletteNum = 12, + .baseBlock = 560 + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sWindowTemplate_ConfirmYesNo = +{ + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 572 +}; + +static const struct BgTemplate sBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .priority = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 8, + .priority = 1 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .priority = 2 + } +}; + +static const struct CompressedSpriteSheet sSpriteSheet_ClockHand = +{ + sHand_Gfx, 0x2000, GFXTAG_WALL_CLOCK_HAND +}; + +static const u8 sUnused[8] = {0}; + +static const struct SpritePalette sSpritePalettes_Clock[] = +{ + { + .data = gWallClockMale_Pal, + .tag = PALTAG_WALL_CLOCK_MALE + }, + { + .data = gWallClockFemale_Pal, + .tag = PALTAG_WALL_CLOCK_FEMALE + }, + {} +}; + +static const struct OamData sOam_ClockHand = +{ + .y = 160, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .priority = 1, +}; + +static const union AnimCmd sAnim_MinuteHand[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_HourHand[] = +{ + ANIMCMD_FRAME(64, 30), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_MinuteHand[] = +{ + sAnim_MinuteHand +}; + +static const union AnimCmd *const sAnims_HourHand[] = +{ + sAnim_HourHand +}; + +static const struct SpriteTemplate sSpriteTemplate_MinuteHand = +{ + .tileTag = GFXTAG_WALL_CLOCK_HAND, + .paletteTag = PALTAG_WALL_CLOCK_MALE, + .oam = &sOam_ClockHand, + .anims = sAnims_MinuteHand, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MinuteHand, +}; + +static const struct SpriteTemplate sSpriteTemplate_HourHand = +{ + .tileTag = GFXTAG_WALL_CLOCK_HAND, + .paletteTag = PALTAG_WALL_CLOCK_MALE, + .oam = &sOam_ClockHand, + .anims = sAnims_HourHand, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HourHand, +}; + +static const struct OamData sOam_PeriodIndicator = +{ + .y = 160, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .priority = 3, +}; + +static const union AnimCmd sAnim_PM[] = +{ + ANIMCMD_FRAME(132, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_AM[] = +{ + ANIMCMD_FRAME(128, 30), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_PM[] = +{ + sAnim_PM +}; + +static const union AnimCmd *const sAnims_AM[] = +{ + sAnim_AM +}; + +static const struct SpriteTemplate sSpriteTemplate_PM = +{ + .tileTag = GFXTAG_WALL_CLOCK_HAND, + .paletteTag = PALTAG_WALL_CLOCK_MALE, + .oam = &sOam_PeriodIndicator, + .anims = sAnims_PM, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PMIndicator +}; + +static const struct SpriteTemplate sSpriteTemplate_AM = +{ + .tileTag = GFXTAG_WALL_CLOCK_HAND, + .paletteTag = PALTAG_WALL_CLOCK_MALE, + .oam = &sOam_PeriodIndicator, + .anims = sAnims_AM, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_AMIndicator +}; + +static const struct WindowTemplate sYesNoWinTemplate = +{ + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 15, + .baseBlock = 424 +}; + +static const s8 sClockHandCoords[][2] = +{ + { 0x00, -0x18}, + { 0x01, -0x19}, + { 0x01, -0x19}, + { 0x02, -0x19}, + { 0x02, -0x19}, + { 0x02, -0x19}, + { 0x03, -0x18}, + { 0x03, -0x19}, + { 0x04, -0x19}, + { 0x04, -0x19}, + { 0x04, -0x19}, + { 0x05, -0x19}, + { 0x05, -0x19}, + { 0x06, -0x18}, + { 0x06, -0x18}, + { 0x06, -0x18}, + { 0x07, -0x18}, + { 0x07, -0x18}, + { 0x07, -0x18}, + { 0x08, -0x18}, + { 0x08, -0x18}, + { 0x09, -0x18}, + { 0x09, -0x18}, + { 0x0a, -0x17}, + { 0x0a, -0x17}, + { 0x0b, -0x16}, + { 0x0b, -0x16}, + { 0x0b, -0x16}, + { 0x0c, -0x16}, + { 0x0c, -0x15}, + { 0x0d, -0x15}, + { 0x0d, -0x15}, + { 0x0d, -0x15}, + { 0x0e, -0x15}, + { 0x0e, -0x15}, + { 0x0e, -0x14}, + { 0x0e, -0x14}, + { 0x0f, -0x14}, + { 0x0f, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x12}, + { 0x10, -0x12}, + { 0x11, -0x12}, + { 0x11, -0x11}, + { 0x11, -0x11}, + { 0x12, -0x11}, + { 0x12, -0x11}, + { 0x12, -0x10}, + { 0x12, -0x10}, + { 0x13, -0x10}, + { 0x13, -0x0f}, + { 0x13, -0x0f}, + { 0x14, -0x0f}, + { 0x14, -0x0e}, + { 0x14, -0x0e}, + { 0x14, -0x0d}, + { 0x14, -0x0d}, + { 0x15, -0x0d}, + { 0x15, -0x0d}, + { 0x15, -0x0c}, + { 0x16, -0x0c}, + { 0x16, -0x0c}, + { 0x16, -0x0b}, + { 0x16, -0x0b}, + { 0x16, -0x0a}, + { 0x17, -0x0a}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x08}, + { 0x17, -0x08}, + { 0x17, -0x07}, + { 0x17, -0x07}, + { 0x17, -0x06}, + { 0x18, -0x06}, + { 0x18, -0x06}, + { 0x19, -0x05}, + { 0x19, -0x05}, + { 0x18, -0x04}, + { 0x19, -0x04}, + { 0x18, -0x03}, + { 0x19, -0x03}, + { 0x19, -0x03}, + { 0x19, -0x02}, + { 0x19, -0x02}, + { 0x18, -0x01}, + { 0x19, -0x01}, + { 0x18, 0x00}, + { 0x18, 0x00}, + { 0x18, 0x00}, + { 0x18, 0x01}, + { 0x18, 0x01}, + { 0x19, 0x02}, + { 0x18, 0x02}, + { 0x19, 0x02}, + { 0x18, 0x03}, + { 0x18, 0x03}, + { 0x19, 0x04}, + { 0x18, 0x04}, + { 0x18, 0x05}, + { 0x18, 0x05}, + { 0x18, 0x05}, + { 0x18, 0x06}, + { 0x17, 0x06}, + { 0x17, 0x06}, + { 0x17, 0x07}, + { 0x17, 0x08}, + { 0x17, 0x08}, + { 0x17, 0x08}, + { 0x17, 0x09}, + { 0x17, 0x09}, + { 0x17, 0x0a}, + { 0x16, 0x0a}, + { 0x16, 0x0a}, + { 0x16, 0x0b}, + { 0x16, 0x0b}, + { 0x16, 0x0b}, + { 0x16, 0x0c}, + { 0x15, 0x0c}, + { 0x15, 0x0c}, + { 0x15, 0x0d}, + { 0x14, 0x0d}, + { 0x14, 0x0d}, + { 0x13, 0x0d}, + { 0x13, 0x0d}, + { 0x13, 0x0e}, + { 0x13, 0x0e}, + { 0x13, 0x0f}, + { 0x13, 0x0f}, + { 0x12, 0x0f}, + { 0x12, 0x10}, + { 0x11, 0x10}, + { 0x11, 0x10}, + { 0x11, 0x11}, + { 0x11, 0x11}, + { 0x10, 0x11}, + { 0x10, 0x12}, + { 0x10, 0x12}, + { 0x0f, 0x12}, + { 0x0e, 0x12}, + { 0x0f, 0x13}, + { 0x0e, 0x13}, + { 0x0e, 0x13}, + { 0x0d, 0x13}, + { 0x0d, 0x14}, + { 0x0d, 0x14}, + { 0x0d, 0x14}, + { 0x0c, 0x14}, + { 0x0c, 0x14}, + { 0x0c, 0x15}, + { 0x0b, 0x15}, + { 0x0b, 0x15}, + { 0x0b, 0x15}, + { 0x0a, 0x15}, + { 0x0a, 0x16}, + { 0x0a, 0x16}, + { 0x09, 0x16}, + { 0x09, 0x16}, + { 0x08, 0x16}, + { 0x07, 0x16}, + { 0x07, 0x17}, + { 0x07, 0x17}, + { 0x06, 0x17}, + { 0x06, 0x17}, + { 0x05, 0x17}, + { 0x05, 0x17}, + { 0x05, 0x18}, + { 0x04, 0x18}, + { 0x04, 0x18}, + { 0x04, 0x18}, + { 0x03, 0x18}, + { 0x02, 0x18}, + { 0x02, 0x18}, + { 0x01, 0x18}, + { 0x01, 0x18}, + { 0x00, 0x18}, + { 0x00, 0x18}, + {-0x01, 0x17}, + { 0x00, 0x18}, + { 0x00, 0x18}, + {-0x01, 0x18}, + {-0x01, 0x18}, + {-0x02, 0x18}, + {-0x02, 0x18}, + {-0x03, 0x18}, + {-0x03, 0x18}, + {-0x04, 0x18}, + {-0x04, 0x18}, + {-0x05, 0x18}, + {-0x05, 0x17}, + {-0x05, 0x17}, + {-0x06, 0x17}, + {-0x06, 0x17}, + {-0x07, 0x17}, + {-0x07, 0x17}, + {-0x07, 0x17}, + {-0x08, 0x17}, + {-0x08, 0x16}, + {-0x09, 0x16}, + {-0x09, 0x16}, + {-0x0a, 0x16}, + {-0x0a, 0x16}, + {-0x0a, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x14}, + {-0x0c, 0x14}, + {-0x0c, 0x14}, + {-0x0d, 0x14}, + {-0x0d, 0x14}, + {-0x0d, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x12}, + {-0x0f, 0x12}, + {-0x0f, 0x12}, + {-0x0f, 0x11}, + {-0x10, 0x11}, + {-0x10, 0x11}, + {-0x11, 0x11}, + {-0x11, 0x10}, + {-0x11, 0x10}, + {-0x12, 0x10}, + {-0x11, 0x0f}, + {-0x12, 0x0f}, + {-0x12, 0x0f}, + {-0x13, 0x0f}, + {-0x13, 0x0e}, + {-0x13, 0x0e}, + {-0x13, 0x0d}, + {-0x13, 0x0d}, + {-0x14, 0x0d}, + {-0x14, 0x0c}, + {-0x14, 0x0c}, + {-0x15, 0x0c}, + {-0x15, 0x0c}, + {-0x15, 0x0b}, + {-0x15, 0x0b}, + {-0x15, 0x0a}, + {-0x15, 0x0a}, + {-0x15, 0x09}, + {-0x16, 0x09}, + {-0x16, 0x09}, + {-0x16, 0x08}, + {-0x16, 0x08}, + {-0x16, 0x07}, + {-0x17, 0x07}, + {-0x17, 0x07}, + {-0x17, 0x06}, + {-0x17, 0x06}, + {-0x17, 0x05}, + {-0x18, 0x05}, + {-0x17, 0x04}, + {-0x17, 0x04}, + {-0x18, 0x04}, + {-0x18, 0x04}, + {-0x18, 0x03}, + {-0x18, 0x03}, + {-0x18, 0x02}, + {-0x18, 0x02}, + {-0x18, 0x01}, + {-0x18, 0x01}, + {-0x18, 0x01}, + {-0x18, 0x00}, + {-0x19, 0x00}, + {-0x18, -0x01}, + {-0x19, -0x01}, + {-0x18, -0x01}, + {-0x18, -0x02}, + {-0x18, -0x02}, + {-0x18, -0x03}, + {-0x18, -0x03}, + {-0x18, -0x04}, + {-0x18, -0x04}, + {-0x18, -0x04}, + {-0x18, -0x05}, + {-0x18, -0x05}, + {-0x18, -0x06}, + {-0x18, -0x06}, + {-0x17, -0x06}, + {-0x17, -0x07}, + {-0x17, -0x07}, + {-0x17, -0x08}, + {-0x17, -0x08}, + {-0x17, -0x09}, + {-0x17, -0x09}, + {-0x16, -0x09}, + {-0x16, -0x09}, + {-0x16, -0x0a}, + {-0x16, -0x0a}, + {-0x15, -0x0a}, + {-0x15, -0x0b}, + {-0x16, -0x0b}, + {-0x16, -0x0c}, + {-0x15, -0x0c}, + {-0x15, -0x0d}, + {-0x15, -0x0d}, + {-0x14, -0x0d}, + {-0x15, -0x0e}, + {-0x14, -0x0e}, + {-0x14, -0x0e}, + {-0x13, -0x0e}, + {-0x13, -0x0f}, + {-0x13, -0x0f}, + {-0x12, -0x10}, + {-0x12, -0x10}, + {-0x12, -0x10}, + {-0x12, -0x11}, + {-0x12, -0x11}, + {-0x11, -0x11}, + {-0x11, -0x12}, + {-0x11, -0x12}, + {-0x10, -0x12}, + {-0x10, -0x12}, + {-0x10, -0x13}, + {-0x10, -0x13}, + {-0x0f, -0x13}, + {-0x0f, -0x13}, + {-0x0f, -0x14}, + {-0x0e, -0x14}, + {-0x0e, -0x14}, + {-0x0e, -0x15}, + {-0x0d, -0x15}, + {-0x0d, -0x15}, + {-0x0d, -0x15}, + {-0x0c, -0x15}, + {-0x0c, -0x16}, + {-0x0b, -0x16}, + {-0x0b, -0x16}, + {-0x0b, -0x16}, + {-0x0a, -0x16}, + {-0x0a, -0x16}, + {-0x09, -0x16}, + {-0x09, -0x17}, + {-0x09, -0x17}, + {-0x08, -0x17}, + {-0x08, -0x17}, + {-0x07, -0x17}, + {-0x07, -0x17}, + {-0x07, -0x18}, + {-0x06, -0x18}, + {-0x06, -0x18}, + {-0x05, -0x18}, + {-0x05, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x19}, + {-0x03, -0x19}, + {-0x02, -0x19}, + {-0x02, -0x18}, + {-0x02, -0x18}, + {-0x01, -0x19}, + {-0x01, -0x19}, + { 0x00, -0x19} +}; + +static void VBlankCB_WallClock(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void LoadWallClockGraphics(void) +{ + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + LZ77UnCompVram(gWallClock_Gfx, (void *)VRAM); + + if (gSpecialVar_0x8004 == MALE) + LoadPalette(gWallClockMale_Pal, 0, 32); + else + LoadPalette(gWallClockFemale_Pal, 0, 32); + + // LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 32); + LoadPalette(GetTextWindowPalette(2), 0xC0, 0x20); + LoadPalette(sTextPrompt_Pal, 0xc0, 8); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates)); + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + LoadUserWindowGfx2(0, 0x250, 0xd0); + ClearScheduledBgCopiesToVram(); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + LoadCompressedSpriteSheet(&sSpriteSheet_ClockHand); + LoadSpritePalettes(sSpritePalettes_Clock); +} + +static void WallClockInit(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(VBlankCB_WallClock); + SetMainCallback2(CB2_WallClock); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(2); + ShowBg(3); +} + +void CB2_StartWallClock(void) +{ + u8 taskId; + u8 spriteId; + + LoadWallClockGraphics(); + LZ77UnCompVram(gWallClockStart_Tilemap, (u16 *)BG_SCREEN_ADDR(7)); + + taskId = CreateTask(Task_SetClock_WaitFadeIn, 0); + gTasks[taskId].tHours = 10; + gTasks[taskId].tMinutes = 0; + gTasks[taskId].tMoveDir = 0; + gTasks[taskId].tPeriod = 0; + gTasks[taskId].tMoveSpeed = 0; + gTasks[taskId].tMinuteHandAngle = 0; + gTasks[taskId].tHourHandAngle = 300; + + spriteId = CreateSprite(&sSpriteTemplate_MinuteHand, 120, 80, 1); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 0; + + spriteId = CreateSprite(&sSpriteTemplate_HourHand, 120, 80, 0); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 1; + + spriteId = CreateSprite(&sSpriteTemplate_PM, 120, 80, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 45; + + spriteId = CreateSprite(&sSpriteTemplate_AM, 120, 80, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 90; + + WallClockInit(); + + DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x250, 0x0d); + AddTextPrinterParameterized(1, 1, gText_PartyMenu_OK, 0, 1, 0, NULL); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(2); +} + +void CB2_ViewWallClock(void) +{ + u8 taskId; + u8 spriteId; + u8 angle1; + u8 angle2; + + LoadWallClockGraphics(); + LZ77UnCompVram(gWallClockView_Tilemap, (u16 *)BG_SCREEN_ADDR(7)); + + taskId = CreateTask(Task_ViewClock_WaitFadeIn, 0); + InitClockWithRtc(taskId); + if (gTasks[taskId].tPeriod == PERIOD_AM) + { + angle1 = 45; + angle2 = 90; + } + else + { + angle1 = 90; + angle2 = 135; + } + + spriteId = CreateSprite(&sSpriteTemplate_MinuteHand, 120, 80, 1); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 0; + + spriteId = CreateSprite(&sSpriteTemplate_HourHand, 120, 80, 0); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 1; + + spriteId = CreateSprite(&sSpriteTemplate_PM, 120, 80, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = angle1; + + spriteId = CreateSprite(&sSpriteTemplate_AM, 120, 80, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = angle2; + + WallClockInit(); + + DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x250, 0x0d); + AddTextPrinterParameterized(1, 1, gText_Cancel4, 0, 1, 0, NULL); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(2); +} + +static void CB2_WallClock(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + DoScheduledBgTilemapCopiesToVram(); + UpdatePaletteFade(); +} + +static void Task_SetClock_WaitFadeIn(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = Task_SetClock_HandleInput; + } +} + +static void Task_SetClock_HandleInput(u8 taskId) +{ + if (gTasks[taskId].tMinuteHandAngle % 6) + { + gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMoveDir, gTasks[taskId].tMoveSpeed); + } + else + { + gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6; + gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5; + if (JOY_NEW(A_BUTTON)) + { + gTasks[taskId].func = Task_SetClock_AskConfirm; + } + else + { + gTasks[taskId].tMoveDir = MOVE_NONE; + + if (JOY_HELD(DPAD_LEFT)) + gTasks[taskId].tMoveDir = MOVE_BACKWARD; + + if (JOY_HELD(DPAD_RIGHT)) + gTasks[taskId].tMoveDir = MOVE_FORWARD; + + if (gTasks[taskId].tMoveDir != MOVE_NONE) + { + if (gTasks[taskId].tMoveSpeed < 0xFF) + gTasks[taskId].tMoveSpeed++; + + gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMoveDir, gTasks[taskId].tMoveSpeed); + AdvanceClock(taskId, gTasks[taskId].tMoveDir); + } + else + { + gTasks[taskId].tMoveSpeed = 0; + } + } + } +} + +static void Task_SetClock_AskConfirm(u8 taskId) +{ + DrawStdFrameWithCustomTileAndPalette(0, FALSE, 0x250, 0x0d); + AddTextPrinterParameterized(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL); + PutWindowTilemap(0); + ScheduleBgCopyTilemapToVram(0); + LoadUserWindowGfx2(0, 0x140, 0xE0); + CreateYesNoMenu(&sYesNoWinTemplate, 3, 0, 2, 0x140, 0xE, 0); + gTasks[taskId].func = Task_SetClock_HandleConfirmInput; +} + +static void Task_SetClock_HandleConfirmInput(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: // YES + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_SetClock_Confirmed; + break; + case 1: // NO + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + ClearStdWindowAndFrameToTransparent(0, FALSE); + ClearWindowTilemap(0); + gTasks[taskId].func = Task_SetClock_HandleInput; + break; + } +} + +static void Task_SetClock_Confirmed(u8 taskId) +{ + RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_SetClock_Exit; +} + +static void Task_SetClock_Exit(u8 taskId) +{ + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + } +} + +static void Task_ViewClock_WaitFadeIn(u8 taskId) +{ + if (!gPaletteFade.active) + gTasks[taskId].func = Task_ViewClock_HandleInput; +} + +static void Task_ViewClock_HandleInput(u8 taskId) +{ + InitClockWithRtc(taskId); + if (JOY_NEW(A_BUTTON | B_BUTTON)) + gTasks[taskId].func = Task_ViewClock_FadeOut; +} + +static void Task_ViewClock_FadeOut(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_ViewClock_Exit; +} + +static void Task_ViewClock_Exit(u8 taskId) +{ + if (!gPaletteFade.active) + SetMainCallback2(gMain.savedCallback); +} + +static u8 CalcMinHandDelta(u16 speed) +{ + if (speed > 60) + return 6; + if (speed > 30) + return 3; + if (speed > 10) + return 2; + + return 1; +} + +static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed) +{ + u8 delta = CalcMinHandDelta(speed); + switch (direction) + { + case MOVE_BACKWARD: + if (angle) + angle -= delta; + else + angle = 360 - delta; + break; + case MOVE_FORWARD: + if (angle < 360 - delta) + angle += delta; + else + angle = 0; + break; + } + return angle; +} + +static bool32 AdvanceClock(u8 taskId, u8 direction) +{ + switch (direction) + { + case MOVE_BACKWARD: + if (gTasks[taskId].tMinutes > 0) + { + gTasks[taskId].tMinutes--; + } + else + { + gTasks[taskId].tMinutes = 59; + + if (gTasks[taskId].tHours > 0) + gTasks[taskId].tHours--; + else + gTasks[taskId].tHours = 23; + + UpdateClockPeriod(taskId, direction); + } + break; + case MOVE_FORWARD: + if (gTasks[taskId].tMinutes < 59) + { + gTasks[taskId].tMinutes++; + } + else + { + gTasks[taskId].tMinutes = 0; + + if (gTasks[taskId].tHours < 23) + gTasks[taskId].tHours++; + else + gTasks[taskId].tHours = 0; + + UpdateClockPeriod(taskId, direction); + } + break; + } + return FALSE; +} + +static void UpdateClockPeriod(u8 taskId, u8 direction) +{ + u8 hours = gTasks[taskId].tHours; + switch (direction) + { + case MOVE_BACKWARD: + switch (hours) + { + case 11: + gTasks[taskId].tPeriod = PERIOD_AM; + break; + case 23: + gTasks[taskId].tPeriod = PERIOD_PM; + break; + } + break; + case MOVE_FORWARD: + switch (hours) + { + case 0: + gTasks[taskId].tPeriod = PERIOD_AM; + break; + case 12: + gTasks[taskId].tPeriod = PERIOD_PM; + break; + } + break; + } +} + +static void InitClockWithRtc(u8 taskId) +{ + RtcCalcLocalTime(); + gTasks[taskId].tHours = gLocalTime.hours; + gTasks[taskId].tMinutes = gLocalTime.minutes; + gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6; + gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5; + + if (gLocalTime.hours < 12) + gTasks[taskId].tPeriod = PERIOD_AM; + else + gTasks[taskId].tPeriod = PERIOD_PM; +} + +static void SpriteCB_MinuteHand(struct Sprite *sprite) +{ + u16 angle = gTasks[sprite->data[0]].tMinuteHandAngle; + s16 sin = Sin2(angle) / 16; + s16 cos = Cos2(angle) / 16; + u16 x, y; + + SetOamMatrix(0, cos, sin, -sin, cos); + x = sClockHandCoords[angle][0]; + y = sClockHandCoords[angle][1]; + + if (x > 128) + x |= 0xff00; + if (y > 128) + y |= 0xff00; + + sprite->x2 = x; + sprite->y2 = y; +} + +static void SpriteCB_HourHand(struct Sprite *sprite) +{ + u16 angle = gTasks[sprite->data[0]].tHourHandAngle; + s16 sin = Sin2(angle) / 16; + s16 cos = Cos2(angle) / 16; + u16 x, y; + + SetOamMatrix(1, cos, sin, -sin, cos); + x = sClockHandCoords[angle][0]; + y = sClockHandCoords[angle][1]; + + if (x > 128) + x |= 0xff00; + if (y > 128) + y |= 0xff00; + + sprite->x2 = x; + sprite->y2 = y; +} + +static void SpriteCB_PMIndicator(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].tPeriod != PERIOD_AM) + { + if (sprite->data[1] >= 60 && sprite->data[1] < 90) + { + sprite->data[1] += 5; + } + if (sprite->data[1] < 60) + { + sprite->data[1]++; + } + } + else + { + if (sprite->data[1] >= 46 && sprite->data[1] < 76) + { + sprite->data[1] -= 5; + } + if (sprite->data[1] > 75) + { + sprite->data[1]--; + } + } + sprite->x2 = Cos2(sprite->data[1]) * 30 / 0x1000; + sprite->y2 = Sin2(sprite->data[1]) * 30 / 0x1000; +} + +static void SpriteCB_AMIndicator(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].tPeriod != PERIOD_AM) + { + if (sprite->data[1] >= 105 && sprite->data[1] < 135) + { + sprite->data[1] += 5; + } + if (sprite->data[1] < 105) + { + sprite->data[1]++; + } + } + else + { + if (sprite->data[1] >= 91 && sprite->data[1] < 121) + { + sprite->data[1] -= 5; + } + if (sprite->data[1] > 120) + { + sprite->data[1]--; + } + } + sprite->x2 = Cos2(sprite->data[1]) * 30 / 0x1000; + sprite->y2 = Sin2(sprite->data[1]) * 30 / 0x1000; +} diff --git a/sym_bss.txt b/sym_bss.txt index 00c7b1dc6..b888f92c1 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -30,6 +30,9 @@ .include "src/m4a_1.o" .include "data/sound_data.o" .include "src/agb_flash.o" + .include "src/siirtc.o" + .include "src/rtc.o" + .include "src/reset_rtc_screen.o" .include "*libgcc.a:dp-bit.o" .include "*libgcc.a:fp-bit.o" .include "*libc.a:syscalls.o" diff --git a/sym_common.txt b/sym_common.txt index 1e57985da..83a1881af 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,4 +1,5 @@ .include "main.o" + .include "rtc.o" .include "bg.o" .include "text_printer.o" .align 4