diff --git a/Makefile b/Makefile index ec560f765..adb08dfb7 100644 --- a/Makefile +++ b/Makefile @@ -81,6 +81,8 @@ ASM_SUBDIR = asm DATA_ASM_SUBDIR = data SONG_SUBDIR = sound/songs MID_SUBDIR = sound/songs/midi +SAMPLE_SUBDIR = sound/direct_sound_samples +CRY_SUBDIR = sound/direct_sound_samples/cries C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) @@ -193,7 +195,8 @@ compare: @$(MAKE) COMPARE=1 mostlyclean: tidy - $(RM) sound/direct_sound_samples/*.bin + rm -f $(SAMPLE_SUBDIR)/*.bin + rm -f $(CRY_SUBDIR)/*.bin $(RM) $(SONG_OBJS) $(MID_SUBDIR)/*.s find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + $(RM) $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc @@ -229,7 +232,7 @@ include songs.mk %.gbapal: %.png ; $(GFX) $< $@ %.lz: % ; $(GFX) $< $@ %.rl: % ; $(GFX) $< $@ -sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress +$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress sound/%.bin: sound/%.aif ; $(AIF) $< $@ sound/songs/%.s: sound/songs/%.mid $(MID) $< $@ diff --git a/common_syms/berry_fix_program.txt b/common_syms/berry_fix_program.txt index 63b3de271..f04247492 100644 --- a/common_syms/berry_fix_program.txt +++ b/common_syms/berry_fix_program.txt @@ -1,4 +1,4 @@ -gUnknown_3005EF0 -gUnknown_3005EF4 -gUnknown_3005EF8 -gUnknown_3005F00 +gMultibootStart +gMultibootStatus +gMultibootSize +gMultibootParam diff --git a/data/tilesets.s b/data/tilesets.s deleted file mode 100644 index b8b50e652..000000000 --- a/data/tilesets.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .include "data/tilesets/graphics.inc" - .include "data/tilesets/metatiles.inc" - .include "data/tilesets/headers.inc" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc deleted file mode 100644 index adecd108e..000000000 --- a/data/tilesets/graphics.inc +++ /dev/null @@ -1,1471 +0,0 @@ - .align 2 -gTilesetTiles_PalletTown:: - .incbin "data/tilesets/secondary/pallet_town/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PalletTown:: - .incbin "data/tilesets/secondary/pallet_town/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pallet_town/palettes/15.gbapal" - - .align 2 -gTilesetTiles_ViridianCity:: - .incbin "data/tilesets/secondary/viridian_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_ViridianCity:: - .incbin "data/tilesets/secondary/viridian_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/viridian_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PewterCity:: - .incbin "data/tilesets/secondary/pewter_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PewterCity:: - .incbin "data/tilesets/secondary/pewter_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pewter_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CeruleanCity:: - .incbin "data/tilesets/secondary/cerulean_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CeruleanCity:: - .incbin "data/tilesets/secondary/cerulean_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cerulean_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LavenderTown:: - .incbin "data/tilesets/secondary/lavender_town/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LavenderTown:: - .incbin "data/tilesets/secondary/lavender_town/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavender_town/palettes/15.gbapal" - - .align 2 -gTilesetTiles_VermilionCity:: - .incbin "data/tilesets/secondary/vermilion_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_VermilionCity:: - .incbin "data/tilesets/secondary/vermilion_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/vermilion_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CeladonCity:: - .incbin "data/tilesets/secondary/celadon_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CeladonCity:: - .incbin "data/tilesets/secondary/celadon_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/celadon_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FuchsiaCity:: - .incbin "data/tilesets/secondary/fuchsia_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FuchsiaCity:: - .incbin "data/tilesets/secondary/fuchsia_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fuchsia_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CinnabarIsland:: - .incbin "data/tilesets/secondary/cinnabar_island/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CinnabarIsland:: - .incbin "data/tilesets/secondary/cinnabar_island/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cinnabar_island/palettes/15.gbapal" - - .align 2 -gTilesetTiles_IndigoPlateau:: - .incbin "data/tilesets/secondary/indigo_plateau/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_IndigoPlateau:: - .incbin "data/tilesets/secondary/indigo_plateau/palettes/00.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/01.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/02.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/03.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/04.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/05.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/06.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/07.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/08.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/09.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/10.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/11.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/12.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/13.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/14.gbapal" - .incbin "data/tilesets/secondary/indigo_plateau/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SaffronCity:: - .incbin "data/tilesets/secondary/saffron_city/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SaffronCity:: - .incbin "data/tilesets/secondary/saffron_city/palettes/00.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/01.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/02.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/03.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/04.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/05.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/06.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/07.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/08.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/09.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/10.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/11.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/12.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/13.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/14.gbapal" - .incbin "data/tilesets/secondary/saffron_city/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Building:: @ Building - .incbin "data/tilesets/primary/building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Building:: @ Building - .incbin "data/tilesets/primary/building/palettes/00.gbapal" - .incbin "data/tilesets/primary/building/palettes/01.gbapal" - .incbin "data/tilesets/primary/building/palettes/02.gbapal" - .incbin "data/tilesets/primary/building/palettes/03.gbapal" - .incbin "data/tilesets/primary/building/palettes/04.gbapal" - .incbin "data/tilesets/primary/building/palettes/05.gbapal" - .incbin "data/tilesets/primary/building/palettes/06.gbapal" - .incbin "data/tilesets/primary/building/palettes/07.gbapal" - .incbin "data/tilesets/primary/building/palettes/08.gbapal" - .incbin "data/tilesets/primary/building/palettes/09.gbapal" - .incbin "data/tilesets/primary/building/palettes/10.gbapal" - .incbin "data/tilesets/primary/building/palettes/11.gbapal" - .incbin "data/tilesets/primary/building/palettes/12.gbapal" - .incbin "data/tilesets/primary/building/palettes/13.gbapal" - .incbin "data/tilesets/primary/building/palettes/14.gbapal" - .incbin "data/tilesets/primary/building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mart:: - .incbin "data/tilesets/secondary/mart/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mart:: - .incbin "data/tilesets/secondary/mart/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mart/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Cave:: - .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Cave:: - .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dummy1:: - .incbin "data/tilesets/secondary/dummy_1/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dummy1:: - .incbin "data/tilesets/secondary/dummy_1/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dummy_1/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Museum:: - .incbin "data/tilesets/secondary/museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Museum:: - .incbin "data/tilesets/secondary/museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" - - .align 2 -gTilesetPalettes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lab:: - .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lab:: - .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" - - .align 2 -gTilesetTiles_HoennBuilding:: - .incbin "data/tilesets/secondary/hoenn_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_HoennBuilding:: - .incbin "data/tilesets/secondary/hoenn_building/palettes/00.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/01.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/02.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/03.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/04.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/05.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/06.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/07.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/08.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/09.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/10.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/11.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/12.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/13.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/14.gbapal" - .incbin "data/tilesets/secondary/hoenn_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_GameCorner:: - .incbin "data/tilesets/secondary/game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_GameCorner:: - .incbin "data/tilesets/secondary/game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PewterGym:: - .incbin "data/tilesets/secondary/pewter_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PewterGym:: - .incbin "data/tilesets/secondary/pewter_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pewter_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CeruleanGym:: - .incbin "data/tilesets/secondary/cerulean_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CeruleanGym:: - .incbin "data/tilesets/secondary/cerulean_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cerulean_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_VermilionGym:: - .incbin "data/tilesets/secondary/vermilion_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_VermilionGym:: - .incbin "data/tilesets/secondary/vermilion_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/vermilion_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CeladonGym:: - .incbin "data/tilesets/secondary/celadon_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CeladonGym:: - .incbin "data/tilesets/secondary/celadon_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/celadon_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FuchsiaGym:: - .incbin "data/tilesets/secondary/fuchsia_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FuchsiaGym:: - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fuchsia_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SaffronGym:: - .incbin "data/tilesets/secondary/saffron_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SaffronGym:: - .incbin "data/tilesets/secondary/saffron_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/saffron_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CinnabarGym:: - .incbin "data/tilesets/secondary/cinnabar_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CinnabarGym:: - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cinnabar_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_ViridianGym:: - .incbin "data/tilesets/secondary/viridian_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_ViridianGym:: - .incbin "data/tilesets/secondary/viridian_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/viridian_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SSAnne:: - .incbin "data/tilesets/secondary/ss_anne/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SSAnne:: - .incbin "data/tilesets/secondary/ss_anne/palettes/00.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/01.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/02.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/03.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/04.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/05.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/06.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/07.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/08.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/09.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/10.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/11.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/12.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/13.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/14.gbapal" - .incbin "data/tilesets/secondary/ss_anne/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dummy2:: - .incbin "data/tilesets/secondary/dummy_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dummy2:: - .incbin "data/tilesets/secondary/dummy_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dummy_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_ViridianForest:: - .incbin "data/tilesets/secondary/viridian_forest/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_ViridianForest:: - .incbin "data/tilesets/secondary/viridian_forest/palettes/00.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/01.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/02.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/03.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/04.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/05.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/06.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/07.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/08.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/09.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/10.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/11.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/12.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/13.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/14.gbapal" - .incbin "data/tilesets/secondary/viridian_forest/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UnusedGatehouse1:: - .incbin "data/tilesets/secondary/unused_gatehouse_1/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_UnusedGatehouse1:: - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_1/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RockTunnel:: - .incbin "data/tilesets/secondary/rock_tunnel/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RockTunnel:: - .incbin "data/tilesets/secondary/rock_tunnel/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rock_tunnel/palettes/15.gbapal" - - .align 2 -gTilesetTiles_DiglettsCave:: - .incbin "data/tilesets/secondary/digletts_cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_DiglettsCave:: - .incbin "data/tilesets/secondary/digletts_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/digletts_cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeafoamIslands:: - .incbin "data/tilesets/secondary/seafoam_islands/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeafoamIslands:: - .incbin "data/tilesets/secondary/seafoam_islands/palettes/00.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/01.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/02.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/03.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/04.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/05.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/06.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/07.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/08.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/09.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/10.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/11.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/12.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/13.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/14.gbapal" - .incbin "data/tilesets/secondary/seafoam_islands/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UnusedGatehouse2:: - .incbin "data/tilesets/secondary/unused_gatehouse_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_UnusedGatehouse2:: - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_gatehouse_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CeruleanCave:: - .incbin "data/tilesets/secondary/cerulean_cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_CeruleanCave:: - .incbin "data/tilesets/secondary/cerulean_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cerulean_cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_GenericBuilding2:: - .incbin "data/tilesets/secondary/generic_building_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_GenericBuilding2:: - .incbin "data/tilesets/secondary/generic_building_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/generic_building_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PowerPlant:: - .incbin "data/tilesets/secondary/power_plant/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PowerPlant:: - .incbin "data/tilesets/secondary/power_plant/palettes/00.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/01.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/02.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/03.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/04.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/05.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/06.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/07.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/08.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/09.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/10.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/11.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/12.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/13.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/14.gbapal" - .incbin "data/tilesets/secondary/power_plant/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeaCottage:: - .incbin "data/tilesets/secondary/sea_cottage/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeaCottage:: - .incbin "data/tilesets/secondary/sea_cottage/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sea_cottage/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SilphCo:: - .incbin "data/tilesets/secondary/condominiums/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SilphCo:: - .incbin "data/tilesets/secondary/condominiums/palettes/00.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/01.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/02.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/03.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/04.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/05.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/06.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/07.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/08.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/09.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/10.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/11.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/12.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/13.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/14.gbapal" - .incbin "data/tilesets/secondary/condominiums/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UndergroundPath:: - .incbin "data/tilesets/secondary/underground_path/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_UndergroundPath:: - .incbin "data/tilesets/secondary/underground_path/palettes/00.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/01.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/02.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/03.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/04.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/05.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/06.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/07.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/08.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/09.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/10.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/11.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/12.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/13.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/14.gbapal" - .incbin "data/tilesets/secondary/underground_path/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonTower:: - .incbin "data/tilesets/secondary/pokemon_tower/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonTower:: - .incbin "data/tilesets/secondary/pokemon_tower/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_tower/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SafariZoneBuilding:: - .incbin "data/tilesets/secondary/safari_zone_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SafariZoneBuilding:: - .incbin "data/tilesets/secondary/safari_zone_building/palettes/00.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/01.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/02.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/03.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/04.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/05.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/06.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/07.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/08.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/09.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/10.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/11.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/12.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/13.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/14.gbapal" - .incbin "data/tilesets/secondary/safari_zone_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonMansion:: - .incbin "data/tilesets/secondary/pokemon_mansion/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonMansion:: - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_mansion/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RestaurantHotel:: - .incbin "data/tilesets/secondary/restaurant_hotel/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RestaurantHotel:: - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/00.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/01.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/02.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/03.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/04.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/05.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/06.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/07.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/08.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/09.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/10.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/11.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/12.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/13.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/14.gbapal" - .incbin "data/tilesets/secondary/restaurant_hotel/palettes/15.gbapal" - - .align 2 -gTilesetTiles_School:: - .incbin "data/tilesets/secondary/school/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_School:: - .incbin "data/tilesets/secondary/school/palettes/00.gbapal" - .incbin "data/tilesets/secondary/school/palettes/01.gbapal" - .incbin "data/tilesets/secondary/school/palettes/02.gbapal" - .incbin "data/tilesets/secondary/school/palettes/03.gbapal" - .incbin "data/tilesets/secondary/school/palettes/04.gbapal" - .incbin "data/tilesets/secondary/school/palettes/05.gbapal" - .incbin "data/tilesets/secondary/school/palettes/06.gbapal" - .incbin "data/tilesets/secondary/school/palettes/07.gbapal" - .incbin "data/tilesets/secondary/school/palettes/08.gbapal" - .incbin "data/tilesets/secondary/school/palettes/09.gbapal" - .incbin "data/tilesets/secondary/school/palettes/10.gbapal" - .incbin "data/tilesets/secondary/school/palettes/11.gbapal" - .incbin "data/tilesets/secondary/school/palettes/12.gbapal" - .incbin "data/tilesets/secondary/school/palettes/13.gbapal" - .incbin "data/tilesets/secondary/school/palettes/14.gbapal" - .incbin "data/tilesets/secondary/school/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FanClubDaycare:: - .incbin "data/tilesets/secondary/fan_club_daycare/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FanClubDaycare:: - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fan_club_daycare/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BurgledHouse:: - .incbin "data/tilesets/secondary/burgled_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BurgledHouse:: - .incbin "data/tilesets/secondary/burgled_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/burgled_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dummy3:: - .incbin "data/tilesets/secondary/dummy_3/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dummy3:: - .incbin "data/tilesets/secondary/dummy_3/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dummy_3/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dummy4:: - .incbin "data/tilesets/secondary/dummy_4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dummy4:: - .incbin "data/tilesets/secondary/dummy_4/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dummy_4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MtEmber:: - .incbin "data/tilesets/secondary/mt_ember/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MtEmber:: - .incbin "data/tilesets/secondary/mt_ember/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mt_ember/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BerryForest:: - .incbin "data/tilesets/secondary/berry_forest/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BerryForest:: - .incbin "data/tilesets/secondary/berry_forest/palettes/00.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/01.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/02.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/03.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/04.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/05.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/06.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/07.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/08.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/09.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/10.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/11.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/12.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/13.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/14.gbapal" - .incbin "data/tilesets/secondary/berry_forest/palettes/15.gbapal" - - .align 2 -gTilesetTiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TanobyRuins:: - .incbin "data/tilesets/secondary/tanoby_ruins/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TanobyRuins:: - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/00.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/01.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/02.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/03.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/04.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/05.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/06.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/07.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/08.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/09.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/10.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/11.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/12.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/13.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/14.gbapal" - .incbin "data/tilesets/secondary/tanoby_ruins/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeviiIslands123:: - .incbin "data/tilesets/secondary/sevii_islands_123/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeviiIslands123:: - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_123/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeviiIslands45:: - .incbin "data/tilesets/secondary/sevii_islands_45/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeviiIslands45:: - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_45/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeviiIslands67:: - .incbin "data/tilesets/secondary/sevii_islands_67/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeviiIslands67:: - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sevii_islands_67/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrainerTower:: - .incbin "data/tilesets/secondary/trainer_tower/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrainerTower:: - .incbin "data/tilesets/secondary/trainer_tower/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trainer_tower/palettes/15.gbapal" - - .align 2 -gTilesetTiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonLeague:: - .incbin "data/tilesets/secondary/pokemon_league/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonLeague:: - .incbin "data/tilesets/secondary/pokemon_league/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_league/palettes/15.gbapal" - - .align 2 -gTilesetTiles_HallOfFame:: - .incbin "data/tilesets/secondary/hall_of_fame/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_HallOfFame:: - .incbin "data/tilesets/secondary/hall_of_fame/palettes/00.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/01.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/02.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/03.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/04.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/05.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/06.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/07.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/08.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/09.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/10.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/11.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/12.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/13.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/14.gbapal" - .incbin "data/tilesets/secondary/hall_of_fame/palettes/15.gbapal" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc deleted file mode 100644 index cac3cf82f..000000000 --- a/data/tilesets/headers.inc +++ /dev/null @@ -1,749 +0,0 @@ - - .align 2 -gTileset_General:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_General - .4byte gTilesetPalettes_General - .4byte gMetatiles_General - .4byte InitTilesetAnim_General - .4byte gMetatileAttributes_General - - .align 2 -gTileset_PalletTown:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PalletTown - .4byte gTilesetPalettes_PalletTown - .4byte gMetatiles_PalletTown - .4byte 0x0 - .4byte gMetatileAttributes_PalletTown - - .align 2 -gTileset_ViridianCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_ViridianCity - .4byte gTilesetPalettes_ViridianCity - .4byte gMetatiles_ViridianCity - .4byte 0x0 - .4byte gMetatileAttributes_ViridianCity - - .align 2 -gTileset_PewterCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PewterCity - .4byte gTilesetPalettes_PewterCity - .4byte gMetatiles_PewterCity - .4byte 0x0 - .4byte gMetatileAttributes_PewterCity - - .align 2 -gTileset_CeruleanCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CeruleanCity - .4byte gTilesetPalettes_CeruleanCity - .4byte gMetatiles_CeruleanCity - .4byte 0x0 - .4byte gMetatileAttributes_CeruleanCity - - .align 2 -gTileset_LavenderTown:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_LavenderTown - .4byte gTilesetPalettes_LavenderTown - .4byte gMetatiles_LavenderTown - .4byte 0x0 - .4byte gMetatileAttributes_LavenderTown - - .align 2 -gTileset_VermilionCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_VermilionCity - .4byte gTilesetPalettes_VermilionCity - .4byte gMetatiles_VermilionCity - .4byte 0x0 - .4byte gMetatileAttributes_VermilionCity - - .align 2 -gTileset_CeladonCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CeladonCity - .4byte gTilesetPalettes_CeladonCity - .4byte gMetatiles_CeladonCity - .4byte InitTilesetAnim_CeladonCity - .4byte gMetatileAttributes_CeladonCity - - .align 2 -gTileset_FuchsiaCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_FuchsiaCity - .4byte gTilesetPalettes_FuchsiaCity - .4byte gMetatiles_FuchsiaCity - .4byte 0x0 - .4byte gMetatileAttributes_FuchsiaCity - - .align 2 -gTileset_CinnabarIsland:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CinnabarIsland - .4byte gTilesetPalettes_CinnabarIsland - .4byte gMetatiles_CinnabarIsland - .4byte 0x0 - .4byte gMetatileAttributes_CinnabarIsland - - .align 2 -gTileset_IndigoPlateau:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_IndigoPlateau - .4byte gTilesetPalettes_IndigoPlateau - .4byte gMetatiles_IndigoPlateau - .4byte 0x0 - .4byte gMetatileAttributes_IndigoPlateau - - .align 2 -gTileset_SaffronCity:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SaffronCity - .4byte gTilesetPalettes_SaffronCity - .4byte gMetatiles_SaffronCity - .4byte 0x0 - .4byte gMetatileAttributes_SaffronCity - - .align 2 -gTileset_Building:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Building - .4byte gTilesetPalettes_Building - .4byte gMetatiles_Building - .4byte 0x0 - .4byte gMetatileAttributes_Building - - .align 2 -gTileset_Mart:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Mart - .4byte gTilesetPalettes_Mart - .4byte gMetatiles_Mart - .4byte 0x0 - .4byte gMetatileAttributes_Mart - - .align 2 -gTileset_PokemonCenter:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonCenter - .4byte gTilesetPalettes_PokemonCenter - .4byte gMetatiles_PokemonCenter - .4byte 0x0 - .4byte gMetatileAttributes_PokemonCenter - - .align 2 -gTileset_Cave:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Cave - .4byte gTilesetPalettes_Cave - .4byte gMetatiles_Cave - .4byte 0x0 - .4byte gMetatileAttributes_Cave - - .align 2 -gTileset_Dummy1:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Dummy1 - .4byte gTilesetPalettes_Dummy1 - .4byte gMetatiles_Dummy1 - .4byte 0x0 - .4byte gMetatileAttributes_Dummy1 - - .align 2 -gTileset_Museum:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Museum - .4byte gTilesetPalettes_Museum - .4byte gMetatiles_Museum - .4byte 0x0 - .4byte gMetatileAttributes_Museum - - .align 2 -gTileset_CableClub:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CableClub - .4byte gTilesetPalettes_CableClub - .4byte gMetatiles_CableClub - .4byte 0x0 - .4byte gMetatileAttributes_CableClub - - .align 2 -gTileset_BikeShop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_BikeShop - .4byte gTilesetPalettes_BikeShop - .4byte gMetatiles_BikeShop - .4byte 0x0 - .4byte gMetatileAttributes_BikeShop - - .align 2 -gTileset_GenericBuilding1:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_GenericBuilding1 - .4byte gTilesetPalettes_GenericBuilding1 - .4byte gMetatiles_GenericBuilding1 - .4byte 0x0 - .4byte gMetatileAttributes_GenericBuilding1 - - .align 2 -gTileset_Lab:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Lab - .4byte gTilesetPalettes_Lab - .4byte gMetatiles_Lab - .4byte 0x0 - .4byte gMetatileAttributes_Lab - - .align 2 -gTileset_FuchsiaGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_FuchsiaGym - .4byte gTilesetPalettes_FuchsiaGym - .4byte gMetatiles_FuchsiaGym - .4byte 0x0 - .4byte gMetatileAttributes_FuchsiaGym - - .align 2 -gTileset_ViridianGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_ViridianGym - .4byte gTilesetPalettes_ViridianGym - .4byte gMetatiles_ViridianGym - .4byte 0x0 - .4byte gMetatileAttributes_ViridianGym - - .align 2 -gTileset_HoennBuilding:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_HoennBuilding - .4byte gTilesetPalettes_HoennBuilding - .4byte gMetatiles_HoennBuilding - .4byte 0x0 - .4byte gMetatileAttributes_HoennBuilding - - .align 2 -gTileset_GameCorner:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_GameCorner - .4byte gTilesetPalettes_GameCorner - .4byte gMetatiles_GameCorner - .4byte 0x0 - .4byte gMetatileAttributes_GameCorner - - .align 2 -gTileset_PewterGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PewterGym - .4byte gTilesetPalettes_PewterGym - .4byte gMetatiles_PewterGym - .4byte 0x0 - .4byte gMetatileAttributes_PewterGym - - .align 2 -gTileset_CeruleanGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CeruleanGym - .4byte gTilesetPalettes_CeruleanGym - .4byte gMetatiles_CeruleanGym - .4byte 0x0 - .4byte gMetatileAttributes_CeruleanGym - - .align 2 -gTileset_VermilionGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_VermilionGym - .4byte gTilesetPalettes_VermilionGym - .4byte gMetatiles_VermilionGym - .4byte InitTilesetAnim_VermilionGym - .4byte gMetatileAttributes_VermilionGym - - .align 2 -gTileset_CeladonGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CeladonGym - .4byte gTilesetPalettes_CeladonGym - .4byte gMetatiles_CeladonGym - .4byte InitTilesetAnim_CeladonGym - .4byte gMetatileAttributes_CeladonGym - - .align 2 -gTileset_SaffronGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SaffronGym - .4byte gTilesetPalettes_SaffronGym - .4byte gMetatiles_SaffronGym - .4byte 0x0 - .4byte gMetatileAttributes_SaffronGym - - .align 2 -gTileset_CinnabarGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CinnabarGym - .4byte gTilesetPalettes_CinnabarGym - .4byte gMetatiles_CinnabarGym - .4byte 0x0 - .4byte gMetatileAttributes_CinnabarGym - - .align 2 -gTileset_SSAnne:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SSAnne - .4byte gTilesetPalettes_SSAnne - .4byte gMetatiles_SSAnne - .4byte 0x0 - .4byte gMetatileAttributes_SSAnne - - .align 2 -gTileset_Dummy2:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Dummy2 - .4byte gTilesetPalettes_Dummy2 - .4byte gMetatiles_Dummy2 - .4byte 0x0 - .4byte gMetatileAttributes_Dummy2 - - .align 2 -gTileset_ViridianForest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_ViridianForest - .4byte gTilesetPalettes_ViridianForest - .4byte gMetatiles_ViridianForest - .4byte 0x0 - .4byte gMetatileAttributes_ViridianForest - - .align 2 -gTileset_UnusedGatehouse1:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_UnusedGatehouse1 - .4byte gTilesetPalettes_UnusedGatehouse1 - .4byte gMetatiles_UnusedGatehouse1 - .4byte 0x0 - .4byte gMetatileAttributes_UnusedGatehouse1 - - .align 2 -gTileset_RockTunnel:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_RockTunnel - .4byte gTilesetPalettes_RockTunnel - .4byte gMetatiles_RockTunnel - .4byte 0x0 - .4byte gMetatileAttributes_RockTunnel - - .align 2 -gTileset_DiglettsCave:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_DiglettsCave - .4byte gTilesetPalettes_DiglettsCave - .4byte gMetatiles_DiglettsCave - .4byte 0x0 - .4byte gMetatileAttributes_DiglettsCave - - .align 2 -gTileset_SeafoamIslands:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SeafoamIslands - .4byte gTilesetPalettes_SeafoamIslands - .4byte gMetatiles_SeafoamIslands - .4byte 0x0 - .4byte gMetatileAttributes_SeafoamIslands - - .align 2 -gTileset_UnusedGatehouse2:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_UnusedGatehouse2 - .4byte gTilesetPalettes_UnusedGatehouse2 - .4byte gMetatiles_UnusedGatehouse2 - .4byte 0x0 - .4byte gMetatileAttributes_UnusedGatehouse2 - - .align 2 -gTileset_CeruleanCave:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_CeruleanCave - .4byte gTilesetPalettes_CeruleanCave - .4byte gMetatiles_CeruleanCave - .4byte 0x0 - .4byte gMetatileAttributes_CeruleanCave - - .align 2 -gTileset_DepartmentStore:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_DepartmentStore - .4byte gTilesetPalettes_DepartmentStore - .4byte gMetatiles_DepartmentStore - .4byte 0x0 - .4byte gMetatileAttributes_DepartmentStore - - .align 2 -gTileset_GenericBuilding2:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_GenericBuilding2 - .4byte gTilesetPalettes_GenericBuilding2 - .4byte gMetatiles_GenericBuilding2 - .4byte 0x0 - .4byte gMetatileAttributes_GenericBuilding2 - - .align 2 -gTileset_PowerPlant:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PowerPlant - .4byte gTilesetPalettes_PowerPlant - .4byte gMetatiles_PowerPlant - .4byte 0x0 - .4byte gMetatileAttributes_PowerPlant - - .align 2 -gTileset_SeaCottage:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SeaCottage - .4byte gTilesetPalettes_SeaCottage - .4byte gMetatiles_SeaCottage - .4byte 0x0 - .4byte gMetatileAttributes_SeaCottage - - .align 2 -gTileset_SilphCo:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SilphCo - .4byte gTilesetPalettes_SilphCo - .4byte gMetatiles_SilphCo - .4byte InitTilesetAnim_SilphCo - .4byte gMetatileAttributes_SilphCo - - .align 2 -gTileset_UndergroundPath:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_UndergroundPath - .4byte gTilesetPalettes_UndergroundPath - .4byte gMetatiles_UndergroundPath - .4byte 0x0 - .4byte gMetatileAttributes_UndergroundPath - - .align 2 -gTileset_PokemonTower:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonTower - .4byte gTilesetPalettes_PokemonTower - .4byte gMetatiles_PokemonTower - .4byte 0x0 - .4byte gMetatileAttributes_PokemonTower - - .align 2 -gTileset_SafariZoneBuilding:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SafariZoneBuilding - .4byte gTilesetPalettes_SafariZoneBuilding - .4byte gMetatiles_SafariZoneBuilding - .4byte 0x0 - .4byte gMetatileAttributes_SafariZoneBuilding - - .align 2 -gTileset_PokemonMansion:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonMansion - .4byte gTilesetPalettes_PokemonMansion - .4byte gMetatiles_PokemonMansion - .4byte 0x0 - .4byte gMetatileAttributes_PokemonMansion - - .align 2 -gTileset_RestaurantHotel:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_RestaurantHotel - .4byte gTilesetPalettes_RestaurantHotel - .4byte gMetatiles_RestaurantHotel - .4byte 0x0 - .4byte gMetatileAttributes_RestaurantHotel - - .align 2 -gTileset_School:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_School - .4byte gTilesetPalettes_School - .4byte gMetatiles_School - .4byte 0x0 - .4byte gMetatileAttributes_School - - .align 2 -gTileset_FanClubDaycare:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_FanClubDaycare - .4byte gTilesetPalettes_FanClubDaycare - .4byte gMetatiles_FanClubDaycare - .4byte 0x0 - .4byte gMetatileAttributes_FanClubDaycare - - .align 2 -gTileset_Condominiums:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SilphCo - .4byte gTilesetPalettes_SilphCo - .4byte gMetatiles_Condominiums - .4byte 0x0 - .4byte gMetatileAttributes_Condominiums - - .align 2 -gTileset_BurgledHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_BurgledHouse - .4byte gTilesetPalettes_BurgledHouse - .4byte gMetatiles_BurgledHouse - .4byte 0x0 - .4byte gMetatileAttributes_BurgledHouse - - .align 2 -gTileset_Dummy3:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Dummy3 - .4byte gTilesetPalettes_Dummy3 - .4byte gMetatiles_Dummy3 - .4byte 0x0 - .4byte gMetatileAttributes_Dummy3 - - .align 2 -gTileset_Dummy4:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_Dummy4 - .4byte gTilesetPalettes_Dummy4 - .4byte gMetatiles_Dummy4 - .4byte 0x0 - .4byte gMetatileAttributes_Dummy4 - - .align 2 -gTileset_MtEmber:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_MtEmber - .4byte gTilesetPalettes_MtEmber - .4byte gMetatiles_MtEmber - .4byte InitTilesetAnim_MtEmber - .4byte gMetatileAttributes_MtEmber - - .align 2 -gTileset_BerryForest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_BerryForest - .4byte gTilesetPalettes_BerryForest - .4byte gMetatiles_BerryForest - .4byte 0x0 - .4byte gMetatileAttributes_BerryForest - - .align 2 -gTileset_NavelRock:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_NavelRock - .4byte gTilesetPalettes_NavelRock - .4byte gMetatiles_NavelRock - .4byte 0x0 - .4byte gMetatileAttributes_NavelRock - - .align 2 -gTileset_TanobyRuins:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_TanobyRuins - .4byte gTilesetPalettes_TanobyRuins - .4byte gMetatiles_TanobyRuins - .4byte 0x0 - .4byte gMetatileAttributes_TanobyRuins - - .align 2 -gTileset_SeviiIslands123:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SeviiIslands123 - .4byte gTilesetPalettes_SeviiIslands123 - .4byte gMetatiles_SeviiIslands123 - .4byte 0x0 - .4byte gMetatileAttributes_SeviiIslands123 - - .align 2 -gTileset_SeviiIslands45:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SeviiIslands45 - .4byte gTilesetPalettes_SeviiIslands45 - .4byte gMetatiles_SeviiIslands45 - .4byte 0x0 - .4byte gMetatileAttributes_SeviiIslands45 - - .align 2 -gTileset_SeviiIslands67:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_SeviiIslands67 - .4byte gTilesetPalettes_SeviiIslands67 - .4byte gMetatiles_SeviiIslands67 - .4byte 0x0 - .4byte gMetatileAttributes_SeviiIslands67 - - .align 2 -gTileset_TrainerTower:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_TrainerTower - .4byte gTilesetPalettes_TrainerTower - .4byte gMetatiles_TrainerTower - .4byte 0x0 - .4byte gMetatileAttributes_TrainerTower - - .align 2 -gTileset_IslandHarbor:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_IslandHarbor - .4byte gTilesetPalettes_IslandHarbor - .4byte gMetatiles_IslandHarbor - .4byte 0x0 - .4byte gMetatileAttributes_IslandHarbor - - .align 2 -gTileset_PokemonLeague:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonLeague - .4byte gTilesetPalettes_PokemonLeague - .4byte gMetatiles_PokemonLeague - .4byte 0x0 - .4byte gMetatileAttributes_PokemonLeague - - .align 2 -gTileset_HallOfFame:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary - .2byte 0 @ padding - .4byte gTilesetTiles_HallOfFame - .4byte gTilesetPalettes_HallOfFame - .4byte gMetatiles_HallOfFame - .4byte 0x0 - .4byte gMetatileAttributes_HallOfFame - diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc deleted file mode 100644 index af9fe19a1..000000000 --- a/data/tilesets/metatiles.inc +++ /dev/null @@ -1,543 +0,0 @@ - .align 1 -gMetatiles_General:: - .incbin "data/tilesets/primary/general/metatiles.bin" - - .align 1 -gMetatileAttributes_General:: - .incbin "data/tilesets/primary/general/metatile_attributes.bin" - - .align 1 -gMetatiles_PalletTown:: - .incbin "data/tilesets/secondary/pallet_town/metatiles.bin" - - .align 1 -gMetatileAttributes_PalletTown:: - .incbin "data/tilesets/secondary/pallet_town/metatile_attributes.bin" - - .align 1 -gMetatiles_ViridianCity:: - .incbin "data/tilesets/secondary/viridian_city/metatiles.bin" - - .align 1 -gMetatileAttributes_ViridianCity:: - .incbin "data/tilesets/secondary/viridian_city/metatile_attributes.bin" - - .align 1 -gMetatiles_PewterCity:: - .incbin "data/tilesets/secondary/pewter_city/metatiles.bin" - - .align 1 -gMetatileAttributes_PewterCity:: - .incbin "data/tilesets/secondary/pewter_city/metatile_attributes.bin" - - .align 1 -gMetatiles_CeruleanCity:: - .incbin "data/tilesets/secondary/cerulean_city/metatiles.bin" - - .align 1 -gMetatileAttributes_CeruleanCity:: - .incbin "data/tilesets/secondary/cerulean_city/metatile_attributes.bin" - - .align 1 -gMetatiles_LavenderTown:: - .incbin "data/tilesets/secondary/lavender_town/metatiles.bin" - - .align 1 -gMetatileAttributes_LavenderTown:: - .incbin "data/tilesets/secondary/lavender_town/metatile_attributes.bin" - - .align 1 -gMetatiles_VermilionCity:: - .incbin "data/tilesets/secondary/vermilion_city/metatiles.bin" - - .align 1 -gMetatileAttributes_VermilionCity:: - .incbin "data/tilesets/secondary/vermilion_city/metatile_attributes.bin" - - .align 1 -gMetatiles_CeladonCity:: - .incbin "data/tilesets/secondary/celadon_city/metatiles.bin" - - .align 1 -gMetatileAttributes_CeladonCity:: - .incbin "data/tilesets/secondary/celadon_city/metatile_attributes.bin" - - .align 1 -gMetatiles_FuchsiaCity:: - .incbin "data/tilesets/secondary/fuchsia_city/metatiles.bin" - - .align 1 -gMetatileAttributes_FuchsiaCity:: - .incbin "data/tilesets/secondary/fuchsia_city/metatile_attributes.bin" - - .align 1 -gMetatiles_CinnabarIsland:: - .incbin "data/tilesets/secondary/cinnabar_island/metatiles.bin" - - .align 1 -gMetatileAttributes_CinnabarIsland:: - .incbin "data/tilesets/secondary/cinnabar_island/metatile_attributes.bin" - - .align 1 -gMetatiles_IndigoPlateau:: - .incbin "data/tilesets/secondary/indigo_plateau/metatiles.bin" - - .align 1 -gMetatileAttributes_IndigoPlateau:: - .incbin "data/tilesets/secondary/indigo_plateau/metatile_attributes.bin" - - .align 1 -gMetatiles_SaffronCity:: - .incbin "data/tilesets/secondary/saffron_city/metatiles.bin" - - .align 1 -gMetatileAttributes_SaffronCity:: - .incbin "data/tilesets/secondary/saffron_city/metatile_attributes.bin" - - .align 1 -gMetatiles_PewterGym:: - .incbin "data/tilesets/secondary/pewter_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_PewterGym:: - .incbin "data/tilesets/secondary/pewter_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_CeruleanGym:: - .incbin "data/tilesets/secondary/cerulean_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_CeruleanGym:: - .incbin "data/tilesets/secondary/cerulean_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_VermilionGym:: - .incbin "data/tilesets/secondary/vermilion_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_VermilionGym:: - .incbin "data/tilesets/secondary/vermilion_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_CeladonGym:: - .incbin "data/tilesets/secondary/celadon_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_CeladonGym:: - .incbin "data/tilesets/secondary/celadon_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_FuchsiaGym:: - .incbin "data/tilesets/secondary/fuchsia_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_FuchsiaGym:: - .incbin "data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_SaffronGym:: - .incbin "data/tilesets/secondary/saffron_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_SaffronGym:: - .incbin "data/tilesets/secondary/saffron_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_CinnabarGym:: - .incbin "data/tilesets/secondary/cinnabar_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_CinnabarGym:: - .incbin "data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_ViridianGym:: - .incbin "data/tilesets/secondary/viridian_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_ViridianGym:: - .incbin "data/tilesets/secondary/viridian_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_Building:: @ Building - .incbin "data/tilesets/primary/building/metatiles.bin" - - .align 1 -gMetatileAttributes_Building:: @ Building - .incbin "data/tilesets/primary/building/metatile_attributes.bin" - - .align 1 -gMetatiles_Dummy1:: - .incbin "data/tilesets/secondary/dummy_1/metatiles.bin" - - .align 1 -gMetatileAttributes_Dummy1:: - .incbin "data/tilesets/secondary/dummy_1/metatile_attributes.bin" - - .align 1 -gMetatiles_HoennBuilding:: - .incbin "data/tilesets/secondary/hoenn_building/metatiles.bin" - - .align 1 -gMetatileAttributes_HoennBuilding:: - .incbin "data/tilesets/secondary/hoenn_building/metatile_attributes.bin" - - .align 1 -gMetatiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatiles.bin" - - .align 1 -gMetatileAttributes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin" - - .align 1 -gMetatiles_Mart:: - .incbin "data/tilesets/secondary/mart/metatiles.bin" - - .align 1 -gMetatileAttributes_Mart:: - .incbin "data/tilesets/secondary/mart/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin" - - .align 1 -gMetatiles_GenericBuilding1:: - .incbin "data/tilesets/secondary/generic_building_1/metatiles.bin" - - .align 1 -gMetatileAttributes_GenericBuilding1:: - .incbin "data/tilesets/secondary/generic_building_1/metatile_attributes.bin" - - .align 1 -gMetatiles_Cave:: - .incbin "data/tilesets/secondary/cave/metatiles.bin" - - .align 1 -gMetatileAttributes_Cave:: - .incbin "data/tilesets/secondary/cave/metatile_attributes.bin" - - .align 1 -gMetatiles_GameCorner:: - .incbin "data/tilesets/secondary/game_corner/metatiles.bin" - - .align 1 -gMetatileAttributes_GameCorner:: - .incbin "data/tilesets/secondary/game_corner/metatile_attributes.bin" - - .align 1 -gMetatiles_Lab:: - .incbin "data/tilesets/secondary/lab/metatiles.bin" - - .align 1 -gMetatileAttributes_Lab:: - .incbin "data/tilesets/secondary/lab/metatile_attributes.bin" - - .align 1 -gMetatiles_SSAnne:: - .incbin "data/tilesets/secondary/ss_anne/metatiles.bin" - - .align 1 -gMetatileAttributes_SSAnne:: - .incbin "data/tilesets/secondary/ss_anne/metatile_attributes.bin" - - .align 1 -gMetatiles_Dummy2:: - .incbin "data/tilesets/secondary/dummy_2/metatiles.bin" - - .align 1 -gMetatileAttributes_Dummy2:: - .incbin "data/tilesets/secondary/dummy_2/metatile_attributes.bin" - - .align 1 -gMetatiles_ViridianForest:: - .incbin "data/tilesets/secondary/viridian_forest/metatiles.bin" - - .align 1 -gMetatileAttributes_ViridianForest:: - .incbin "data/tilesets/secondary/viridian_forest/metatile_attributes.bin" - - .align 1 -gMetatiles_UnusedGatehouse1:: - .incbin "data/tilesets/secondary/unused_gatehouse_1/metatiles.bin" - - .align 1 -gMetatileAttributes_UnusedGatehouse1:: - .incbin "data/tilesets/secondary/unused_gatehouse_1/metatile_attributes.bin" - - .align 1 -gMetatiles_RockTunnel:: - .incbin "data/tilesets/secondary/rock_tunnel/metatiles.bin" - - .align 1 -gMetatileAttributes_RockTunnel:: - .incbin "data/tilesets/secondary/rock_tunnel/metatile_attributes.bin" - - .align 1 -gMetatiles_DiglettsCave:: - .incbin "data/tilesets/secondary/digletts_cave/metatiles.bin" - - .align 1 -gMetatileAttributes_DiglettsCave:: - .incbin "data/tilesets/secondary/digletts_cave/metatile_attributes.bin" - - .align 1 -gMetatiles_SeafoamIslands:: - .incbin "data/tilesets/secondary/seafoam_islands/metatiles.bin" - - .align 1 -gMetatileAttributes_SeafoamIslands:: - .incbin "data/tilesets/secondary/seafoam_islands/metatile_attributes.bin" - - .align 1 -gMetatiles_UnusedGatehouse2:: - .incbin "data/tilesets/secondary/unused_gatehouse_2/metatiles.bin" - - .align 1 -gMetatileAttributes_UnusedGatehouse2:: - .incbin "data/tilesets/secondary/unused_gatehouse_2/metatile_attributes.bin" - - .align 1 -gMetatiles_CeruleanCave:: - .incbin "data/tilesets/secondary/cerulean_cave/metatiles.bin" - - .align 1 -gMetatileAttributes_CeruleanCave:: - .incbin "data/tilesets/secondary/cerulean_cave/metatile_attributes.bin" - - .align 1 -gMetatiles_DepartmentStore:: - .incbin "data/tilesets/secondary/department_store/metatiles.bin" - - .align 1 -gMetatileAttributes_DepartmentStore:: - .incbin "data/tilesets/secondary/department_store/metatile_attributes.bin" - - .align 1 -gMetatiles_GenericBuilding2:: - .incbin "data/tilesets/secondary/generic_building_2/metatiles.bin" - - .align 1 -gMetatileAttributes_GenericBuilding2:: - .incbin "data/tilesets/secondary/generic_building_2/metatile_attributes.bin" - - .align 1 -gMetatiles_PowerPlant:: - .incbin "data/tilesets/secondary/power_plant/metatiles.bin" - - .align 1 -gMetatileAttributes_PowerPlant:: - .incbin "data/tilesets/secondary/power_plant/metatile_attributes.bin" - - .align 1 -gMetatiles_SeaCottage:: - .incbin "data/tilesets/secondary/sea_cottage/metatiles.bin" - - .align 1 -gMetatileAttributes_SeaCottage:: - .incbin "data/tilesets/secondary/sea_cottage/metatile_attributes.bin" - - .align 1 -gMetatiles_SilphCo:: - .incbin "data/tilesets/secondary/silph_co/metatiles.bin" - - .align 1 -gMetatileAttributes_SilphCo:: - .incbin "data/tilesets/secondary/silph_co/metatile_attributes.bin" - - .align 1 -gMetatiles_UndergroundPath:: - .incbin "data/tilesets/secondary/underground_path/metatiles.bin" - - .align 1 -gMetatileAttributes_UndergroundPath:: - .incbin "data/tilesets/secondary/underground_path/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonTower:: - .incbin "data/tilesets/secondary/pokemon_tower/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonTower:: - .incbin "data/tilesets/secondary/pokemon_tower/metatile_attributes.bin" - - .align 1 -gMetatiles_SafariZoneBuilding:: - .incbin "data/tilesets/secondary/safari_zone_building/metatiles.bin" - - .align 1 -gMetatileAttributes_SafariZoneBuilding:: - .incbin "data/tilesets/secondary/safari_zone_building/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonMansion:: - .incbin "data/tilesets/secondary/pokemon_mansion/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonMansion:: - .incbin "data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin" - - .align 1 -gMetatiles_Museum:: - .incbin "data/tilesets/secondary/museum/metatiles.bin" - - .align 1 -gMetatileAttributes_Museum:: - .incbin "data/tilesets/secondary/museum/metatile_attributes.bin" - - .align 1 -gMetatiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatiles.bin" - - .align 1 -gMetatileAttributes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin" - - .align 1 -gMetatiles_RestaurantHotel:: - .incbin "data/tilesets/secondary/restaurant_hotel/metatiles.bin" - - .align 1 -gMetatileAttributes_RestaurantHotel:: - .incbin "data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin" - - .align 1 -gMetatiles_School:: - .incbin "data/tilesets/secondary/school/metatiles.bin" - - .align 1 -gMetatileAttributes_School:: - .incbin "data/tilesets/secondary/school/metatile_attributes.bin" - - .align 1 -gMetatiles_FanClubDaycare:: - .incbin "data/tilesets/secondary/fan_club_daycare/metatiles.bin" - - .align 1 -gMetatileAttributes_FanClubDaycare:: - .incbin "data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin" - - .align 1 -gMetatiles_Condominiums:: - .incbin "data/tilesets/secondary/condominiums/metatiles.bin" - - .align 1 -gMetatileAttributes_Condominiums:: - .incbin "data/tilesets/secondary/condominiums/metatile_attributes.bin" - - .align 1 -gMetatiles_BurgledHouse:: - .incbin "data/tilesets/secondary/burgled_house/metatiles.bin" - - .align 1 -gMetatileAttributes_BurgledHouse:: - .incbin "data/tilesets/secondary/burgled_house/metatile_attributes.bin" - - .align 1 -gMetatiles_Dummy3:: - .incbin "data/tilesets/secondary/dummy_3/metatiles.bin" - - .align 1 -gMetatileAttributes_Dummy3:: - .incbin "data/tilesets/secondary/dummy_3/metatile_attributes.bin" - - .align 1 -gMetatiles_Dummy4:: - .incbin "data/tilesets/secondary/dummy_4/metatiles.bin" - - .align 1 -gMetatileAttributes_Dummy4:: - .incbin "data/tilesets/secondary/dummy_4/metatile_attributes.bin" - - .align 1 -gMetatiles_MtEmber:: - .incbin "data/tilesets/secondary/mt_ember/metatiles.bin" - - .align 1 -gMetatileAttributes_MtEmber:: - .incbin "data/tilesets/secondary/mt_ember/metatile_attributes.bin" - - .align 1 -gMetatiles_BerryForest:: - .incbin "data/tilesets/secondary/berry_forest/metatiles.bin" - - .align 1 -gMetatileAttributes_BerryForest:: - .incbin "data/tilesets/secondary/berry_forest/metatile_attributes.bin" - - .align 1 -gMetatiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatiles.bin" - - .align 1 -gMetatileAttributes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin" - - .align 1 -gMetatiles_TanobyRuins:: - .incbin "data/tilesets/secondary/tanoby_ruins/metatiles.bin" - - .align 1 -gMetatileAttributes_TanobyRuins:: - .incbin "data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin" - - .align 1 -gMetatiles_SeviiIslands123:: - .incbin "data/tilesets/secondary/sevii_islands_123/metatiles.bin" - - .align 1 -gMetatileAttributes_SeviiIslands123:: - .incbin "data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin" - - .align 1 -gMetatiles_SeviiIslands45:: - .incbin "data/tilesets/secondary/sevii_islands_45/metatiles.bin" - - .align 1 -gMetatileAttributes_SeviiIslands45:: - .incbin "data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin" - - .align 1 -gMetatiles_SeviiIslands67:: - .incbin "data/tilesets/secondary/sevii_islands_67/metatiles.bin" - - .align 1 -gMetatileAttributes_SeviiIslands67:: - .incbin "data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin" - - .align 1 -gMetatiles_TrainerTower:: - .incbin "data/tilesets/secondary/trainer_tower/metatiles.bin" - - .align 1 -gMetatileAttributes_TrainerTower:: - .incbin "data/tilesets/secondary/trainer_tower/metatile_attributes.bin" - - .align 1 -gMetatiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatiles.bin" - - .align 1 -gMetatileAttributes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonLeague:: - .incbin "data/tilesets/secondary/pokemon_league/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonLeague:: - .incbin "data/tilesets/secondary/pokemon_league/metatile_attributes.bin" - - .align 1 -gMetatiles_HallOfFame:: - .incbin "data/tilesets/secondary/hall_of_fame/metatiles.bin" - - .align 1 -gMetatileAttributes_HallOfFame:: - .incbin "data/tilesets/secondary/hall_of_fame/metatile_attributes.bin" diff --git a/graphics/interface/unk_8E84560.pal b/graphics/interface/bag.pal similarity index 100% rename from graphics/interface/unk_8E84560.pal rename to graphics/interface/bag.pal diff --git a/graphics/interface/unk_8E83DBC.png b/graphics/interface/bag_female.png similarity index 100% rename from graphics/interface/unk_8E83DBC.png rename to graphics/interface/bag_female.png diff --git a/graphics/interface/unk_8E8362C.png b/graphics/interface/bag_male.png similarity index 100% rename from graphics/interface/unk_8E8362C.png rename to graphics/interface/bag_male.png diff --git a/graphics/intro/unk_84024E4.bin b/graphics/intro/copyright.bin similarity index 100% rename from graphics/intro/unk_84024E4.bin rename to graphics/intro/copyright.bin diff --git a/graphics/intro/unk_8402260.pal b/graphics/intro/copyright.pal similarity index 100% rename from graphics/intro/unk_8402260.pal rename to graphics/intro/copyright.pal diff --git a/graphics/intro/copyright.png b/graphics/intro/copyright.png new file mode 100644 index 000000000..ff320806e Binary files /dev/null and b/graphics/intro/copyright.png differ diff --git a/graphics/intro/unk_8402668.bin b/graphics/intro/game_freak/bg.bin similarity index 100% rename from graphics/intro/unk_8402668.bin rename to graphics/intro/game_freak/bg.bin diff --git a/graphics/intro/unk_8402630.pal b/graphics/intro/game_freak/bg.pal similarity index 100% rename from graphics/intro/unk_8402630.pal rename to graphics/intro/game_freak/bg.pal diff --git a/graphics/intro/unk_8402650.png b/graphics/intro/game_freak/bg.png similarity index 100% rename from graphics/intro/unk_8402650.png rename to graphics/intro/game_freak/bg.png diff --git a/graphics/intro/unk_840272C.png b/graphics/intro/game_freak/game_freak.png similarity index 100% rename from graphics/intro/unk_840272C.png rename to graphics/intro/game_freak/game_freak.png diff --git a/graphics/intro/unk_84028F8.png b/graphics/intro/game_freak/logo.png similarity index 100% rename from graphics/intro/unk_84028F8.png rename to graphics/intro/game_freak/logo.png diff --git a/graphics/intro/unk_8402CD4.png b/graphics/intro/game_freak/presents.png similarity index 100% rename from graphics/intro/unk_8402CD4.png rename to graphics/intro/game_freak/presents.png diff --git a/graphics/intro/game_freak/sparkles.pal b/graphics/intro/game_freak/sparkles.pal new file mode 100644 index 000000000..ace266f9b --- /dev/null +++ b/graphics/intro/game_freak/sparkles.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 32 +0 0 74 +0 0 115 +24 24 123 +49 49 139 +82 82 156 +106 106 172 +139 139 189 +164 164 205 +197 197 222 +222 222 238 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/intro/unk_8402B2C.png b/graphics/intro/game_freak/sparkles_big.png similarity index 100% rename from graphics/intro/unk_8402B2C.png rename to graphics/intro/game_freak/sparkles_big.png diff --git a/graphics/intro/unk_8402ADC.png b/graphics/intro/game_freak/sparkles_small.png similarity index 100% rename from graphics/intro/unk_8402ADC.png rename to graphics/intro/game_freak/sparkles_small.png diff --git a/graphics/intro/unk_8402A64.png b/graphics/intro/game_freak/star.png similarity index 100% rename from graphics/intro/unk_8402A64.png rename to graphics/intro/game_freak/star.png diff --git a/graphics/intro/unk_8405DA4.pal b/graphics/intro/gengar.pal similarity index 100% rename from graphics/intro/unk_8405DA4.pal rename to graphics/intro/gengar.pal diff --git a/graphics/intro/unk_84096AC.pal b/graphics/intro/nidorino.pal similarity index 100% rename from graphics/intro/unk_84096AC.pal rename to graphics/intro/nidorino.pal diff --git a/graphics/intro/unk_8404F7C.bin b/graphics/intro/scene_1/bg.bin similarity index 100% rename from graphics/intro/unk_8404F7C.bin rename to graphics/intro/scene_1/bg.bin diff --git a/graphics/intro/unk_84048EC.png b/graphics/intro/scene_1/bg.png similarity index 100% rename from graphics/intro/unk_84048EC.png rename to graphics/intro/scene_1/bg.png diff --git a/graphics/intro/unk_8403FE8.bin b/graphics/intro/scene_1/grass.bin similarity index 100% rename from graphics/intro/unk_8403FE8.bin rename to graphics/intro/scene_1/grass.bin diff --git a/graphics/intro/unk_8402D54.png b/graphics/intro/scene_1/grass.png similarity index 100% rename from graphics/intro/unk_8402D54.png rename to graphics/intro/scene_1/grass.png diff --git a/graphics/intro/unk_8405890.bin b/graphics/intro/scene_2/bg.bin similarity index 100% rename from graphics/intro/unk_8405890.bin rename to graphics/intro/scene_2/bg.bin diff --git a/graphics/intro/unk_84053B4.pal b/graphics/intro/scene_2/bg.pal similarity index 100% rename from graphics/intro/unk_84053B4.pal rename to graphics/intro/scene_2/bg.pal diff --git a/graphics/intro/unk_8405414.png b/graphics/intro/scene_2/bg.png similarity index 100% rename from graphics/intro/unk_8405414.png rename to graphics/intro/scene_2/bg.png diff --git a/graphics/intro/unk_840926C.png b/graphics/intro/scene_2/gengar.png similarity index 100% rename from graphics/intro/unk_840926C.png rename to graphics/intro/scene_2/gengar.png diff --git a/graphics/intro/unk_840644C.bin b/graphics/intro/scene_2/gengar_close.bin similarity index 100% rename from graphics/intro/unk_840644C.bin rename to graphics/intro/scene_2/gengar_close.bin diff --git a/graphics/intro/scene_2/gengar_close.png b/graphics/intro/scene_2/gengar_close.png new file mode 100644 index 000000000..9878b9bca Binary files /dev/null and b/graphics/intro/scene_2/gengar_close.png differ diff --git a/graphics/intro/unk_84096CC.png b/graphics/intro/scene_2/nidorino.png similarity index 100% rename from graphics/intro/unk_84096CC.png rename to graphics/intro/scene_2/nidorino.png diff --git a/graphics/intro/unk_84071D0.bin b/graphics/intro/scene_2/nidorino_close.bin similarity index 100% rename from graphics/intro/unk_84071D0.bin rename to graphics/intro/scene_2/nidorino_close.bin diff --git a/graphics/intro/unk_8406634.pal b/graphics/intro/scene_2/nidorino_close.pal similarity index 100% rename from graphics/intro/unk_8406634.pal rename to graphics/intro/scene_2/nidorino_close.pal diff --git a/graphics/intro/unk_8406654.png b/graphics/intro/scene_2/nidorino_close.png similarity index 100% rename from graphics/intro/unk_8406654.png rename to graphics/intro/scene_2/nidorino_close.png diff --git a/graphics/intro/unk_8405CDC.bin b/graphics/intro/scene_2/plants.bin similarity index 100% rename from graphics/intro/unk_8405CDC.bin rename to graphics/intro/scene_2/plants.bin diff --git a/graphics/intro/unk_8405B28.png b/graphics/intro/scene_2/plants.png similarity index 100% rename from graphics/intro/unk_8405B28.png rename to graphics/intro/scene_2/plants.png diff --git a/graphics/intro/unk_8407A50.bin b/graphics/intro/scene_3/bg.bin similarity index 100% rename from graphics/intro/unk_8407A50.bin rename to graphics/intro/scene_3/bg.bin diff --git a/graphics/intro/unk_8407430.pal b/graphics/intro/scene_3/bg.pal similarity index 100% rename from graphics/intro/unk_8407430.pal rename to graphics/intro/scene_3/bg.pal diff --git a/graphics/intro/unk_8407470.png b/graphics/intro/scene_3/bg.png similarity index 100% rename from graphics/intro/unk_8407470.png rename to graphics/intro/scene_3/bg.png diff --git a/graphics/intro/unk_8408D98.bin b/graphics/intro/scene_3/gengar_anim.bin similarity index 100% rename from graphics/intro/unk_8408D98.bin rename to graphics/intro/scene_3/gengar_anim.bin diff --git a/graphics/intro/scene_3/gengar_anim.png b/graphics/intro/scene_3/gengar_anim.png new file mode 100644 index 000000000..d339ca80f Binary files /dev/null and b/graphics/intro/scene_3/gengar_anim.png differ diff --git a/graphics/intro/unk_8409D20.png b/graphics/intro/scene_3/gengar_static.png similarity index 100% rename from graphics/intro/unk_8409D20.png rename to graphics/intro/scene_3/gengar_static.png diff --git a/graphics/intro/unk_8409A3C.png b/graphics/intro/scene_3/grass.png similarity index 100% rename from graphics/intro/unk_8409A3C.png rename to graphics/intro/scene_3/grass.png diff --git a/graphics/intro/unk_840A3E4.png b/graphics/intro/scene_3/nidorino.png similarity index 100% rename from graphics/intro/unk_840A3E4.png rename to graphics/intro/scene_3/nidorino.png diff --git a/graphics/intro/unk_840BAE0.png b/graphics/intro/scene_3/recoil_dust.png similarity index 100% rename from graphics/intro/unk_840BAE0.png rename to graphics/intro/scene_3/recoil_dust.png diff --git a/graphics/intro/unk_840B874.png b/graphics/intro/scene_3/swipe.png similarity index 100% rename from graphics/intro/unk_840B874.png rename to graphics/intro/scene_3/swipe.png diff --git a/graphics/intro/unk_8402280.png b/graphics/intro/unk_8402280.png deleted file mode 100644 index dccf33afa..000000000 Binary files a/graphics/intro/unk_8402280.png and /dev/null differ diff --git a/graphics/intro/unk_840270C.pal b/graphics/intro/unk_840270C.pal deleted file mode 100644 index 619aee6a0..000000000 --- a/graphics/intro/unk_840270C.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -24 41 74 -0 0 0 -139 123 16 -189 172 16 -131 164 65 -148 230 49 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 222 222 -24 41 74 -82 82 82 -180 180 180 -255 255 255 diff --git a/graphics/intro/unk_8402D34.pal b/graphics/intro/unk_8402D34.pal deleted file mode 100644 index 4be93ec3e..000000000 --- a/graphics/intro/unk_8402D34.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -115 197 106 -41 164 8 -82 180 65 -139 222 131 -98 197 82 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -16 139 98 -16 115 98 -24 90 90 -32 74 90 -32 65 82 diff --git a/graphics/intro/unk_84048CC.pal b/graphics/intro/unk_84048CC.pal deleted file mode 100644 index ef08ae2fe..000000000 --- a/graphics/intro/unk_84048CC.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 255 -255 255 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 246 246 -222 230 230 -180 189 197 -148 156 172 -106 123 139 -74 90 115 -41 57 90 -0 0 0 diff --git a/graphics/intro/unk_8405B08.pal b/graphics/intro/unk_8405B08.pal deleted file mode 100644 index 43cc9d949..000000000 --- a/graphics/intro/unk_8405B08.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -131 238 115 -82 189 74 -57 164 57 -115 213 98 -16 123 16 -164 255 131 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 148 0 -164 222 98 diff --git a/graphics/intro/unk_8405DC4.png b/graphics/intro/unk_8405DC4.png deleted file mode 100644 index 8ae6ba691..000000000 Binary files a/graphics/intro/unk_8405DC4.png and /dev/null differ diff --git a/graphics/intro/unk_8407B9C.png b/graphics/intro/unk_8407B9C.png deleted file mode 100644 index 75528b3b6..000000000 Binary files a/graphics/intro/unk_8407B9C.png and /dev/null differ diff --git a/graphics/intro/unk_8409A1C.pal b/graphics/intro/unk_8409A1C.pal deleted file mode 100644 index 36cbbb9a0..000000000 --- a/graphics/intro/unk_8409A1C.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -164 238 139 -57 148 57 -131 213 115 -156 230 156 -131 205 148 -106 180 131 -65 139 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 0 0 diff --git a/graphics/intro/unk_840B834.pal b/graphics/intro/unk_840B834.pal deleted file mode 100644 index 40bbce557..000000000 --- a/graphics/intro/unk_840B834.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -238 246 189 -0 0 0 -0 0 0 -115 213 255 -156 222 255 -205 238 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/unk_840B854.pal b/graphics/intro/unk_840B854.pal deleted file mode 100644 index dcf29b92e..000000000 --- a/graphics/intro/unk_840B854.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 222 205 -255 255 255 -222 222 222 -123 123 123 -156 222 255 -189 230 255 -222 238 255 -255 255 255 -255 180 123 -238 98 74 -205 57 32 -197 131 180 -164 98 148 -131 65 123 -90 57 90 -16 16 16 diff --git a/graphics/misc/unk_8479688.png b/graphics/misc/minigame_digits.png similarity index 100% rename from graphics/misc/unk_8479688.png rename to graphics/misc/minigame_digits.png diff --git a/graphics/misc/unk_8479748.png b/graphics/misc/minigame_digits_unused.png similarity index 100% rename from graphics/misc/unk_8479748.png rename to graphics/misc/minigame_digits_unused.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 2adb6e847..0aa81586d 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -537,14 +537,20 @@ graphics/misc/emoticons.4bpp: %.4bpp: %.png $(ITEMMENUGFXDIR)/bag_tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 55 -$(INTROGFXDIR)/unk_8402D54.4bpp: %.4bpp: %.png +$(INTROGFXDIR)/scene_1/grass.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 397 -$(INTROGFXDIR)/unk_8406654.4bpp: %.4bpp: %.png +$(INTROGFXDIR)/scene_2/plants.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 17 + +$(INTROGFXDIR)/scene_2/nidorino_close.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 170 -$(INTROGFXDIR)/unk_8405B28.4bpp: %.4bpp: %.png - $(GFX) $< $@ -num_tiles 17 +$(INTROGFXDIR)/scene_2/gengar_close.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 114 + +$(INTROGFXDIR)/scene_3/gengar_anim.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 348 $(BATTLETERRAINGFXDIR)/building/terrain.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 77 diff --git a/include/berry_fix_program.h b/include/berry_fix_program.h index fc0748fd9..b91a23553 100644 --- a/include/berry_fix_program.h +++ b/include/berry_fix_program.h @@ -1,6 +1,6 @@ #ifndef GUARD_BERRY_FIX_PROGRAM_H #define GUARD_BERRY_FIX_PROGRAM_H -void mb_berry_fix_serve(void); +void CB2_InitBerryFixProgram(void); #endif //GUARD_BERRY_FIX_PROGRAM_H diff --git a/include/constants/items.h b/include/constants/items.h index 4ee7e3014..a3242c13e 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -438,11 +438,7 @@ #define ITEM_RUBY 373 #define ITEM_SAPPHIRE 374 -#define ITEM_N_A 375 - -// Emerald -#define ITEM_MAGMA_EMBLEM 375 -#define ITEM_OLD_SEA_MAP 376 +#define ITEMS_COUNT 375 #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY #define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY @@ -452,6 +448,11 @@ #define NUM_TECHNICAL_MACHINES 50 #define NUM_HIDDEN_MACHINES 8 +// Secondary IDs for rods +#define OLD_ROD 0 +#define GOOD_ROD 1 +#define SUPER_ROD 2 + // Check if the item is one that can be used on a Pokemon. #define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) diff --git a/include/constants/vars.h b/include/constants/vars.h index 0db01238c..0a88f6508 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -230,13 +230,13 @@ #define VAR_0x40B3 0x40B3 #define VAR_PORTHOLE 0x40B4 #define VAR_EVENT_PICHU_SLOT 0x40B5 -#define VAR_0x40B6 0x40B6 -#define VAR_0x40B7 0x40B7 -#define VAR_0x40B8 0x40B8 -#define VAR_0x40B9 0x40B9 -#define VAR_0x40BA 0x40BA -#define VAR_0x40BB 0x40BB -#define VAR_0x40BC 0x40BC +#define VAR_MYSTERY_GIFT_1 0x40B6 +#define VAR_MYSTERY_GIFT_2 0x40B7 +#define VAR_MYSTERY_GIFT_3 0x40B8 +#define VAR_MYSTERY_GIFT_4 0x40B9 +#define VAR_MYSTERY_GIFT_5 0x40BA +#define VAR_MYSTERY_GIFT_6 0x40BB +#define VAR_MYSTERY_GIFT_7 0x40BC #define VAR_0x40BD 0x40BD #define VAR_0x40BE 0x40BE #define VAR_0x40BF 0x40BF diff --git a/include/digit_obj_util.h b/include/digit_obj_util.h index 5674f201f..e2a445320 100644 --- a/include/digit_obj_util.h +++ b/include/digit_obj_util.h @@ -19,9 +19,8 @@ struct DigitObjUtilTemplate const struct SpritePalette * spritePal; }; -extern const u16 gUnknown_8479668[]; -extern const u32 gUnknown_8479688[]; -extern const u32 gUnknown_8479748[]; +extern const u16 gMinigameDigits_Pal[]; +extern const u32 gMinigameDigits_Gfx[]; bool32 DigitObjUtil_Init(u32 count); void DigitObjUtil_Free(void); diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 548e27163..53b60d5b6 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -552,6 +552,7 @@ #define WININ_WIN0_BG_ALL (WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3) #define WININ_WIN0_OBJ (1 << 4) #define WININ_WIN0_CLR (1 << 5) +#define WININ_WIN0_ALL (WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR) #define WININ_WIN1_BG0 (1 << 8) #define WININ_WIN1_BG1 (1 << 9) #define WININ_WIN1_BG2 (1 << 10) @@ -559,6 +560,7 @@ #define WININ_WIN1_BG_ALL (WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3) #define WININ_WIN1_OBJ (1 << 12) #define WININ_WIN1_CLR (1 << 13) +#define WININ_WIN1_ALL (WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR) #define WINOUT_WIN01_BG0 (1 << 0) #define WINOUT_WIN01_BG1 (1 << 1) @@ -567,6 +569,7 @@ #define WINOUT_WIN01_BG_ALL (WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3) #define WINOUT_WIN01_OBJ (1 << 4) #define WINOUT_WIN01_CLR (1 << 5) +#define WINOUT_WIN01_ALL (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR) #define WINOUT_WINOBJ_BG0 (1 << 8) #define WINOUT_WINOBJ_BG1 (1 << 9) #define WINOUT_WINOBJ_BG2 (1 << 10) @@ -574,6 +577,7 @@ #define WINOUT_WINOBJ_BG_ALL (WINOUT_WINOBJ_BG0 | WINOUT_WINOBJ_BG1 | WINOUT_WINOBJ_BG2 | WINOUT_WINOBJ_BG3) #define WINOUT_WINOBJ_OBJ (1 << 12) #define WINOUT_WINOBJ_CLR (1 << 13) +#define WINOUT_WINOBJ_ALL (WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR) #define WIN_RANGE(a, b) (((a) << 8) | (b)) #define WIN_RANGE2(a, b) ((b) | ((a) << 8)) @@ -584,8 +588,10 @@ #define BLDCNT_TGT1_BG1 (1 << 1) #define BLDCNT_TGT1_BG2 (1 << 2) #define BLDCNT_TGT1_BG3 (1 << 3) +#define BLDCNT_TGT1_BG_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3) #define BLDCNT_TGT1_OBJ (1 << 4) #define BLDCNT_TGT1_BD (1 << 5) +#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG_ALL | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD) // Bits 6-7 select the special effect #define BLDCNT_EFFECT_NONE (0 << 6) // no special effect #define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA) @@ -596,9 +602,10 @@ #define BLDCNT_TGT2_BG1 (1 << 9) #define BLDCNT_TGT2_BG2 (1 << 10) #define BLDCNT_TGT2_BG3 (1 << 11) +#define BLDCNT_TGT2_BG_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3) #define BLDCNT_TGT2_OBJ (1 << 12) #define BLDCNT_TGT2_BD (1 << 13) -#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) +#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG_ALL | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA #define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index d9be6a29a..6d0bfb1af 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -68,11 +68,11 @@ struct Tileset { /*0x00*/ bool8 isCompressed; /*0x01*/ bool8 isSecondary; - /*0x04*/ void *tiles; - /*0x08*/ void *palettes; - /*0x0c*/ void *metatiles; + /*0x04*/ const u32 *tiles; + /*0x08*/ const u16 (*palettes)[16]; + /*0x0c*/ const u16 *metatiles; /*0x10*/ TilesetCB callback; - /*0x14*/ u32 *metatileAttributes; + /*0x14*/ const u32 *metatileAttributes; }; struct MapLayout diff --git a/include/graphics.h b/include/graphics.h index 02cc0082e..c486aa058 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2916,11 +2916,11 @@ extern const u32 gItemPcBgPals[]; extern const u8 gItemPcTilemap[]; // item_menu_icons -extern const u32 gUnknown_8E8362C[]; -extern const u32 gUnknown_8E83DBC[]; -extern const u32 gUnknown_8E84560[]; -extern const u32 gFile_graphics_interface_bag_swap_sheet[]; -extern const u32 gFile_graphics_interface_bag_swap_palette[]; +extern const u32 gBagMale_Gfx[]; +extern const u32 gBagFemale_Gfx[]; +extern const u32 gBag_Pal[]; +extern const u32 gSwapLine_Gfx[]; +extern const u32 gSwapLine_Pal[]; extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; extern const u8 gFile_graphics_items_icons_master_ball_sheet[]; diff --git a/include/intro.h b/include/intro.h index 1630b845e..7ed777ad6 100644 --- a/include/intro.h +++ b/include/intro.h @@ -1,7 +1,7 @@ #ifndef GUARD_INTRO_H #define GUARD_INTRO_H -void CB2_CopyrightScreen(void); -void c2_copyright_1(void); +void CB2_InitCopyrightScreenAfterTitleScreen(void); +void CB2_InitCopyrightScreenAfterBootup(void); #endif //GUARD_INTRO_H diff --git a/include/item.h b/include/item.h index 5496bc869..e58348a78 100644 --- a/include/item.h +++ b/include/item.h @@ -16,11 +16,11 @@ struct Item u8 importance; u8 exitsBagOnUse; u8 pocket; - u8 type; + u8 type; // unused for balls ItemUseFunc fieldUseFunc; u8 battleUsage; ItemUseFunc battleUseFunc; - u8 secondaryId; + u8 secondaryId; // only used for fishing rods }; struct BagPocket @@ -29,6 +29,15 @@ struct BagPocket u8 capacity; }; +// Item type IDs (used to determine the exit callback) +enum { + ITEM_TYPE_MAIL, + ITEM_TYPE_PARTY_MENU, + ITEM_TYPE_FIELD, + ITEM_TYPE_UNUSED, // Used for Pokeblock case in RSE + ITEM_TYPE_BAG_MENU, // No exit callback, stays in bag menu +}; + extern const struct Item gItems[]; extern struct BagPocket gBagPockets[]; diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 01e481080..57f03422a 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,26 +3,26 @@ #include "global.h" -extern const struct CompressedSpriteSheet gSpriteSheet_Backpack; -extern const struct CompressedSpriteSheet gSpriteSheet_Satchel; -extern const struct CompressedSpritePalette gSpritePalette_BagOrSatchel; +extern const struct CompressedSpriteSheet gSpriteSheet_BagMale; +extern const struct CompressedSpriteSheet gSpriteSheet_BagFemale; +extern const struct CompressedSpritePalette gSpritePalette_Bag; extern const struct CompressedSpriteSheet gBagSwapSpriteSheet; extern const struct CompressedSpritePalette gBagSwapSpritePalette; void ResetItemMenuIconState(void); -void ItemMenuIcons_CreateInsertIndicatorBarHidden(void); +void CreateSwapLine(void); void DestroyItemMenuIcon(bool8 a0); void CreateItemMenuIcon(u16 itemId, bool8 a0); void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId); u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); -void sub_80989A0(u16 itemId, u8 idx); -void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y); -void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible); +void CreateBerryPouchItemIcon(u16 itemId, u8 idx); +void UpdateSwapLinePos(s16 x, u16 y); +void SetSwapLineInvisibility(bool8 invisible); void SetBagVisualPocketId(u8); void ShakeBagSprite(void); const void *GetItemIconGfxPtr(u16 itemId, u8 ptrId); -void CreateBagOrSatchelSprite(u8 animNum); +void CreateBagSprite(u8 animNum); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/item_use.h b/include/item_use.h index d08878f72..77aed7820 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -6,9 +6,9 @@ void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8); void ItemUse_SetQuestLogEvent(u8, struct Pokemon *, u16, u16); -void FieldUseFunc_OrangeMail(u8 taskId); -void FieldUseFunc_MachBike(u8 taskId); -void FieldUseFunc_OldRod(u8 taskId); +void FieldUseFunc_Mail(u8 taskId); +void FieldUseFunc_Bike(u8 taskId); +void FieldUseFunc_Rod(u8 taskId); void FieldUseFunc_CoinCase(u8 taskId); void FieldUseFunc_PowderJar(u8 taskId); void FieldUseFunc_PokeFlute(u8 taskId); @@ -22,14 +22,14 @@ void FieldUseFunc_TmCase(u8 taskId); void FieldUseFunc_BerryPouch(u8 taskId); void BattleUseFunc_BerryPouch(u8 taskId); void FieldUseFunc_TeachyTv(u8 taskId); -void FieldUseFunc_SuperRepel(u8 taskId); -void FieldUseFunc_BlackFlute(u8 taskId); +void FieldUseFunc_Repel(u8 taskId); +void FieldUseFunc_BlackWhiteFlute(u8 taskId); void FieldUseFunc_TownMap(u8 taskId); void FieldUseFunc_FameChecker(u8 taskId); void FieldUseFunc_VsSeeker(u8 taskId); void BattleUseFunc_PokeBallEtc(u8 taskId); void BattleUseFunc_PokeFlute(u8 taskId); -void BattleUseFunc_GuardSpec(u8 taskId); +void BattleUseFunc_StatBooster(u8 taskId); void BattleUseFunc_Medicine(u8 taskId); void BattleUseFunc_Ether(u8 taskId); void BattleUseFunc_PokeDoll(u8 taskId); @@ -38,7 +38,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId); void ItemUseOutOfBattle_EnigmaBerry(u8 taskId); void ItemUseInBattle_EnigmaBerry(u8 taskId); void ItemUseOutOfBattle_Itemfinder(u8 taskId); -void sub_80A1C44(u8 taskId); +void Task_UseDigEscapeRopeOnField(u8 taskId); u8 CanUseEscapeRopeOnCurrMap(void); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); diff --git a/include/palette.h b/include/palette.h index c510a5d2f..4d4477b13 100644 --- a/include/palette.h +++ b/include/palette.h @@ -74,11 +74,10 @@ void TintPalette_GrayScale(u16 *palette, u16 count); void TintPalette_GrayScale2(u16 *palette, u16 count); void TintPalette_SepiaTone(u16 *palette, u16 count); void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); -void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4); -void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7); -bool32 sub_807185C(u8 var); -void sub_8071898(void); -void PaletteStruct_ResetById(u16 a1); -void ResetPaletteStruct(u8 paletteNum); +void PaletteStruct_ResetById(u16 id); +void CopyPaletteInvertedTint(const u16 *src, u16 *dst, u16 count, u8 tone); +void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id); +bool32 IsBlendPalettesGraduallyTaskActive(u8 var); +void DestroyBlendPalettesGraduallyTask(void); #endif // GUARD_PALETTE_H diff --git a/include/random.h b/include/random.h index bf4af42d0..fd6b88ad0 100644 --- a/include/random.h +++ b/include/random.h @@ -15,8 +15,9 @@ u16 Random2(void); // The number 1103515245 comes from the example implementation of rand and srand // in the ISO C standard. -#define ISO_RANDOMIZE1(val)(1103515245 * (val) + 24691) -#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345) +#define RAND_MULT 1103515245 +#define ISO_RANDOMIZE1(val)(RAND_MULT * (val) + 24691) +#define ISO_RANDOMIZE2(val)(RAND_MULT * (val) + 12345) //Sets the initial seed value of the pseudorandom number generator void SeedRng(u16 seed); diff --git a/include/sprite.h b/include/sprite.h index eed582775..6a1b27211 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -7,6 +7,9 @@ #define SPRITE_NONE 0xFF #define TAG_NONE 0xFFFF +// Given to SetSpriteMatrixAnchor to skip anchoring one of the coords. +#define NO_ANCHOR 0x800 + struct SpriteSheet { const void *data; // Raw uncompressed pixel data @@ -228,7 +231,7 @@ struct Sprite u16 animEnded:1; //0x10 u16 affineAnimEnded:1; //0x20 u16 usingSheet:1; //0x40 - u16 flags_f:1; //0x80 + u16 anchored:1; //0x80 /*0x40*/ u16 sheetTileStart; @@ -316,6 +319,6 @@ void ClearSpriteCopyRequests(void); void ResetAffineAnimData(void); void FreeSpriteTilesIfNotUsingSheet(struct Sprite *sprite); s16 AllocSpriteTiles(u16 tileCount); -void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod); +void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 xmod, s16 ymod); #endif //GUARD_SPRITE_H diff --git a/include/tileset_anims.h b/include/tileset_anims.h index 0e515f044..b85f6ecd5 100644 --- a/include/tileset_anims.h +++ b/include/tileset_anims.h @@ -6,4 +6,11 @@ void InitSecondaryTilesetAnimation(void); void UpdateTilesetAnimations(void); void TransferTilesetAnimsBuffer(void); +void InitTilesetAnim_General(void); +void InitTilesetAnim_CeladonCity(void); +void InitTilesetAnim_VermilionGym(void); +void InitTilesetAnim_CeladonGym(void); +void InitTilesetAnim_SilphCo(void); +void InitTilesetAnim_MtEmber(void); + #endif // GUARD_TILESET_ANIMS_H diff --git a/include/tilesets.h b/include/tilesets.h index 03274be60..855599d89 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -1,15 +1,13 @@ -#ifndef GUARD_tilesets_H -#define GUARD_tilesets_H +#ifndef GUARD_TILESETS_H +#define GUARD_TILESETS_H -#include "global.h" +extern const u32 gTilesetTiles_General[]; +extern const u16 gTilesetPalettes_General[][16]; -// Exported type declarations +extern const u32 gTilesetTiles_GenericBuilding1[]; +extern const u16 gTilesetPalettes_GenericBuilding1[][16]; -// Exported RAM declarations +extern const u32 gTilesetTiles_DepartmentStore[]; +extern const u16 gTilesetPalettes_DepartmentStore[][16]; -// Exported ROM declarations - -extern struct Tileset *gTilesetPointer_SecretBase; -extern struct Tileset *gTilesetPointer_SecretBaseRedCave; - -#endif //GUARD_tilesets_H +#endif // GUARD_TILESETS_H diff --git a/ld_script.txt b/ld_script.txt index 69dae4b5b..46b7d0e7b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -420,7 +420,7 @@ SECTIONS { src/trade.o(.rodata); src/trade_scene.o(.rodata); src/overworld.o(.rodata); - data/tilesets.o(.rodata); + src/tilesets.o(.rodata); data/maps.o(.rodata); src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc new file mode 100644 index 000000000..22e743363 --- /dev/null +++ b/sound/cry_tables.inc @@ -0,0 +1,781 @@ + .align 2 +gCryTable:: + cry Cry_Bulbasaur + cry Cry_Ivysaur + cry Cry_Venusaur + cry Cry_Charmander + cry Cry_Charmeleon + cry Cry_Charizard + cry Cry_Squirtle + cry Cry_Wartortle + cry Cry_Blastoise + cry Cry_Caterpie + cry Cry_Metapod + cry Cry_Butterfree + cry Cry_Weedle + cry Cry_Kakuna + cry Cry_Beedrill + cry Cry_Pidgey + cry Cry_Pidgeotto + cry Cry_Pidgeot + cry Cry_Rattata + cry Cry_Raticate + cry Cry_Spearow + cry Cry_Fearow + cry Cry_Ekans + cry Cry_Arbok + cry Cry_Pikachu + cry Cry_Raichu + cry Cry_Sandshrew + cry Cry_Sandslash + cry Cry_NidoranF + cry Cry_Nidorina + cry Cry_Nidoqueen + cry Cry_NidoranM + cry Cry_Nidorino + cry Cry_Nidoking + cry Cry_Clefairy + cry Cry_Clefable + cry Cry_Vulpix + cry Cry_Ninetales + cry Cry_Jigglypuff + cry Cry_Wigglytuff + cry Cry_Zubat + cry Cry_Golbat + cry Cry_Oddish + cry Cry_Gloom + cry Cry_Vileplume + cry Cry_Paras + cry Cry_Parasect + cry Cry_Venonat + cry Cry_Venomoth + cry Cry_Diglett + cry Cry_Dugtrio + cry Cry_Meowth + cry Cry_Persian + cry Cry_Psyduck + cry Cry_Golduck + cry Cry_Mankey + cry Cry_Primeape + cry Cry_Growlithe + cry Cry_Arcanine + cry Cry_Poliwag + cry Cry_Poliwhirl + cry Cry_Poliwrath + cry Cry_Abra + cry Cry_Kadabra + cry Cry_Alakazam + cry Cry_Machop + cry Cry_Machoke + cry Cry_Machamp + cry Cry_Bellsprout + cry Cry_Weepinbell + cry Cry_Victreebel + cry Cry_Tentacool + cry Cry_Tentacruel + cry Cry_Geodude + cry Cry_Graveler + cry Cry_Golem + cry Cry_Ponyta + cry Cry_Rapidash + cry Cry_Slowpoke + cry Cry_Slowbro + cry Cry_Magnemite + cry Cry_Magneton + cry Cry_Farfetchd + cry Cry_Doduo + cry Cry_Dodrio + cry Cry_Seel + cry Cry_Dewgong + cry Cry_Grimer + cry Cry_Muk + cry Cry_Shellder + cry Cry_Cloyster + cry Cry_Gastly + cry Cry_Haunter + cry Cry_Gengar + cry Cry_Onix + cry Cry_Drowzee + cry Cry_Hypno + cry Cry_Krabby + cry Cry_Kingler + cry Cry_Voltorb + cry Cry_Electrode + cry Cry_Exeggcute + cry Cry_Exeggutor + cry Cry_Cubone + cry Cry_Marowak + cry Cry_Hitmonlee + cry Cry_Hitmonchan + cry Cry_Lickitung + cry Cry_Koffing + cry Cry_Weezing + cry Cry_Rhyhorn + cry Cry_Rhydon + cry Cry_Chansey + cry Cry_Tangela + cry Cry_Kangaskhan + cry Cry_Horsea + cry Cry_Seadra + cry Cry_Goldeen + cry Cry_Seaking + cry Cry_Staryu + cry Cry_Starmie + cry Cry_MrMime + cry Cry_Scyther + cry Cry_Jynx + cry Cry_Electabuzz + cry Cry_Magmar + cry Cry_Pinsir + cry Cry_Tauros + cry Cry_Magikarp + cry Cry_Gyarados + cry Cry_Lapras + cry Cry_Ditto + cry Cry_Eevee + cry Cry_Vaporeon + cry Cry_Jolteon + cry Cry_Flareon + cry Cry_Porygon + cry Cry_Omanyte + cry Cry_Omastar + cry Cry_Kabuto + cry Cry_Kabutops + cry Cry_Aerodactyl + cry Cry_Snorlax + cry Cry_Articuno + cry Cry_Zapdos + cry Cry_Moltres + cry Cry_Dratini + cry Cry_Dragonair + cry Cry_Dragonite + cry Cry_Mewtwo + cry Cry_Mew + cry Cry_Chikorita + cry Cry_Bayleef + cry Cry_Meganium + cry Cry_Cyndaquil + cry Cry_Quilava + cry Cry_Typhlosion + cry Cry_Totodile + cry Cry_Croconaw + cry Cry_Feraligatr + cry Cry_Sentret + cry Cry_Furret + cry Cry_Hoothoot + cry Cry_Noctowl + cry Cry_Ledyba + cry Cry_Ledian + cry Cry_Spinarak + cry Cry_Ariados + cry Cry_Crobat + cry Cry_Chinchou + cry Cry_Lanturn + cry Cry_Pichu + cry Cry_Cleffa + cry Cry_Igglybuff + cry Cry_Togepi + cry Cry_Togetic + cry Cry_Natu + cry Cry_Xatu + cry Cry_Mareep + cry Cry_Flaaffy + cry Cry_Ampharos + cry Cry_Bellossom + cry Cry_Marill + cry Cry_Azumarill + cry Cry_Sudowoodo + cry Cry_Politoed + cry Cry_Hoppip + cry Cry_Skiploom + cry Cry_Jumpluff + cry Cry_Aipom + cry Cry_Sunkern + cry Cry_Sunflora + cry Cry_Yanma + cry Cry_Wooper + cry Cry_Quagsire + cry Cry_Espeon + cry Cry_Umbreon + cry Cry_Murkrow + cry Cry_Slowking + cry Cry_Misdreavus + cry Cry_Unown + cry Cry_Wobbuffet + cry Cry_Girafarig + cry Cry_Pineco + cry Cry_Forretress + cry Cry_Dunsparce + cry Cry_Gligar + cry Cry_Steelix + cry Cry_Snubbull + cry Cry_Granbull + cry Cry_Qwilfish + cry Cry_Scizor + cry Cry_Shuckle + cry Cry_Heracross + cry Cry_Sneasel + cry Cry_Teddiursa + cry Cry_Ursaring + cry Cry_Slugma + cry Cry_Magcargo + cry Cry_Swinub + cry Cry_Piloswine + cry Cry_Corsola + cry Cry_Remoraid + cry Cry_Octillery + cry Cry_Delibird + cry Cry_Mantine + cry Cry_Skarmory + cry Cry_Houndour + cry Cry_Houndoom + cry Cry_Kingdra + cry Cry_Phanpy + cry Cry_Donphan + cry Cry_Porygon2 + cry Cry_Stantler + cry Cry_Smeargle + cry Cry_Tyrogue + cry Cry_Hitmontop + cry Cry_Smoochum + cry Cry_Elekid + cry Cry_Magby + cry Cry_Miltank + cry Cry_Blissey + cry Cry_Raikou + cry Cry_Entei + cry Cry_Suicune + cry Cry_Larvitar + cry Cry_Pupitar + cry Cry_Tyranitar + cry Cry_Lugia + cry Cry_HoOh + cry Cry_Celebi + cry Cry_Kecleon + cry Cry_Roselia + cry Cry_Torkoal + cry Cry_Electrike + cry Cry_Manectric + cry Cry_Duskull + cry Cry_Latias + cry Cry_Wynaut + cry Cry_Seviper + cry Cry_Sharpedo + cry Cry_Zangoose + cry Cry_Azurill + cry Cry_Swablu + cry Cry_Altaria + cry Cry_Unused265 + cry Cry_Taillow + cry Cry_Swellow + cry Cry_Unused268 + cry Cry_Spinda + cry Cry_Torchic + cry Cry_Combusken + cry Cry_Blaziken + cry Cry_Treecko + cry Cry_Grovyle + cry Cry_Sceptile + cry Cry_Mudkip + cry Cry_Marshtomp + cry Cry_Swampert + cry Cry_Pelipper + cry Cry_Wingull + cry Cry_Banette + cry Cry_Shuppet + cry Cry_Lotad + cry Cry_Lombre + cry Cry_Ludicolo + cry Cry_Seedot + cry Cry_Nuzleaf + cry Cry_Shiftry + cry Cry_Carvanha + cry Cry_Wurmple + cry Cry_Silcoon + cry Cry_Beautifly + cry Cry_Cascoon + cry Cry_Dustox + cry Cry_Ralts + cry Cry_Kirlia + cry Cry_Gardevoir + cry Cry_Slakoth + cry Cry_Vigoroth + cry Cry_Slaking + cry Cry_Nincada + cry Cry_Ninjask + cry Cry_Shedinja + cry Cry_Makuhita + cry Cry_Hariyama + cry Cry_Nosepass + cry Cry_Glalie + cry Cry_Plusle + cry Cry_Minun + cry Cry_Surskit + cry Cry_Masquerain + cry Cry_Skitty + cry Cry_Delcatty + cry Cry_Gulpin + cry Cry_Swalot + cry Cry_Numel + cry Cry_Camerupt + cry Cry_Barboach + cry Cry_Whiscash + cry Cry_Corphish + cry Cry_Crawdaunt + cry Cry_Spoink + cry Cry_Grumpig + cry Cry_Trapinch + cry Cry_Vibrava + cry Cry_Flygon + cry Cry_Cacnea + cry Cry_Cacturne + cry Cry_Baltoy + cry Cry_Claydol + cry Cry_Lunatone + cry Cry_Solrock + cry Cry_Feebas + cry Cry_Milotic + cry Cry_Absol + cry Cry_Meditite + cry Cry_Medicham + cry Cry_Spheal + cry Cry_Sealeo + cry Cry_Walrein + cry Cry_Clamperl + cry Cry_Huntail + cry Cry_Gorebyss + cry Cry_Lileep + cry Cry_Cradily + cry Cry_Anorith + cry Cry_Armaldo + cry Cry_Beldum + cry Cry_Metang + cry Cry_Metagross + cry Cry_Bagon + cry Cry_Shelgon + cry Cry_Regirock + cry Cry_Regice + cry Cry_Registeel + cry Cry_Castform + cry Cry_Volbeat + cry Cry_Illumise + cry Cry_Poochyena + cry Cry_Mightyena + cry Cry_Dusclops + cry Cry_Sableye + cry Cry_Mawile + cry Cry_Aron + cry Cry_Lairon + cry Cry_Aggron + cry Cry_Relicanth + cry Cry_Luvdisc + cry Cry_Groudon + cry Cry_Kyogre + cry Cry_Rayquaza + cry Cry_Salamence + cry Cry_Breloom + cry Cry_Shroomish + cry Cry_Linoone + cry Cry_Tropius + cry Cry_Wailmer + cry Cry_Zigzagoon + cry Cry_Exploud + cry Cry_Loudred + cry Cry_Wailord + cry Cry_Whismur + cry Cry_Snorunt + cry Cry_Latios + cry Cry_Jirachi + cry Cry_Deoxys + cry Cry_Chimecho + + .align 2 +gCryTable_Reverse:: + cry_reverse Cry_Bulbasaur + cry_reverse Cry_Ivysaur + cry_reverse Cry_Venusaur + cry_reverse Cry_Charmander + cry_reverse Cry_Charmeleon + cry_reverse Cry_Charizard + cry_reverse Cry_Squirtle + cry_reverse Cry_Wartortle + cry_reverse Cry_Blastoise + cry_reverse Cry_Caterpie + cry_reverse Cry_Metapod + cry_reverse Cry_Butterfree + cry_reverse Cry_Weedle + cry_reverse Cry_Kakuna + cry_reverse Cry_Beedrill + cry_reverse Cry_Pidgey + cry_reverse Cry_Pidgeotto + cry_reverse Cry_Pidgeot + cry_reverse Cry_Rattata + cry_reverse Cry_Raticate + cry_reverse Cry_Spearow + cry_reverse Cry_Fearow + cry_reverse Cry_Ekans + cry_reverse Cry_Arbok + cry_reverse Cry_Pikachu + cry_reverse Cry_Raichu + cry_reverse Cry_Sandshrew + cry_reverse Cry_Sandslash + cry_reverse Cry_NidoranF + cry_reverse Cry_Nidorina + cry_reverse Cry_Nidoqueen + cry_reverse Cry_NidoranM + cry_reverse Cry_Nidorino + cry_reverse Cry_Nidoking + cry_reverse Cry_Clefairy + cry_reverse Cry_Clefable + cry_reverse Cry_Vulpix + cry_reverse Cry_Ninetales + cry_reverse Cry_Jigglypuff + cry_reverse Cry_Wigglytuff + cry_reverse Cry_Zubat + cry_reverse Cry_Golbat + cry_reverse Cry_Oddish + cry_reverse Cry_Gloom + cry_reverse Cry_Vileplume + cry_reverse Cry_Paras + cry_reverse Cry_Parasect + cry_reverse Cry_Venonat + cry_reverse Cry_Venomoth + cry_reverse Cry_Diglett + cry_reverse Cry_Dugtrio + cry_reverse Cry_Meowth + cry_reverse Cry_Persian + cry_reverse Cry_Psyduck + cry_reverse Cry_Golduck + cry_reverse Cry_Mankey + cry_reverse Cry_Primeape + cry_reverse Cry_Growlithe + cry_reverse Cry_Arcanine + cry_reverse Cry_Poliwag + cry_reverse Cry_Poliwhirl + cry_reverse Cry_Poliwrath + cry_reverse Cry_Abra + cry_reverse Cry_Kadabra + cry_reverse Cry_Alakazam + cry_reverse Cry_Machop + cry_reverse Cry_Machoke + cry_reverse Cry_Machamp + cry_reverse Cry_Bellsprout + cry_reverse Cry_Weepinbell + cry_reverse Cry_Victreebel + cry_reverse Cry_Tentacool + cry_reverse Cry_Tentacruel + cry_reverse Cry_Geodude + cry_reverse Cry_Graveler + cry_reverse Cry_Golem + cry_reverse Cry_Ponyta + cry_reverse Cry_Rapidash + cry_reverse Cry_Slowpoke + cry_reverse Cry_Slowbro + cry_reverse Cry_Magnemite + cry_reverse Cry_Magneton + cry_reverse Cry_Farfetchd + cry_reverse Cry_Doduo + cry_reverse Cry_Dodrio + cry_reverse Cry_Seel + cry_reverse Cry_Dewgong + cry_reverse Cry_Grimer + cry_reverse Cry_Muk + cry_reverse Cry_Shellder + cry_reverse Cry_Cloyster + cry_reverse Cry_Gastly + cry_reverse Cry_Haunter + cry_reverse Cry_Gengar + cry_reverse Cry_Onix + cry_reverse Cry_Drowzee + cry_reverse Cry_Hypno + cry_reverse Cry_Krabby + cry_reverse Cry_Kingler + cry_reverse Cry_Voltorb + cry_reverse Cry_Electrode + cry_reverse Cry_Exeggcute + cry_reverse Cry_Exeggutor + cry_reverse Cry_Cubone + cry_reverse Cry_Marowak + cry_reverse Cry_Hitmonlee + cry_reverse Cry_Hitmonchan + cry_reverse Cry_Lickitung + cry_reverse Cry_Koffing + cry_reverse Cry_Weezing + cry_reverse Cry_Rhyhorn + cry_reverse Cry_Rhydon + cry_reverse Cry_Chansey + cry_reverse Cry_Tangela + cry_reverse Cry_Kangaskhan + cry_reverse Cry_Horsea + cry_reverse Cry_Seadra + cry_reverse Cry_Goldeen + cry_reverse Cry_Seaking + cry_reverse Cry_Staryu + cry_reverse Cry_Starmie + cry_reverse Cry_MrMime + cry_reverse Cry_Scyther + cry_reverse Cry_Jynx + cry_reverse Cry_Electabuzz + cry_reverse Cry_Magmar + cry_reverse Cry_Pinsir + cry_reverse Cry_Tauros + cry_reverse Cry_Magikarp + cry_reverse Cry_Gyarados + cry_reverse Cry_Lapras + cry_reverse Cry_Ditto + cry_reverse Cry_Eevee + cry_reverse Cry_Vaporeon + cry_reverse Cry_Jolteon + cry_reverse Cry_Flareon + cry_reverse Cry_Porygon + cry_reverse Cry_Omanyte + cry_reverse Cry_Omastar + cry_reverse Cry_Kabuto + cry_reverse Cry_Kabutops + cry_reverse Cry_Aerodactyl + cry_reverse Cry_Snorlax + cry_reverse Cry_Articuno + cry_reverse Cry_Zapdos + cry_reverse Cry_Moltres + cry_reverse Cry_Dratini + cry_reverse Cry_Dragonair + cry_reverse Cry_Dragonite + cry_reverse Cry_Mewtwo + cry_reverse Cry_Mew + cry_reverse Cry_Chikorita + cry_reverse Cry_Bayleef + cry_reverse Cry_Meganium + cry_reverse Cry_Cyndaquil + cry_reverse Cry_Quilava + cry_reverse Cry_Typhlosion + cry_reverse Cry_Totodile + cry_reverse Cry_Croconaw + cry_reverse Cry_Feraligatr + cry_reverse Cry_Sentret + cry_reverse Cry_Furret + cry_reverse Cry_Hoothoot + cry_reverse Cry_Noctowl + cry_reverse Cry_Ledyba + cry_reverse Cry_Ledian + cry_reverse Cry_Spinarak + cry_reverse Cry_Ariados + cry_reverse Cry_Crobat + cry_reverse Cry_Chinchou + cry_reverse Cry_Lanturn + cry_reverse Cry_Pichu + cry_reverse Cry_Cleffa + cry_reverse Cry_Igglybuff + cry_reverse Cry_Togepi + cry_reverse Cry_Togetic + cry_reverse Cry_Natu + cry_reverse Cry_Xatu + cry_reverse Cry_Mareep + cry_reverse Cry_Flaaffy + cry_reverse Cry_Ampharos + cry_reverse Cry_Bellossom + cry_reverse Cry_Marill + cry_reverse Cry_Azumarill + cry_reverse Cry_Sudowoodo + cry_reverse Cry_Politoed + cry_reverse Cry_Hoppip + cry_reverse Cry_Skiploom + cry_reverse Cry_Jumpluff + cry_reverse Cry_Aipom + cry_reverse Cry_Sunkern + cry_reverse Cry_Sunflora + cry_reverse Cry_Yanma + cry_reverse Cry_Wooper + cry_reverse Cry_Quagsire + cry_reverse Cry_Espeon + cry_reverse Cry_Umbreon + cry_reverse Cry_Murkrow + cry_reverse Cry_Slowking + cry_reverse Cry_Misdreavus + cry_reverse Cry_Unown + cry_reverse Cry_Wobbuffet + cry_reverse Cry_Girafarig + cry_reverse Cry_Pineco + cry_reverse Cry_Forretress + cry_reverse Cry_Dunsparce + cry_reverse Cry_Gligar + cry_reverse Cry_Steelix + cry_reverse Cry_Snubbull + cry_reverse Cry_Granbull + cry_reverse Cry_Qwilfish + cry_reverse Cry_Scizor + cry_reverse Cry_Shuckle + cry_reverse Cry_Heracross + cry_reverse Cry_Sneasel + cry_reverse Cry_Teddiursa + cry_reverse Cry_Ursaring + cry_reverse Cry_Slugma + cry_reverse Cry_Magcargo + cry_reverse Cry_Swinub + cry_reverse Cry_Piloswine + cry_reverse Cry_Corsola + cry_reverse Cry_Remoraid + cry_reverse Cry_Octillery + cry_reverse Cry_Delibird + cry_reverse Cry_Mantine + cry_reverse Cry_Skarmory + cry_reverse Cry_Houndour + cry_reverse Cry_Houndoom + cry_reverse Cry_Kingdra + cry_reverse Cry_Phanpy + cry_reverse Cry_Donphan + cry_reverse Cry_Porygon2 + cry_reverse Cry_Stantler + cry_reverse Cry_Smeargle + cry_reverse Cry_Tyrogue + cry_reverse Cry_Hitmontop + cry_reverse Cry_Smoochum + cry_reverse Cry_Elekid + cry_reverse Cry_Magby + cry_reverse Cry_Miltank + cry_reverse Cry_Blissey + cry_reverse Cry_Raikou + cry_reverse Cry_Entei + cry_reverse Cry_Suicune + cry_reverse Cry_Larvitar + cry_reverse Cry_Pupitar + cry_reverse Cry_Tyranitar + cry_reverse Cry_Lugia + cry_reverse Cry_HoOh + cry_reverse Cry_Celebi + cry_reverse Cry_Kecleon + cry_reverse Cry_Roselia + cry_reverse Cry_Torkoal + cry_reverse Cry_Electrike + cry_reverse Cry_Manectric + cry_reverse Cry_Duskull + cry_reverse Cry_Latias + cry_reverse Cry_Wynaut + cry_reverse Cry_Seviper + cry_reverse Cry_Sharpedo + cry_reverse Cry_Zangoose + cry_reverse Cry_Azurill + cry_reverse Cry_Swablu + cry_reverse Cry_Altaria + cry_reverse Cry_Unused265 + cry_reverse Cry_Taillow + cry_reverse Cry_Swellow + cry_reverse Cry_Unused268 + cry_reverse Cry_Spinda + cry_reverse Cry_Torchic + cry_reverse Cry_Combusken + cry_reverse Cry_Blaziken + cry_reverse Cry_Treecko + cry_reverse Cry_Grovyle + cry_reverse Cry_Sceptile + cry_reverse Cry_Mudkip + cry_reverse Cry_Marshtomp + cry_reverse Cry_Swampert + cry_reverse Cry_Pelipper + cry_reverse Cry_Wingull + cry_reverse Cry_Banette + cry_reverse Cry_Shuppet + cry_reverse Cry_Lotad + cry_reverse Cry_Lombre + cry_reverse Cry_Ludicolo + cry_reverse Cry_Seedot + cry_reverse Cry_Nuzleaf + cry_reverse Cry_Shiftry + cry_reverse Cry_Carvanha + cry_reverse Cry_Wurmple + cry_reverse Cry_Silcoon + cry_reverse Cry_Beautifly + cry_reverse Cry_Cascoon + cry_reverse Cry_Dustox + cry_reverse Cry_Ralts + cry_reverse Cry_Kirlia + cry_reverse Cry_Gardevoir + cry_reverse Cry_Slakoth + cry_reverse Cry_Vigoroth + cry_reverse Cry_Slaking + cry_reverse Cry_Nincada + cry_reverse Cry_Ninjask + cry_reverse Cry_Shedinja + cry_reverse Cry_Makuhita + cry_reverse Cry_Hariyama + cry_reverse Cry_Nosepass + cry_reverse Cry_Glalie + cry_reverse Cry_Plusle + cry_reverse Cry_Minun + cry_reverse Cry_Surskit + cry_reverse Cry_Masquerain + cry_reverse Cry_Skitty + cry_reverse Cry_Delcatty + cry_reverse Cry_Gulpin + cry_reverse Cry_Swalot + cry_reverse Cry_Numel + cry_reverse Cry_Camerupt + cry_reverse Cry_Barboach + cry_reverse Cry_Whiscash + cry_reverse Cry_Corphish + cry_reverse Cry_Crawdaunt + cry_reverse Cry_Spoink + cry_reverse Cry_Grumpig + cry_reverse Cry_Trapinch + cry_reverse Cry_Vibrava + cry_reverse Cry_Flygon + cry_reverse Cry_Cacnea + cry_reverse Cry_Cacturne + cry_reverse Cry_Baltoy + cry_reverse Cry_Claydol + cry_reverse Cry_Lunatone + cry_reverse Cry_Solrock + cry_reverse Cry_Feebas + cry_reverse Cry_Milotic + cry_reverse Cry_Absol + cry_reverse Cry_Meditite + cry_reverse Cry_Medicham + cry_reverse Cry_Spheal + cry_reverse Cry_Sealeo + cry_reverse Cry_Walrein + cry_reverse Cry_Clamperl + cry_reverse Cry_Huntail + cry_reverse Cry_Gorebyss + cry_reverse Cry_Lileep + cry_reverse Cry_Cradily + cry_reverse Cry_Anorith + cry_reverse Cry_Armaldo + cry_reverse Cry_Beldum + cry_reverse Cry_Metang + cry_reverse Cry_Metagross + cry_reverse Cry_Bagon + cry_reverse Cry_Shelgon + cry_reverse Cry_Regirock + cry_reverse Cry_Regice + cry_reverse Cry_Registeel + cry_reverse Cry_Castform + cry_reverse Cry_Volbeat + cry_reverse Cry_Illumise + cry_reverse Cry_Poochyena + cry_reverse Cry_Mightyena + cry_reverse Cry_Dusclops + cry_reverse Cry_Sableye + cry_reverse Cry_Mawile + cry_reverse Cry_Aron + cry_reverse Cry_Lairon + cry_reverse Cry_Aggron + cry_reverse Cry_Relicanth + cry_reverse Cry_Luvdisc + cry_reverse Cry_Groudon + cry_reverse Cry_Kyogre + cry_reverse Cry_Rayquaza + cry_reverse Cry_Salamence + cry_reverse Cry_Breloom + cry_reverse Cry_Shroomish + cry_reverse Cry_Linoone + cry_reverse Cry_Tropius + cry_reverse Cry_Wailmer + cry_reverse Cry_Zigzagoon + cry_reverse Cry_Exploud + cry_reverse Cry_Loudred + cry_reverse Cry_Wailord + cry_reverse Cry_Whismur + cry_reverse Cry_Snorunt + cry_reverse Cry_Latios + cry_reverse Cry_Jirachi + cry_reverse Cry_Deoxys + cry_reverse Cry_Chimecho diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index a0ca80964..98191db21 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -305,1555 +305,1555 @@ DirectSoundWaveData_unused_sc55_tom:: .align 2 Cry_Bulbasaur:: - .incbin "sound/direct_sound_samples/cry_bulbasaur.bin" + .incbin "sound/direct_sound_samples/cries/bulbasaur.bin" .align 2 Cry_Ivysaur:: - .incbin "sound/direct_sound_samples/cry_ivysaur.bin" + .incbin "sound/direct_sound_samples/cries/ivysaur.bin" .align 2 Cry_Venusaur:: - .incbin "sound/direct_sound_samples/cry_venusaur.bin" + .incbin "sound/direct_sound_samples/cries/venusaur.bin" .align 2 Cry_Charmander:: - .incbin "sound/direct_sound_samples/cry_charmander.bin" + .incbin "sound/direct_sound_samples/cries/charmander.bin" .align 2 Cry_Charmeleon:: - .incbin "sound/direct_sound_samples/cry_charmeleon.bin" + .incbin "sound/direct_sound_samples/cries/charmeleon.bin" .align 2 Cry_Charizard:: - .incbin "sound/direct_sound_samples/cry_charizard.bin" + .incbin "sound/direct_sound_samples/cries/charizard.bin" .align 2 Cry_Squirtle:: - .incbin "sound/direct_sound_samples/cry_squirtle.bin" + .incbin "sound/direct_sound_samples/cries/squirtle.bin" .align 2 Cry_Wartortle:: - .incbin "sound/direct_sound_samples/cry_wartortle.bin" + .incbin "sound/direct_sound_samples/cries/wartortle.bin" .align 2 Cry_Blastoise:: - .incbin "sound/direct_sound_samples/cry_blastoise.bin" + .incbin "sound/direct_sound_samples/cries/blastoise.bin" .align 2 Cry_Caterpie:: - .incbin "sound/direct_sound_samples/cry_caterpie.bin" + .incbin "sound/direct_sound_samples/cries/caterpie.bin" .align 2 Cry_Metapod:: - .incbin "sound/direct_sound_samples/cry_metapod.bin" + .incbin "sound/direct_sound_samples/cries/metapod.bin" .align 2 Cry_Butterfree:: - .incbin "sound/direct_sound_samples/cry_butterfree.bin" + .incbin "sound/direct_sound_samples/cries/butterfree.bin" .align 2 Cry_Weedle:: - .incbin "sound/direct_sound_samples/cry_weedle.bin" + .incbin "sound/direct_sound_samples/cries/weedle.bin" .align 2 Cry_Kakuna:: - .incbin "sound/direct_sound_samples/cry_kakuna.bin" + .incbin "sound/direct_sound_samples/cries/kakuna.bin" .align 2 Cry_Beedrill:: - .incbin "sound/direct_sound_samples/cry_beedrill.bin" + .incbin "sound/direct_sound_samples/cries/beedrill.bin" .align 2 Cry_Pidgey:: - .incbin "sound/direct_sound_samples/cry_pidgey.bin" + .incbin "sound/direct_sound_samples/cries/pidgey.bin" .align 2 Cry_Pidgeotto:: - .incbin "sound/direct_sound_samples/cry_pidgeotto.bin" + .incbin "sound/direct_sound_samples/cries/pidgeotto.bin" .align 2 Cry_Pidgeot:: - .incbin "sound/direct_sound_samples/cry_pidgeot.bin" + .incbin "sound/direct_sound_samples/cries/pidgeot.bin" .align 2 Cry_Rattata:: - .incbin "sound/direct_sound_samples/cry_rattata.bin" + .incbin "sound/direct_sound_samples/cries/rattata.bin" .align 2 Cry_Raticate:: - .incbin "sound/direct_sound_samples/cry_raticate.bin" + .incbin "sound/direct_sound_samples/cries/raticate.bin" .align 2 Cry_Spearow:: - .incbin "sound/direct_sound_samples/cry_spearow.bin" + .incbin "sound/direct_sound_samples/cries/spearow.bin" .align 2 Cry_Fearow:: - .incbin "sound/direct_sound_samples/cry_fearow.bin" + .incbin "sound/direct_sound_samples/cries/fearow.bin" .align 2 Cry_Ekans:: - .incbin "sound/direct_sound_samples/cry_ekans.bin" + .incbin "sound/direct_sound_samples/cries/ekans.bin" .align 2 Cry_Arbok:: - .incbin "sound/direct_sound_samples/cry_arbok.bin" + .incbin "sound/direct_sound_samples/cries/arbok.bin" .align 2 Cry_Pikachu:: - .incbin "sound/direct_sound_samples/cry_pikachu.bin" + .incbin "sound/direct_sound_samples/cries/pikachu.bin" .align 2 Cry_Raichu:: - .incbin "sound/direct_sound_samples/cry_raichu.bin" + .incbin "sound/direct_sound_samples/cries/raichu.bin" .align 2 Cry_Sandshrew:: - .incbin "sound/direct_sound_samples/cry_sandshrew.bin" + .incbin "sound/direct_sound_samples/cries/sandshrew.bin" .align 2 Cry_Sandslash:: - .incbin "sound/direct_sound_samples/cry_sandslash.bin" + .incbin "sound/direct_sound_samples/cries/sandslash.bin" .align 2 Cry_NidoranF:: - .incbin "sound/direct_sound_samples/cry_nidoran_f.bin" + .incbin "sound/direct_sound_samples/cries/nidoran_f.bin" .align 2 Cry_Nidorina:: - .incbin "sound/direct_sound_samples/cry_nidorina.bin" + .incbin "sound/direct_sound_samples/cries/nidorina.bin" .align 2 Cry_Nidoqueen:: - .incbin "sound/direct_sound_samples/cry_nidoqueen.bin" + .incbin "sound/direct_sound_samples/cries/nidoqueen.bin" .align 2 Cry_NidoranM:: - .incbin "sound/direct_sound_samples/cry_nidoran_m.bin" + .incbin "sound/direct_sound_samples/cries/nidoran_m.bin" .align 2 Cry_Nidorino:: - .incbin "sound/direct_sound_samples/cry_nidorino.bin" + .incbin "sound/direct_sound_samples/cries/nidorino.bin" .align 2 Cry_Nidoking:: - .incbin "sound/direct_sound_samples/cry_nidoking.bin" + .incbin "sound/direct_sound_samples/cries/nidoking.bin" .align 2 Cry_Clefairy:: - .incbin "sound/direct_sound_samples/cry_clefairy.bin" + .incbin "sound/direct_sound_samples/cries/clefairy.bin" .align 2 Cry_Clefable:: - .incbin "sound/direct_sound_samples/cry_clefable.bin" + .incbin "sound/direct_sound_samples/cries/clefable.bin" .align 2 Cry_Vulpix:: - .incbin "sound/direct_sound_samples/cry_vulpix.bin" + .incbin "sound/direct_sound_samples/cries/vulpix.bin" .align 2 Cry_Ninetales:: - .incbin "sound/direct_sound_samples/cry_ninetales.bin" + .incbin "sound/direct_sound_samples/cries/ninetales.bin" .align 2 Cry_Jigglypuff:: - .incbin "sound/direct_sound_samples/cry_jigglypuff.bin" + .incbin "sound/direct_sound_samples/cries/jigglypuff.bin" .align 2 Cry_Wigglytuff:: - .incbin "sound/direct_sound_samples/cry_wigglytuff.bin" + .incbin "sound/direct_sound_samples/cries/wigglytuff.bin" .align 2 Cry_Zubat:: - .incbin "sound/direct_sound_samples/cry_zubat.bin" + .incbin "sound/direct_sound_samples/cries/zubat.bin" .align 2 Cry_Golbat:: - .incbin "sound/direct_sound_samples/cry_golbat.bin" + .incbin "sound/direct_sound_samples/cries/golbat.bin" .align 2 Cry_Oddish:: - .incbin "sound/direct_sound_samples/cry_oddish.bin" + .incbin "sound/direct_sound_samples/cries/oddish.bin" .align 2 Cry_Gloom:: - .incbin "sound/direct_sound_samples/cry_gloom.bin" + .incbin "sound/direct_sound_samples/cries/gloom.bin" .align 2 Cry_Vileplume:: - .incbin "sound/direct_sound_samples/cry_vileplume.bin" + .incbin "sound/direct_sound_samples/cries/vileplume.bin" .align 2 Cry_Paras:: - .incbin "sound/direct_sound_samples/cry_paras.bin" + .incbin "sound/direct_sound_samples/cries/paras.bin" .align 2 Cry_Parasect:: - .incbin "sound/direct_sound_samples/cry_parasect.bin" + .incbin "sound/direct_sound_samples/cries/parasect.bin" .align 2 Cry_Venonat:: - .incbin "sound/direct_sound_samples/cry_venonat.bin" + .incbin "sound/direct_sound_samples/cries/venonat.bin" .align 2 Cry_Venomoth:: - .incbin "sound/direct_sound_samples/cry_venomoth.bin" + .incbin "sound/direct_sound_samples/cries/venomoth.bin" .align 2 Cry_Diglett:: - .incbin "sound/direct_sound_samples/cry_diglett.bin" + .incbin "sound/direct_sound_samples/cries/diglett.bin" .align 2 Cry_Dugtrio:: - .incbin "sound/direct_sound_samples/cry_dugtrio.bin" + .incbin "sound/direct_sound_samples/cries/dugtrio.bin" .align 2 Cry_Meowth:: - .incbin "sound/direct_sound_samples/cry_meowth.bin" + .incbin "sound/direct_sound_samples/cries/meowth.bin" .align 2 Cry_Persian:: - .incbin "sound/direct_sound_samples/cry_persian.bin" + .incbin "sound/direct_sound_samples/cries/persian.bin" .align 2 Cry_Psyduck:: - .incbin "sound/direct_sound_samples/cry_psyduck.bin" + .incbin "sound/direct_sound_samples/cries/psyduck.bin" .align 2 Cry_Golduck:: - .incbin "sound/direct_sound_samples/cry_golduck.bin" + .incbin "sound/direct_sound_samples/cries/golduck.bin" .align 2 Cry_Mankey:: - .incbin "sound/direct_sound_samples/cry_mankey.bin" + .incbin "sound/direct_sound_samples/cries/mankey.bin" .align 2 Cry_Primeape:: - .incbin "sound/direct_sound_samples/cry_primeape.bin" + .incbin "sound/direct_sound_samples/cries/primeape.bin" .align 2 Cry_Growlithe:: - .incbin "sound/direct_sound_samples/cry_growlithe.bin" + .incbin "sound/direct_sound_samples/cries/growlithe.bin" .align 2 Cry_Arcanine:: - .incbin "sound/direct_sound_samples/cry_arcanine.bin" + .incbin "sound/direct_sound_samples/cries/arcanine.bin" .align 2 Cry_Poliwag:: - .incbin "sound/direct_sound_samples/cry_poliwag.bin" + .incbin "sound/direct_sound_samples/cries/poliwag.bin" .align 2 Cry_Poliwhirl:: - .incbin "sound/direct_sound_samples/cry_poliwhirl.bin" + .incbin "sound/direct_sound_samples/cries/poliwhirl.bin" .align 2 Cry_Poliwrath:: - .incbin "sound/direct_sound_samples/cry_poliwrath.bin" + .incbin "sound/direct_sound_samples/cries/poliwrath.bin" .align 2 Cry_Abra:: - .incbin "sound/direct_sound_samples/cry_abra.bin" + .incbin "sound/direct_sound_samples/cries/abra.bin" .align 2 Cry_Kadabra:: - .incbin "sound/direct_sound_samples/cry_kadabra.bin" + .incbin "sound/direct_sound_samples/cries/kadabra.bin" .align 2 Cry_Alakazam:: - .incbin "sound/direct_sound_samples/cry_alakazam.bin" + .incbin "sound/direct_sound_samples/cries/alakazam.bin" .align 2 Cry_Machop:: - .incbin "sound/direct_sound_samples/cry_machop.bin" + .incbin "sound/direct_sound_samples/cries/machop.bin" .align 2 Cry_Machoke:: - .incbin "sound/direct_sound_samples/cry_machoke.bin" + .incbin "sound/direct_sound_samples/cries/machoke.bin" .align 2 Cry_Machamp:: - .incbin "sound/direct_sound_samples/cry_machamp.bin" + .incbin "sound/direct_sound_samples/cries/machamp.bin" .align 2 Cry_Bellsprout:: - .incbin "sound/direct_sound_samples/cry_bellsprout.bin" + .incbin "sound/direct_sound_samples/cries/bellsprout.bin" .align 2 Cry_Weepinbell:: - .incbin "sound/direct_sound_samples/cry_weepinbell.bin" + .incbin "sound/direct_sound_samples/cries/weepinbell.bin" .align 2 Cry_Victreebel:: - .incbin "sound/direct_sound_samples/cry_victreebel.bin" + .incbin "sound/direct_sound_samples/cries/victreebel.bin" .align 2 Cry_Tentacool:: - .incbin "sound/direct_sound_samples/cry_tentacool.bin" + .incbin "sound/direct_sound_samples/cries/tentacool.bin" .align 2 Cry_Tentacruel:: - .incbin "sound/direct_sound_samples/cry_tentacruel.bin" + .incbin "sound/direct_sound_samples/cries/tentacruel.bin" .align 2 Cry_Geodude:: - .incbin "sound/direct_sound_samples/cry_geodude.bin" + .incbin "sound/direct_sound_samples/cries/geodude.bin" .align 2 Cry_Graveler:: - .incbin "sound/direct_sound_samples/cry_graveler.bin" + .incbin "sound/direct_sound_samples/cries/graveler.bin" .align 2 Cry_Golem:: - .incbin "sound/direct_sound_samples/cry_golem.bin" + .incbin "sound/direct_sound_samples/cries/golem.bin" .align 2 Cry_Ponyta:: - .incbin "sound/direct_sound_samples/cry_ponyta.bin" + .incbin "sound/direct_sound_samples/cries/ponyta.bin" .align 2 Cry_Rapidash:: - .incbin "sound/direct_sound_samples/cry_rapidash.bin" + .incbin "sound/direct_sound_samples/cries/rapidash.bin" .align 2 Cry_Slowpoke:: - .incbin "sound/direct_sound_samples/cry_slowpoke.bin" + .incbin "sound/direct_sound_samples/cries/slowpoke.bin" .align 2 Cry_Slowbro:: - .incbin "sound/direct_sound_samples/cry_slowbro.bin" + .incbin "sound/direct_sound_samples/cries/slowbro.bin" .align 2 Cry_Magnemite:: - .incbin "sound/direct_sound_samples/cry_magnemite.bin" + .incbin "sound/direct_sound_samples/cries/magnemite.bin" .align 2 Cry_Magneton:: - .incbin "sound/direct_sound_samples/cry_magneton.bin" + .incbin "sound/direct_sound_samples/cries/magneton.bin" .align 2 Cry_Farfetchd:: - .incbin "sound/direct_sound_samples/cry_farfetchd.bin" + .incbin "sound/direct_sound_samples/cries/farfetchd.bin" .align 2 Cry_Doduo:: - .incbin "sound/direct_sound_samples/cry_doduo.bin" + .incbin "sound/direct_sound_samples/cries/doduo.bin" .align 2 Cry_Dodrio:: - .incbin "sound/direct_sound_samples/cry_dodrio.bin" + .incbin "sound/direct_sound_samples/cries/dodrio.bin" .align 2 Cry_Seel:: - .incbin "sound/direct_sound_samples/cry_seel.bin" + .incbin "sound/direct_sound_samples/cries/seel.bin" .align 2 Cry_Dewgong:: - .incbin "sound/direct_sound_samples/cry_dewgong.bin" + .incbin "sound/direct_sound_samples/cries/dewgong.bin" .align 2 Cry_Grimer:: - .incbin "sound/direct_sound_samples/cry_grimer.bin" + .incbin "sound/direct_sound_samples/cries/grimer.bin" .align 2 Cry_Muk:: - .incbin "sound/direct_sound_samples/cry_muk.bin" + .incbin "sound/direct_sound_samples/cries/muk.bin" .align 2 Cry_Shellder:: - .incbin "sound/direct_sound_samples/cry_shellder.bin" + .incbin "sound/direct_sound_samples/cries/shellder.bin" .align 2 Cry_Cloyster:: - .incbin "sound/direct_sound_samples/cry_cloyster.bin" + .incbin "sound/direct_sound_samples/cries/cloyster.bin" .align 2 Cry_Gastly:: - .incbin "sound/direct_sound_samples/cry_gastly.bin" + .incbin "sound/direct_sound_samples/cries/gastly.bin" .align 2 Cry_Haunter:: - .incbin "sound/direct_sound_samples/cry_haunter.bin" + .incbin "sound/direct_sound_samples/cries/haunter.bin" .align 2 Cry_Gengar:: - .incbin "sound/direct_sound_samples/cry_gengar.bin" + .incbin "sound/direct_sound_samples/cries/gengar.bin" .align 2 Cry_Onix:: - .incbin "sound/direct_sound_samples/cry_onix.bin" + .incbin "sound/direct_sound_samples/cries/onix.bin" .align 2 Cry_Drowzee:: - .incbin "sound/direct_sound_samples/cry_drowzee.bin" + .incbin "sound/direct_sound_samples/cries/drowzee.bin" .align 2 Cry_Hypno:: - .incbin "sound/direct_sound_samples/cry_hypno.bin" + .incbin "sound/direct_sound_samples/cries/hypno.bin" .align 2 Cry_Krabby:: - .incbin "sound/direct_sound_samples/cry_krabby.bin" + .incbin "sound/direct_sound_samples/cries/krabby.bin" .align 2 Cry_Kingler:: - .incbin "sound/direct_sound_samples/cry_kingler.bin" + .incbin "sound/direct_sound_samples/cries/kingler.bin" .align 2 Cry_Voltorb:: - .incbin "sound/direct_sound_samples/cry_voltorb.bin" + .incbin "sound/direct_sound_samples/cries/voltorb.bin" .align 2 Cry_Electrode:: - .incbin "sound/direct_sound_samples/cry_electrode.bin" + .incbin "sound/direct_sound_samples/cries/electrode.bin" .align 2 Cry_Exeggcute:: - .incbin "sound/direct_sound_samples/cry_exeggcute.bin" + .incbin "sound/direct_sound_samples/cries/exeggcute.bin" .align 2 Cry_Exeggutor:: - .incbin "sound/direct_sound_samples/cry_exeggutor.bin" + .incbin "sound/direct_sound_samples/cries/exeggutor.bin" .align 2 Cry_Cubone:: - .incbin "sound/direct_sound_samples/cry_cubone.bin" + .incbin "sound/direct_sound_samples/cries/cubone.bin" .align 2 Cry_Marowak:: - .incbin "sound/direct_sound_samples/cry_marowak.bin" + .incbin "sound/direct_sound_samples/cries/marowak.bin" .align 2 Cry_Hitmonlee:: - .incbin "sound/direct_sound_samples/cry_hitmonlee.bin" + .incbin "sound/direct_sound_samples/cries/hitmonlee.bin" .align 2 Cry_Hitmonchan:: - .incbin "sound/direct_sound_samples/cry_hitmonchan.bin" + .incbin "sound/direct_sound_samples/cries/hitmonchan.bin" .align 2 Cry_Lickitung:: - .incbin "sound/direct_sound_samples/cry_lickitung.bin" + .incbin "sound/direct_sound_samples/cries/lickitung.bin" .align 2 Cry_Koffing:: - .incbin "sound/direct_sound_samples/cry_koffing.bin" + .incbin "sound/direct_sound_samples/cries/koffing.bin" .align 2 Cry_Weezing:: - .incbin "sound/direct_sound_samples/cry_weezing.bin" + .incbin "sound/direct_sound_samples/cries/weezing.bin" .align 2 Cry_Rhyhorn:: - .incbin "sound/direct_sound_samples/cry_rhyhorn.bin" + .incbin "sound/direct_sound_samples/cries/rhyhorn.bin" .align 2 Cry_Rhydon:: - .incbin "sound/direct_sound_samples/cry_rhydon.bin" + .incbin "sound/direct_sound_samples/cries/rhydon.bin" .align 2 Cry_Chansey:: - .incbin "sound/direct_sound_samples/cry_chansey.bin" + .incbin "sound/direct_sound_samples/cries/chansey.bin" .align 2 Cry_Tangela:: - .incbin "sound/direct_sound_samples/cry_tangela.bin" + .incbin "sound/direct_sound_samples/cries/tangela.bin" .align 2 Cry_Kangaskhan:: - .incbin "sound/direct_sound_samples/cry_kangaskhan.bin" + .incbin "sound/direct_sound_samples/cries/kangaskhan.bin" .align 2 Cry_Horsea:: - .incbin "sound/direct_sound_samples/cry_horsea.bin" + .incbin "sound/direct_sound_samples/cries/horsea.bin" .align 2 Cry_Seadra:: - .incbin "sound/direct_sound_samples/cry_seadra.bin" + .incbin "sound/direct_sound_samples/cries/seadra.bin" .align 2 Cry_Goldeen:: - .incbin "sound/direct_sound_samples/cry_goldeen.bin" + .incbin "sound/direct_sound_samples/cries/goldeen.bin" .align 2 Cry_Seaking:: - .incbin "sound/direct_sound_samples/cry_seaking.bin" + .incbin "sound/direct_sound_samples/cries/seaking.bin" .align 2 Cry_Staryu:: - .incbin "sound/direct_sound_samples/cry_staryu.bin" + .incbin "sound/direct_sound_samples/cries/staryu.bin" .align 2 Cry_Starmie:: - .incbin "sound/direct_sound_samples/cry_starmie.bin" + .incbin "sound/direct_sound_samples/cries/starmie.bin" .align 2 Cry_MrMime:: - .incbin "sound/direct_sound_samples/cry_mr_mime.bin" + .incbin "sound/direct_sound_samples/cries/mr_mime.bin" .align 2 Cry_Scyther:: - .incbin "sound/direct_sound_samples/cry_scyther.bin" + .incbin "sound/direct_sound_samples/cries/scyther.bin" .align 2 Cry_Jynx:: - .incbin "sound/direct_sound_samples/cry_jynx.bin" + .incbin "sound/direct_sound_samples/cries/jynx.bin" .align 2 Cry_Electabuzz:: - .incbin "sound/direct_sound_samples/cry_electabuzz.bin" + .incbin "sound/direct_sound_samples/cries/electabuzz.bin" .align 2 Cry_Magmar:: - .incbin "sound/direct_sound_samples/cry_magmar.bin" + .incbin "sound/direct_sound_samples/cries/magmar.bin" .align 2 Cry_Pinsir:: - .incbin "sound/direct_sound_samples/cry_pinsir.bin" + .incbin "sound/direct_sound_samples/cries/pinsir.bin" .align 2 Cry_Tauros:: - .incbin "sound/direct_sound_samples/cry_tauros.bin" + .incbin "sound/direct_sound_samples/cries/tauros.bin" .align 2 Cry_Magikarp:: - .incbin "sound/direct_sound_samples/cry_magikarp.bin" + .incbin "sound/direct_sound_samples/cries/magikarp.bin" .align 2 Cry_Gyarados:: - .incbin "sound/direct_sound_samples/cry_gyarados.bin" + .incbin "sound/direct_sound_samples/cries/gyarados.bin" .align 2 Cry_Lapras:: - .incbin "sound/direct_sound_samples/cry_lapras.bin" + .incbin "sound/direct_sound_samples/cries/lapras.bin" .align 2 Cry_Ditto:: - .incbin "sound/direct_sound_samples/cry_ditto.bin" + .incbin "sound/direct_sound_samples/cries/ditto.bin" .align 2 Cry_Eevee:: - .incbin "sound/direct_sound_samples/cry_eevee.bin" + .incbin "sound/direct_sound_samples/cries/eevee.bin" .align 2 Cry_Vaporeon:: - .incbin "sound/direct_sound_samples/cry_vaporeon.bin" + .incbin "sound/direct_sound_samples/cries/vaporeon.bin" .align 2 Cry_Jolteon:: - .incbin "sound/direct_sound_samples/cry_jolteon.bin" + .incbin "sound/direct_sound_samples/cries/jolteon.bin" .align 2 Cry_Flareon:: - .incbin "sound/direct_sound_samples/cry_flareon.bin" + .incbin "sound/direct_sound_samples/cries/flareon.bin" .align 2 Cry_Porygon:: - .incbin "sound/direct_sound_samples/cry_porygon.bin" + .incbin "sound/direct_sound_samples/cries/porygon.bin" .align 2 Cry_Omanyte:: - .incbin "sound/direct_sound_samples/cry_omanyte.bin" + .incbin "sound/direct_sound_samples/cries/omanyte.bin" .align 2 Cry_Omastar:: - .incbin "sound/direct_sound_samples/cry_omastar.bin" + .incbin "sound/direct_sound_samples/cries/omastar.bin" .align 2 Cry_Kabuto:: - .incbin "sound/direct_sound_samples/cry_kabuto.bin" + .incbin "sound/direct_sound_samples/cries/kabuto.bin" .align 2 Cry_Kabutops:: - .incbin "sound/direct_sound_samples/cry_kabutops.bin" + .incbin "sound/direct_sound_samples/cries/kabutops.bin" .align 2 Cry_Aerodactyl:: - .incbin "sound/direct_sound_samples/cry_aerodactyl.bin" + .incbin "sound/direct_sound_samples/cries/aerodactyl.bin" .align 2 Cry_Snorlax:: - .incbin "sound/direct_sound_samples/cry_snorlax.bin" + .incbin "sound/direct_sound_samples/cries/snorlax.bin" .align 2 Cry_Articuno:: - .incbin "sound/direct_sound_samples/cry_articuno.bin" + .incbin "sound/direct_sound_samples/cries/articuno.bin" .align 2 Cry_Zapdos:: - .incbin "sound/direct_sound_samples/cry_zapdos.bin" + .incbin "sound/direct_sound_samples/cries/zapdos.bin" .align 2 Cry_Moltres:: - .incbin "sound/direct_sound_samples/cry_moltres.bin" + .incbin "sound/direct_sound_samples/cries/moltres.bin" .align 2 Cry_Dratini:: - .incbin "sound/direct_sound_samples/cry_dratini.bin" + .incbin "sound/direct_sound_samples/cries/dratini.bin" .align 2 Cry_Dragonair:: - .incbin "sound/direct_sound_samples/cry_dragonair.bin" + .incbin "sound/direct_sound_samples/cries/dragonair.bin" .align 2 Cry_Dragonite:: - .incbin "sound/direct_sound_samples/cry_dragonite.bin" + .incbin "sound/direct_sound_samples/cries/dragonite.bin" .align 2 Cry_Mewtwo:: - .incbin "sound/direct_sound_samples/cry_mewtwo.bin" + .incbin "sound/direct_sound_samples/cries/mewtwo.bin" .align 2 Cry_Mew:: - .incbin "sound/direct_sound_samples/cry_mew.bin" + .incbin "sound/direct_sound_samples/cries/mew.bin" .align 2 Cry_Chikorita:: - .incbin "sound/direct_sound_samples/cry_chikorita.bin" + .incbin "sound/direct_sound_samples/cries/chikorita.bin" .align 2 Cry_Bayleef:: - .incbin "sound/direct_sound_samples/cry_bayleef.bin" + .incbin "sound/direct_sound_samples/cries/bayleef.bin" .align 2 Cry_Meganium:: - .incbin "sound/direct_sound_samples/cry_meganium.bin" + .incbin "sound/direct_sound_samples/cries/meganium.bin" .align 2 Cry_Cyndaquil:: - .incbin "sound/direct_sound_samples/cry_cyndaquil.bin" + .incbin "sound/direct_sound_samples/cries/cyndaquil.bin" .align 2 Cry_Quilava:: - .incbin "sound/direct_sound_samples/cry_quilava.bin" + .incbin "sound/direct_sound_samples/cries/quilava.bin" .align 2 Cry_Typhlosion:: - .incbin "sound/direct_sound_samples/cry_typhlosion.bin" + .incbin "sound/direct_sound_samples/cries/typhlosion.bin" .align 2 Cry_Totodile:: - .incbin "sound/direct_sound_samples/cry_totodile.bin" + .incbin "sound/direct_sound_samples/cries/totodile.bin" .align 2 Cry_Croconaw:: - .incbin "sound/direct_sound_samples/cry_croconaw.bin" + .incbin "sound/direct_sound_samples/cries/croconaw.bin" .align 2 Cry_Feraligatr:: - .incbin "sound/direct_sound_samples/cry_feraligatr.bin" + .incbin "sound/direct_sound_samples/cries/feraligatr.bin" .align 2 Cry_Sentret:: - .incbin "sound/direct_sound_samples/cry_sentret.bin" + .incbin "sound/direct_sound_samples/cries/sentret.bin" .align 2 Cry_Furret:: - .incbin "sound/direct_sound_samples/cry_furret.bin" + .incbin "sound/direct_sound_samples/cries/furret.bin" .align 2 Cry_Hoothoot:: - .incbin "sound/direct_sound_samples/cry_hoothoot.bin" + .incbin "sound/direct_sound_samples/cries/hoothoot.bin" .align 2 Cry_Noctowl:: - .incbin "sound/direct_sound_samples/cry_noctowl.bin" + .incbin "sound/direct_sound_samples/cries/noctowl.bin" .align 2 Cry_Ledyba:: - .incbin "sound/direct_sound_samples/cry_ledyba.bin" + .incbin "sound/direct_sound_samples/cries/ledyba.bin" .align 2 Cry_Ledian:: - .incbin "sound/direct_sound_samples/cry_ledian.bin" + .incbin "sound/direct_sound_samples/cries/ledian.bin" .align 2 Cry_Spinarak:: - .incbin "sound/direct_sound_samples/cry_spinarak.bin" + .incbin "sound/direct_sound_samples/cries/spinarak.bin" .align 2 Cry_Ariados:: - .incbin "sound/direct_sound_samples/cry_ariados.bin" + .incbin "sound/direct_sound_samples/cries/ariados.bin" .align 2 Cry_Crobat:: - .incbin "sound/direct_sound_samples/cry_crobat.bin" + .incbin "sound/direct_sound_samples/cries/crobat.bin" .align 2 Cry_Chinchou:: - .incbin "sound/direct_sound_samples/cry_chinchou.bin" + .incbin "sound/direct_sound_samples/cries/chinchou.bin" .align 2 Cry_Lanturn:: - .incbin "sound/direct_sound_samples/cry_lanturn.bin" + .incbin "sound/direct_sound_samples/cries/lanturn.bin" .align 2 Cry_Pichu:: - .incbin "sound/direct_sound_samples/cry_pichu.bin" + .incbin "sound/direct_sound_samples/cries/pichu.bin" .align 2 Cry_Cleffa:: - .incbin "sound/direct_sound_samples/cry_cleffa.bin" + .incbin "sound/direct_sound_samples/cries/cleffa.bin" .align 2 Cry_Igglybuff:: - .incbin "sound/direct_sound_samples/cry_igglybuff.bin" + .incbin "sound/direct_sound_samples/cries/igglybuff.bin" .align 2 Cry_Togepi:: - .incbin "sound/direct_sound_samples/cry_togepi.bin" + .incbin "sound/direct_sound_samples/cries/togepi.bin" .align 2 Cry_Togetic:: - .incbin "sound/direct_sound_samples/cry_togetic.bin" + .incbin "sound/direct_sound_samples/cries/togetic.bin" .align 2 Cry_Natu:: - .incbin "sound/direct_sound_samples/cry_natu.bin" + .incbin "sound/direct_sound_samples/cries/natu.bin" .align 2 Cry_Xatu:: - .incbin "sound/direct_sound_samples/cry_xatu.bin" + .incbin "sound/direct_sound_samples/cries/xatu.bin" .align 2 Cry_Mareep:: - .incbin "sound/direct_sound_samples/cry_mareep.bin" + .incbin "sound/direct_sound_samples/cries/mareep.bin" .align 2 Cry_Flaaffy:: - .incbin "sound/direct_sound_samples/cry_flaaffy.bin" + .incbin "sound/direct_sound_samples/cries/flaaffy.bin" .align 2 Cry_Ampharos:: - .incbin "sound/direct_sound_samples/cry_ampharos.bin" + .incbin "sound/direct_sound_samples/cries/ampharos.bin" .align 2 Cry_Bellossom:: - .incbin "sound/direct_sound_samples/cry_bellossom.bin" + .incbin "sound/direct_sound_samples/cries/bellossom.bin" .align 2 Cry_Marill:: - .incbin "sound/direct_sound_samples/cry_marill.bin" + .incbin "sound/direct_sound_samples/cries/marill.bin" .align 2 Cry_Azumarill:: - .incbin "sound/direct_sound_samples/cry_azumarill.bin" + .incbin "sound/direct_sound_samples/cries/azumarill.bin" .align 2 Cry_Sudowoodo:: - .incbin "sound/direct_sound_samples/cry_sudowoodo.bin" + .incbin "sound/direct_sound_samples/cries/sudowoodo.bin" .align 2 Cry_Politoed:: - .incbin "sound/direct_sound_samples/cry_politoed.bin" + .incbin "sound/direct_sound_samples/cries/politoed.bin" .align 2 Cry_Hoppip:: - .incbin "sound/direct_sound_samples/cry_hoppip.bin" + .incbin "sound/direct_sound_samples/cries/hoppip.bin" .align 2 Cry_Skiploom:: - .incbin "sound/direct_sound_samples/cry_skiploom.bin" + .incbin "sound/direct_sound_samples/cries/skiploom.bin" .align 2 Cry_Jumpluff:: - .incbin "sound/direct_sound_samples/cry_jumpluff.bin" + .incbin "sound/direct_sound_samples/cries/jumpluff.bin" .align 2 Cry_Aipom:: - .incbin "sound/direct_sound_samples/cry_aipom.bin" + .incbin "sound/direct_sound_samples/cries/aipom.bin" .align 2 Cry_Sunkern:: - .incbin "sound/direct_sound_samples/cry_sunkern.bin" + .incbin "sound/direct_sound_samples/cries/sunkern.bin" .align 2 Cry_Sunflora:: - .incbin "sound/direct_sound_samples/cry_sunflora.bin" + .incbin "sound/direct_sound_samples/cries/sunflora.bin" .align 2 Cry_Yanma:: - .incbin "sound/direct_sound_samples/cry_yanma.bin" + .incbin "sound/direct_sound_samples/cries/yanma.bin" .align 2 Cry_Wooper:: - .incbin "sound/direct_sound_samples/cry_wooper.bin" + .incbin "sound/direct_sound_samples/cries/wooper.bin" .align 2 Cry_Quagsire:: - .incbin "sound/direct_sound_samples/cry_quagsire.bin" + .incbin "sound/direct_sound_samples/cries/quagsire.bin" .align 2 Cry_Espeon:: - .incbin "sound/direct_sound_samples/cry_espeon.bin" + .incbin "sound/direct_sound_samples/cries/espeon.bin" .align 2 Cry_Umbreon:: - .incbin "sound/direct_sound_samples/cry_umbreon.bin" + .incbin "sound/direct_sound_samples/cries/umbreon.bin" .align 2 Cry_Murkrow:: - .incbin "sound/direct_sound_samples/cry_murkrow.bin" + .incbin "sound/direct_sound_samples/cries/murkrow.bin" .align 2 Cry_Slowking:: - .incbin "sound/direct_sound_samples/cry_slowking.bin" + .incbin "sound/direct_sound_samples/cries/slowking.bin" .align 2 Cry_Misdreavus:: - .incbin "sound/direct_sound_samples/cry_misdreavus.bin" + .incbin "sound/direct_sound_samples/cries/misdreavus.bin" .align 2 Cry_Unown:: - .incbin "sound/direct_sound_samples/cry_unown.bin" + .incbin "sound/direct_sound_samples/cries/unown.bin" .align 2 Cry_Wobbuffet:: - .incbin "sound/direct_sound_samples/cry_wobbuffet.bin" + .incbin "sound/direct_sound_samples/cries/wobbuffet.bin" .align 2 Cry_Girafarig:: - .incbin "sound/direct_sound_samples/cry_girafarig.bin" + .incbin "sound/direct_sound_samples/cries/girafarig.bin" .align 2 Cry_Pineco:: - .incbin "sound/direct_sound_samples/cry_pineco.bin" + .incbin "sound/direct_sound_samples/cries/pineco.bin" .align 2 Cry_Forretress:: - .incbin "sound/direct_sound_samples/cry_forretress.bin" + .incbin "sound/direct_sound_samples/cries/forretress.bin" .align 2 Cry_Dunsparce:: - .incbin "sound/direct_sound_samples/cry_dunsparce.bin" + .incbin "sound/direct_sound_samples/cries/dunsparce.bin" .align 2 Cry_Gligar:: - .incbin "sound/direct_sound_samples/cry_gligar.bin" + .incbin "sound/direct_sound_samples/cries/gligar.bin" .align 2 Cry_Steelix:: - .incbin "sound/direct_sound_samples/cry_steelix.bin" + .incbin "sound/direct_sound_samples/cries/steelix.bin" .align 2 Cry_Snubbull:: - .incbin "sound/direct_sound_samples/cry_snubbull.bin" + .incbin "sound/direct_sound_samples/cries/snubbull.bin" .align 2 Cry_Granbull:: - .incbin "sound/direct_sound_samples/cry_granbull.bin" + .incbin "sound/direct_sound_samples/cries/granbull.bin" .align 2 Cry_Qwilfish:: - .incbin "sound/direct_sound_samples/cry_qwilfish.bin" + .incbin "sound/direct_sound_samples/cries/qwilfish.bin" .align 2 Cry_Scizor:: - .incbin "sound/direct_sound_samples/cry_scizor.bin" + .incbin "sound/direct_sound_samples/cries/scizor.bin" .align 2 Cry_Shuckle:: - .incbin "sound/direct_sound_samples/cry_shuckle.bin" + .incbin "sound/direct_sound_samples/cries/shuckle.bin" .align 2 Cry_Heracross:: - .incbin "sound/direct_sound_samples/cry_heracross.bin" + .incbin "sound/direct_sound_samples/cries/heracross.bin" .align 2 Cry_Sneasel:: - .incbin "sound/direct_sound_samples/cry_sneasel.bin" + .incbin "sound/direct_sound_samples/cries/sneasel.bin" .align 2 Cry_Teddiursa:: - .incbin "sound/direct_sound_samples/cry_teddiursa.bin" + .incbin "sound/direct_sound_samples/cries/teddiursa.bin" .align 2 Cry_Ursaring:: - .incbin "sound/direct_sound_samples/cry_ursaring.bin" + .incbin "sound/direct_sound_samples/cries/ursaring.bin" .align 2 Cry_Slugma:: - .incbin "sound/direct_sound_samples/cry_slugma.bin" + .incbin "sound/direct_sound_samples/cries/slugma.bin" .align 2 Cry_Magcargo:: - .incbin "sound/direct_sound_samples/cry_magcargo.bin" + .incbin "sound/direct_sound_samples/cries/magcargo.bin" .align 2 Cry_Swinub:: - .incbin "sound/direct_sound_samples/cry_swinub.bin" + .incbin "sound/direct_sound_samples/cries/swinub.bin" .align 2 Cry_Piloswine:: - .incbin "sound/direct_sound_samples/cry_piloswine.bin" + .incbin "sound/direct_sound_samples/cries/piloswine.bin" .align 2 Cry_Corsola:: - .incbin "sound/direct_sound_samples/cry_corsola.bin" + .incbin "sound/direct_sound_samples/cries/corsola.bin" .align 2 Cry_Remoraid:: - .incbin "sound/direct_sound_samples/cry_remoraid.bin" + .incbin "sound/direct_sound_samples/cries/remoraid.bin" .align 2 Cry_Octillery:: - .incbin "sound/direct_sound_samples/cry_octillery.bin" + .incbin "sound/direct_sound_samples/cries/octillery.bin" .align 2 Cry_Delibird:: - .incbin "sound/direct_sound_samples/cry_delibird.bin" + .incbin "sound/direct_sound_samples/cries/delibird.bin" .align 2 Cry_Mantine:: - .incbin "sound/direct_sound_samples/cry_mantine.bin" + .incbin "sound/direct_sound_samples/cries/mantine.bin" .align 2 Cry_Skarmory:: - .incbin "sound/direct_sound_samples/cry_skarmory.bin" + .incbin "sound/direct_sound_samples/cries/skarmory.bin" .align 2 Cry_Houndour:: - .incbin "sound/direct_sound_samples/cry_houndour.bin" + .incbin "sound/direct_sound_samples/cries/houndour.bin" .align 2 Cry_Houndoom:: - .incbin "sound/direct_sound_samples/cry_houndoom.bin" + .incbin "sound/direct_sound_samples/cries/houndoom.bin" .align 2 Cry_Kingdra:: - .incbin "sound/direct_sound_samples/cry_kingdra.bin" + .incbin "sound/direct_sound_samples/cries/kingdra.bin" .align 2 Cry_Phanpy:: - .incbin "sound/direct_sound_samples/cry_phanpy.bin" + .incbin "sound/direct_sound_samples/cries/phanpy.bin" .align 2 Cry_Donphan:: - .incbin "sound/direct_sound_samples/cry_donphan.bin" + .incbin "sound/direct_sound_samples/cries/donphan.bin" .align 2 Cry_Porygon2:: - .incbin "sound/direct_sound_samples/cry_porygon2.bin" + .incbin "sound/direct_sound_samples/cries/porygon2.bin" .align 2 Cry_Stantler:: - .incbin "sound/direct_sound_samples/cry_stantler.bin" + .incbin "sound/direct_sound_samples/cries/stantler.bin" .align 2 Cry_Smeargle:: - .incbin "sound/direct_sound_samples/cry_smeargle.bin" + .incbin "sound/direct_sound_samples/cries/smeargle.bin" .align 2 Cry_Tyrogue:: - .incbin "sound/direct_sound_samples/cry_tyrogue.bin" + .incbin "sound/direct_sound_samples/cries/tyrogue.bin" .align 2 Cry_Hitmontop:: - .incbin "sound/direct_sound_samples/cry_hitmontop.bin" + .incbin "sound/direct_sound_samples/cries/hitmontop.bin" .align 2 Cry_Smoochum:: - .incbin "sound/direct_sound_samples/cry_smoochum.bin" + .incbin "sound/direct_sound_samples/cries/smoochum.bin" .align 2 Cry_Elekid:: - .incbin "sound/direct_sound_samples/cry_elekid.bin" + .incbin "sound/direct_sound_samples/cries/elekid.bin" .align 2 Cry_Magby:: - .incbin "sound/direct_sound_samples/cry_magby.bin" + .incbin "sound/direct_sound_samples/cries/magby.bin" .align 2 Cry_Miltank:: - .incbin "sound/direct_sound_samples/cry_miltank.bin" + .incbin "sound/direct_sound_samples/cries/miltank.bin" .align 2 Cry_Blissey:: - .incbin "sound/direct_sound_samples/cry_blissey.bin" + .incbin "sound/direct_sound_samples/cries/blissey.bin" .align 2 Cry_Raikou:: - .incbin "sound/direct_sound_samples/cry_raikou.bin" + .incbin "sound/direct_sound_samples/cries/raikou.bin" .align 2 Cry_Entei:: - .incbin "sound/direct_sound_samples/cry_entei.bin" + .incbin "sound/direct_sound_samples/cries/entei.bin" .align 2 Cry_Suicune:: - .incbin "sound/direct_sound_samples/cry_suicune.bin" + .incbin "sound/direct_sound_samples/cries/suicune.bin" .align 2 Cry_Larvitar:: - .incbin "sound/direct_sound_samples/cry_larvitar.bin" + .incbin "sound/direct_sound_samples/cries/larvitar.bin" .align 2 Cry_Pupitar:: - .incbin "sound/direct_sound_samples/cry_pupitar.bin" + .incbin "sound/direct_sound_samples/cries/pupitar.bin" .align 2 Cry_Tyranitar:: - .incbin "sound/direct_sound_samples/cry_tyranitar.bin" + .incbin "sound/direct_sound_samples/cries/tyranitar.bin" .align 2 Cry_Lugia:: - .incbin "sound/direct_sound_samples/cry_lugia.bin" + .incbin "sound/direct_sound_samples/cries/lugia.bin" .align 2 Cry_HoOh:: - .incbin "sound/direct_sound_samples/cry_ho_oh.bin" + .incbin "sound/direct_sound_samples/cries/ho_oh.bin" .align 2 Cry_Celebi:: - .incbin "sound/direct_sound_samples/cry_celebi.bin" + .incbin "sound/direct_sound_samples/cries/celebi.bin" .align 2 Cry_Kecleon:: - .incbin "sound/direct_sound_samples/cry_kecleon.bin" + .incbin "sound/direct_sound_samples/cries/kecleon.bin" .align 2 Cry_Roselia:: - .incbin "sound/direct_sound_samples/cry_roselia.bin" + .incbin "sound/direct_sound_samples/cries/roselia.bin" .align 2 Cry_Torkoal:: - .incbin "sound/direct_sound_samples/cry_torkoal.bin" + .incbin "sound/direct_sound_samples/cries/torkoal.bin" .align 2 Cry_Electrike:: - .incbin "sound/direct_sound_samples/cry_electrike.bin" + .incbin "sound/direct_sound_samples/cries/electrike.bin" .align 2 Cry_Manectric:: - .incbin "sound/direct_sound_samples/cry_manectric.bin" + .incbin "sound/direct_sound_samples/cries/manectric.bin" .align 2 Cry_Duskull:: - .incbin "sound/direct_sound_samples/cry_duskull.bin" + .incbin "sound/direct_sound_samples/cries/duskull.bin" .align 2 Cry_Latias:: - .incbin "sound/direct_sound_samples/cry_latias.bin" + .incbin "sound/direct_sound_samples/cries/latias.bin" .align 2 Cry_Wynaut:: - .incbin "sound/direct_sound_samples/cry_wynaut.bin" + .incbin "sound/direct_sound_samples/cries/wynaut.bin" .align 2 Cry_Seviper:: - .incbin "sound/direct_sound_samples/cry_seviper.bin" + .incbin "sound/direct_sound_samples/cries/seviper.bin" .align 2 Cry_Sharpedo:: - .incbin "sound/direct_sound_samples/cry_sharpedo.bin" + .incbin "sound/direct_sound_samples/cries/sharpedo.bin" .align 2 Cry_Zangoose:: - .incbin "sound/direct_sound_samples/cry_zangoose.bin" + .incbin "sound/direct_sound_samples/cries/zangoose.bin" .align 2 Cry_Azurill:: - .incbin "sound/direct_sound_samples/cry_azurill.bin" + .incbin "sound/direct_sound_samples/cries/azurill.bin" .align 2 Cry_Swablu:: - .incbin "sound/direct_sound_samples/cry_swablu.bin" + .incbin "sound/direct_sound_samples/cries/swablu.bin" .align 2 Cry_Altaria:: - .incbin "sound/direct_sound_samples/cry_altaria.bin" + .incbin "sound/direct_sound_samples/cries/altaria.bin" .align 2 Cry_Unused265:: - .incbin "sound/direct_sound_samples/cry_unused_265.bin" + .incbin "sound/direct_sound_samples/cries/unused_265.bin" .align 2 Cry_Taillow:: - .incbin "sound/direct_sound_samples/cry_taillow.bin" + .incbin "sound/direct_sound_samples/cries/taillow.bin" .align 2 Cry_Swellow:: - .incbin "sound/direct_sound_samples/cry_swellow.bin" + .incbin "sound/direct_sound_samples/cries/swellow.bin" .align 2 Cry_Unused268:: - .incbin "sound/direct_sound_samples/cry_unused_268.bin" + .incbin "sound/direct_sound_samples/cries/unused_268.bin" .align 2 Cry_Spinda:: - .incbin "sound/direct_sound_samples/cry_spinda.bin" + .incbin "sound/direct_sound_samples/cries/spinda.bin" .align 2 Cry_Torchic:: - .incbin "sound/direct_sound_samples/cry_torchic.bin" + .incbin "sound/direct_sound_samples/cries/torchic.bin" .align 2 Cry_Combusken:: - .incbin "sound/direct_sound_samples/cry_combusken.bin" + .incbin "sound/direct_sound_samples/cries/combusken.bin" .align 2 Cry_Blaziken:: - .incbin "sound/direct_sound_samples/cry_blaziken.bin" + .incbin "sound/direct_sound_samples/cries/blaziken.bin" .align 2 Cry_Treecko:: - .incbin "sound/direct_sound_samples/cry_treecko.bin" + .incbin "sound/direct_sound_samples/cries/treecko.bin" .align 2 Cry_Grovyle:: - .incbin "sound/direct_sound_samples/cry_grovyle.bin" + .incbin "sound/direct_sound_samples/cries/grovyle.bin" .align 2 Cry_Sceptile:: - .incbin "sound/direct_sound_samples/cry_sceptile.bin" + .incbin "sound/direct_sound_samples/cries/sceptile.bin" .align 2 Cry_Mudkip:: - .incbin "sound/direct_sound_samples/cry_mudkip.bin" + .incbin "sound/direct_sound_samples/cries/mudkip.bin" .align 2 Cry_Marshtomp:: - .incbin "sound/direct_sound_samples/cry_marshtomp.bin" + .incbin "sound/direct_sound_samples/cries/marshtomp.bin" .align 2 Cry_Swampert:: - .incbin "sound/direct_sound_samples/cry_swampert.bin" + .incbin "sound/direct_sound_samples/cries/swampert.bin" .align 2 Cry_Pelipper:: - .incbin "sound/direct_sound_samples/cry_pelipper.bin" + .incbin "sound/direct_sound_samples/cries/pelipper.bin" .align 2 Cry_Wingull:: - .incbin "sound/direct_sound_samples/cry_wingull.bin" + .incbin "sound/direct_sound_samples/cries/wingull.bin" .align 2 Cry_Banette:: - .incbin "sound/direct_sound_samples/cry_banette.bin" + .incbin "sound/direct_sound_samples/cries/banette.bin" .align 2 Cry_Shuppet:: - .incbin "sound/direct_sound_samples/cry_shuppet.bin" + .incbin "sound/direct_sound_samples/cries/shuppet.bin" .align 2 Cry_Lotad:: - .incbin "sound/direct_sound_samples/cry_lotad.bin" + .incbin "sound/direct_sound_samples/cries/lotad.bin" .align 2 Cry_Lombre:: - .incbin "sound/direct_sound_samples/cry_lombre.bin" + .incbin "sound/direct_sound_samples/cries/lombre.bin" .align 2 Cry_Ludicolo:: - .incbin "sound/direct_sound_samples/cry_ludicolo.bin" + .incbin "sound/direct_sound_samples/cries/ludicolo.bin" .align 2 Cry_Seedot:: - .incbin "sound/direct_sound_samples/cry_seedot.bin" + .incbin "sound/direct_sound_samples/cries/seedot.bin" .align 2 Cry_Nuzleaf:: - .incbin "sound/direct_sound_samples/cry_nuzleaf.bin" + .incbin "sound/direct_sound_samples/cries/nuzleaf.bin" .align 2 Cry_Shiftry:: - .incbin "sound/direct_sound_samples/cry_shiftry.bin" + .incbin "sound/direct_sound_samples/cries/shiftry.bin" .align 2 Cry_Carvanha:: - .incbin "sound/direct_sound_samples/cry_carvanha.bin" + .incbin "sound/direct_sound_samples/cries/carvanha.bin" .align 2 Cry_Wurmple:: - .incbin "sound/direct_sound_samples/cry_wurmple.bin" + .incbin "sound/direct_sound_samples/cries/wurmple.bin" .align 2 Cry_Silcoon:: - .incbin "sound/direct_sound_samples/cry_silcoon.bin" + .incbin "sound/direct_sound_samples/cries/silcoon.bin" .align 2 Cry_Beautifly:: - .incbin "sound/direct_sound_samples/cry_beautifly.bin" + .incbin "sound/direct_sound_samples/cries/beautifly.bin" .align 2 Cry_Cascoon:: - .incbin "sound/direct_sound_samples/cry_cascoon.bin" + .incbin "sound/direct_sound_samples/cries/cascoon.bin" .align 2 Cry_Dustox:: - .incbin "sound/direct_sound_samples/cry_dustox.bin" + .incbin "sound/direct_sound_samples/cries/dustox.bin" .align 2 Cry_Ralts:: - .incbin "sound/direct_sound_samples/cry_ralts.bin" + .incbin "sound/direct_sound_samples/cries/ralts.bin" .align 2 Cry_Kirlia:: - .incbin "sound/direct_sound_samples/cry_kirlia.bin" + .incbin "sound/direct_sound_samples/cries/kirlia.bin" .align 2 Cry_Gardevoir:: - .incbin "sound/direct_sound_samples/cry_gardevoir.bin" + .incbin "sound/direct_sound_samples/cries/gardevoir.bin" .align 2 Cry_Slakoth:: - .incbin "sound/direct_sound_samples/cry_slakoth.bin" + .incbin "sound/direct_sound_samples/cries/slakoth.bin" .align 2 Cry_Vigoroth:: - .incbin "sound/direct_sound_samples/cry_vigoroth.bin" + .incbin "sound/direct_sound_samples/cries/vigoroth.bin" .align 2 Cry_Slaking:: - .incbin "sound/direct_sound_samples/cry_slaking.bin" + .incbin "sound/direct_sound_samples/cries/slaking.bin" .align 2 Cry_Nincada:: - .incbin "sound/direct_sound_samples/cry_nincada.bin" + .incbin "sound/direct_sound_samples/cries/nincada.bin" .align 2 Cry_Ninjask:: - .incbin "sound/direct_sound_samples/cry_ninjask.bin" + .incbin "sound/direct_sound_samples/cries/ninjask.bin" .align 2 Cry_Shedinja:: - .incbin "sound/direct_sound_samples/cry_shedinja.bin" + .incbin "sound/direct_sound_samples/cries/shedinja.bin" .align 2 Cry_Makuhita:: - .incbin "sound/direct_sound_samples/cry_makuhita.bin" + .incbin "sound/direct_sound_samples/cries/makuhita.bin" .align 2 Cry_Hariyama:: - .incbin "sound/direct_sound_samples/cry_hariyama.bin" + .incbin "sound/direct_sound_samples/cries/hariyama.bin" .align 2 Cry_Nosepass:: - .incbin "sound/direct_sound_samples/cry_nosepass.bin" + .incbin "sound/direct_sound_samples/cries/nosepass.bin" .align 2 Cry_Glalie:: - .incbin "sound/direct_sound_samples/cry_glalie.bin" + .incbin "sound/direct_sound_samples/cries/glalie.bin" .align 2 Cry_Plusle:: - .incbin "sound/direct_sound_samples/cry_plusle.bin" + .incbin "sound/direct_sound_samples/cries/plusle.bin" .align 2 Cry_Minun:: - .incbin "sound/direct_sound_samples/cry_minun.bin" + .incbin "sound/direct_sound_samples/cries/minun.bin" .align 2 Cry_Surskit:: - .incbin "sound/direct_sound_samples/cry_surskit.bin" + .incbin "sound/direct_sound_samples/cries/surskit.bin" .align 2 Cry_Masquerain:: - .incbin "sound/direct_sound_samples/cry_masquerain.bin" + .incbin "sound/direct_sound_samples/cries/masquerain.bin" .align 2 Cry_Skitty:: - .incbin "sound/direct_sound_samples/cry_skitty.bin" + .incbin "sound/direct_sound_samples/cries/skitty.bin" .align 2 Cry_Delcatty:: - .incbin "sound/direct_sound_samples/cry_delcatty.bin" + .incbin "sound/direct_sound_samples/cries/delcatty.bin" .align 2 Cry_Gulpin:: - .incbin "sound/direct_sound_samples/cry_gulpin.bin" + .incbin "sound/direct_sound_samples/cries/gulpin.bin" .align 2 Cry_Swalot:: - .incbin "sound/direct_sound_samples/cry_swalot.bin" + .incbin "sound/direct_sound_samples/cries/swalot.bin" .align 2 Cry_Numel:: - .incbin "sound/direct_sound_samples/cry_numel.bin" + .incbin "sound/direct_sound_samples/cries/numel.bin" .align 2 Cry_Camerupt:: - .incbin "sound/direct_sound_samples/cry_camerupt.bin" + .incbin "sound/direct_sound_samples/cries/camerupt.bin" .align 2 Cry_Barboach:: - .incbin "sound/direct_sound_samples/cry_barboach.bin" + .incbin "sound/direct_sound_samples/cries/barboach.bin" .align 2 Cry_Whiscash:: - .incbin "sound/direct_sound_samples/cry_whiscash.bin" + .incbin "sound/direct_sound_samples/cries/whiscash.bin" .align 2 Cry_Corphish:: - .incbin "sound/direct_sound_samples/cry_corphish.bin" + .incbin "sound/direct_sound_samples/cries/corphish.bin" .align 2 Cry_Crawdaunt:: - .incbin "sound/direct_sound_samples/cry_crawdaunt.bin" + .incbin "sound/direct_sound_samples/cries/crawdaunt.bin" .align 2 Cry_Spoink:: - .incbin "sound/direct_sound_samples/cry_spoink.bin" + .incbin "sound/direct_sound_samples/cries/spoink.bin" .align 2 Cry_Grumpig:: - .incbin "sound/direct_sound_samples/cry_grumpig.bin" + .incbin "sound/direct_sound_samples/cries/grumpig.bin" .align 2 Cry_Trapinch:: - .incbin "sound/direct_sound_samples/cry_trapinch.bin" + .incbin "sound/direct_sound_samples/cries/trapinch.bin" .align 2 Cry_Vibrava:: - .incbin "sound/direct_sound_samples/cry_vibrava.bin" + .incbin "sound/direct_sound_samples/cries/vibrava.bin" .align 2 Cry_Flygon:: - .incbin "sound/direct_sound_samples/cry_flygon.bin" + .incbin "sound/direct_sound_samples/cries/flygon.bin" .align 2 Cry_Cacnea:: - .incbin "sound/direct_sound_samples/cry_cacnea.bin" + .incbin "sound/direct_sound_samples/cries/cacnea.bin" .align 2 Cry_Cacturne:: - .incbin "sound/direct_sound_samples/cry_cacturne.bin" + .incbin "sound/direct_sound_samples/cries/cacturne.bin" .align 2 Cry_Baltoy:: - .incbin "sound/direct_sound_samples/cry_baltoy.bin" + .incbin "sound/direct_sound_samples/cries/baltoy.bin" .align 2 Cry_Claydol:: - .incbin "sound/direct_sound_samples/cry_claydol.bin" + .incbin "sound/direct_sound_samples/cries/claydol.bin" .align 2 Cry_Lunatone:: - .incbin "sound/direct_sound_samples/cry_lunatone.bin" + .incbin "sound/direct_sound_samples/cries/lunatone.bin" .align 2 Cry_Solrock:: - .incbin "sound/direct_sound_samples/cry_solrock.bin" + .incbin "sound/direct_sound_samples/cries/solrock.bin" .align 2 Cry_Feebas:: - .incbin "sound/direct_sound_samples/cry_feebas.bin" + .incbin "sound/direct_sound_samples/cries/feebas.bin" .align 2 Cry_Milotic:: - .incbin "sound/direct_sound_samples/cry_milotic.bin" + .incbin "sound/direct_sound_samples/cries/milotic.bin" .align 2 Cry_Absol:: - .incbin "sound/direct_sound_samples/cry_absol.bin" + .incbin "sound/direct_sound_samples/cries/absol.bin" .align 2 Cry_Meditite:: - .incbin "sound/direct_sound_samples/cry_meditite.bin" + .incbin "sound/direct_sound_samples/cries/meditite.bin" .align 2 Cry_Medicham:: - .incbin "sound/direct_sound_samples/cry_medicham.bin" + .incbin "sound/direct_sound_samples/cries/medicham.bin" .align 2 Cry_Spheal:: - .incbin "sound/direct_sound_samples/cry_spheal.bin" + .incbin "sound/direct_sound_samples/cries/spheal.bin" .align 2 Cry_Sealeo:: - .incbin "sound/direct_sound_samples/cry_sealeo.bin" + .incbin "sound/direct_sound_samples/cries/sealeo.bin" .align 2 Cry_Walrein:: - .incbin "sound/direct_sound_samples/cry_walrein.bin" + .incbin "sound/direct_sound_samples/cries/walrein.bin" .align 2 Cry_Clamperl:: - .incbin "sound/direct_sound_samples/cry_clamperl.bin" + .incbin "sound/direct_sound_samples/cries/clamperl.bin" .align 2 Cry_Huntail:: - .incbin "sound/direct_sound_samples/cry_huntail.bin" + .incbin "sound/direct_sound_samples/cries/huntail.bin" .align 2 Cry_Gorebyss:: - .incbin "sound/direct_sound_samples/cry_gorebyss.bin" + .incbin "sound/direct_sound_samples/cries/gorebyss.bin" .align 2 Cry_Lileep:: - .incbin "sound/direct_sound_samples/cry_lileep.bin" + .incbin "sound/direct_sound_samples/cries/lileep.bin" .align 2 Cry_Cradily:: - .incbin "sound/direct_sound_samples/cry_cradily.bin" + .incbin "sound/direct_sound_samples/cries/cradily.bin" .align 2 Cry_Anorith:: - .incbin "sound/direct_sound_samples/cry_anorith.bin" + .incbin "sound/direct_sound_samples/cries/anorith.bin" .align 2 Cry_Armaldo:: - .incbin "sound/direct_sound_samples/cry_armaldo.bin" + .incbin "sound/direct_sound_samples/cries/armaldo.bin" .align 2 Cry_Beldum:: - .incbin "sound/direct_sound_samples/cry_beldum.bin" + .incbin "sound/direct_sound_samples/cries/beldum.bin" .align 2 Cry_Metang:: - .incbin "sound/direct_sound_samples/cry_metang.bin" + .incbin "sound/direct_sound_samples/cries/metang.bin" .align 2 Cry_Metagross:: - .incbin "sound/direct_sound_samples/cry_metagross.bin" + .incbin "sound/direct_sound_samples/cries/metagross.bin" .align 2 Cry_Bagon:: - .incbin "sound/direct_sound_samples/cry_bagon.bin" + .incbin "sound/direct_sound_samples/cries/bagon.bin" .align 2 Cry_Shelgon:: - .incbin "sound/direct_sound_samples/cry_shelgon.bin" + .incbin "sound/direct_sound_samples/cries/shelgon.bin" .align 2 Cry_Regirock:: - .incbin "sound/direct_sound_samples/cry_regirock.bin" + .incbin "sound/direct_sound_samples/cries/regirock.bin" .align 2 Cry_Regice:: - .incbin "sound/direct_sound_samples/cry_regice.bin" + .incbin "sound/direct_sound_samples/cries/regice.bin" .align 2 Cry_Registeel:: - .incbin "sound/direct_sound_samples/cry_registeel.bin" + .incbin "sound/direct_sound_samples/cries/registeel.bin" .align 2 Cry_Castform:: - .incbin "sound/direct_sound_samples/cry_castform.bin" + .incbin "sound/direct_sound_samples/cries/castform.bin" .align 2 Cry_Volbeat:: - .incbin "sound/direct_sound_samples/cry_volbeat.bin" + .incbin "sound/direct_sound_samples/cries/volbeat.bin" .align 2 Cry_Illumise:: - .incbin "sound/direct_sound_samples/cry_illumise.bin" + .incbin "sound/direct_sound_samples/cries/illumise.bin" .align 2 Cry_Poochyena:: - .incbin "sound/direct_sound_samples/cry_poochyena.bin" + .incbin "sound/direct_sound_samples/cries/poochyena.bin" .align 2 Cry_Mightyena:: - .incbin "sound/direct_sound_samples/cry_mightyena.bin" + .incbin "sound/direct_sound_samples/cries/mightyena.bin" .align 2 Cry_Dusclops:: - .incbin "sound/direct_sound_samples/cry_dusclops.bin" + .incbin "sound/direct_sound_samples/cries/dusclops.bin" .align 2 Cry_Sableye:: - .incbin "sound/direct_sound_samples/cry_sableye.bin" + .incbin "sound/direct_sound_samples/cries/sableye.bin" .align 2 Cry_Mawile:: - .incbin "sound/direct_sound_samples/cry_mawile.bin" + .incbin "sound/direct_sound_samples/cries/mawile.bin" .align 2 Cry_Aron:: - .incbin "sound/direct_sound_samples/cry_aron.bin" + .incbin "sound/direct_sound_samples/cries/aron.bin" .align 2 Cry_Lairon:: - .incbin "sound/direct_sound_samples/cry_lairon.bin" + .incbin "sound/direct_sound_samples/cries/lairon.bin" .align 2 Cry_Aggron:: - .incbin "sound/direct_sound_samples/cry_aggron.bin" + .incbin "sound/direct_sound_samples/cries/aggron.bin" .align 2 Cry_Relicanth:: - .incbin "sound/direct_sound_samples/cry_relicanth.bin" + .incbin "sound/direct_sound_samples/cries/relicanth.bin" .align 2 Cry_Luvdisc:: - .incbin "sound/direct_sound_samples/cry_luvdisc.bin" + .incbin "sound/direct_sound_samples/cries/luvdisc.bin" .align 2 Cry_Groudon:: - .incbin "sound/direct_sound_samples/cry_groudon.bin" + .incbin "sound/direct_sound_samples/cries/groudon.bin" .align 2 Cry_Kyogre:: - .incbin "sound/direct_sound_samples/cry_kyogre.bin" + .incbin "sound/direct_sound_samples/cries/kyogre.bin" .align 2 Cry_Rayquaza:: - .incbin "sound/direct_sound_samples/cry_rayquaza.bin" + .incbin "sound/direct_sound_samples/cries/rayquaza.bin" .align 2 Cry_Salamence:: - .incbin "sound/direct_sound_samples/cry_salamence.bin" + .incbin "sound/direct_sound_samples/cries/salamence.bin" .align 2 Cry_Breloom:: - .incbin "sound/direct_sound_samples/cry_breloom.bin" + .incbin "sound/direct_sound_samples/cries/breloom.bin" .align 2 Cry_Shroomish:: - .incbin "sound/direct_sound_samples/cry_shroomish.bin" + .incbin "sound/direct_sound_samples/cries/shroomish.bin" .align 2 Cry_Linoone:: - .incbin "sound/direct_sound_samples/cry_linoone.bin" + .incbin "sound/direct_sound_samples/cries/linoone.bin" .align 2 Cry_Tropius:: - .incbin "sound/direct_sound_samples/cry_tropius.bin" + .incbin "sound/direct_sound_samples/cries/tropius.bin" .align 2 Cry_Wailmer:: - .incbin "sound/direct_sound_samples/cry_wailmer.bin" + .incbin "sound/direct_sound_samples/cries/wailmer.bin" .align 2 Cry_Zigzagoon:: - .incbin "sound/direct_sound_samples/cry_zigzagoon.bin" + .incbin "sound/direct_sound_samples/cries/zigzagoon.bin" .align 2 Cry_Exploud:: - .incbin "sound/direct_sound_samples/cry_exploud.bin" + .incbin "sound/direct_sound_samples/cries/exploud.bin" .align 2 Cry_Loudred:: - .incbin "sound/direct_sound_samples/cry_loudred.bin" + .incbin "sound/direct_sound_samples/cries/loudred.bin" .align 2 Cry_Wailord:: - .incbin "sound/direct_sound_samples/cry_wailord.bin" + .incbin "sound/direct_sound_samples/cries/wailord.bin" .align 2 Cry_Whismur:: - .incbin "sound/direct_sound_samples/cry_whismur.bin" + .incbin "sound/direct_sound_samples/cries/whismur.bin" .align 2 Cry_Snorunt:: - .incbin "sound/direct_sound_samples/cry_snorunt.bin" + .incbin "sound/direct_sound_samples/cries/snorunt.bin" .align 2 Cry_Latios:: - .incbin "sound/direct_sound_samples/cry_latios.bin" + .incbin "sound/direct_sound_samples/cries/latios.bin" .align 2 Cry_Jirachi:: - .incbin "sound/direct_sound_samples/cry_jirachi.bin" + .incbin "sound/direct_sound_samples/cries/jirachi.bin" .align 2 Cry_Deoxys:: - .incbin "sound/direct_sound_samples/cry_deoxys.bin" + .incbin "sound/direct_sound_samples/cries/deoxys.bin" .align 2 Cry_Chimecho:: - .incbin "sound/direct_sound_samples/cry_chimecho.bin" + .incbin "sound/direct_sound_samples/cries/chimecho.bin" .align 2 diff --git a/sound/direct_sound_samples/cry_abra.aif b/sound/direct_sound_samples/cries/abra.aif similarity index 100% rename from sound/direct_sound_samples/cry_abra.aif rename to sound/direct_sound_samples/cries/abra.aif diff --git a/sound/direct_sound_samples/cry_absol.aif b/sound/direct_sound_samples/cries/absol.aif similarity index 100% rename from sound/direct_sound_samples/cry_absol.aif rename to sound/direct_sound_samples/cries/absol.aif diff --git a/sound/direct_sound_samples/cry_aerodactyl.aif b/sound/direct_sound_samples/cries/aerodactyl.aif similarity index 100% rename from sound/direct_sound_samples/cry_aerodactyl.aif rename to sound/direct_sound_samples/cries/aerodactyl.aif diff --git a/sound/direct_sound_samples/cry_aggron.aif b/sound/direct_sound_samples/cries/aggron.aif similarity index 100% rename from sound/direct_sound_samples/cry_aggron.aif rename to sound/direct_sound_samples/cries/aggron.aif diff --git a/sound/direct_sound_samples/cry_aipom.aif b/sound/direct_sound_samples/cries/aipom.aif similarity index 100% rename from sound/direct_sound_samples/cry_aipom.aif rename to sound/direct_sound_samples/cries/aipom.aif diff --git a/sound/direct_sound_samples/cry_alakazam.aif b/sound/direct_sound_samples/cries/alakazam.aif similarity index 100% rename from sound/direct_sound_samples/cry_alakazam.aif rename to sound/direct_sound_samples/cries/alakazam.aif diff --git a/sound/direct_sound_samples/cry_altaria.aif b/sound/direct_sound_samples/cries/altaria.aif similarity index 100% rename from sound/direct_sound_samples/cry_altaria.aif rename to sound/direct_sound_samples/cries/altaria.aif diff --git a/sound/direct_sound_samples/cry_ampharos.aif b/sound/direct_sound_samples/cries/ampharos.aif similarity index 100% rename from sound/direct_sound_samples/cry_ampharos.aif rename to sound/direct_sound_samples/cries/ampharos.aif diff --git a/sound/direct_sound_samples/cry_anorith.aif b/sound/direct_sound_samples/cries/anorith.aif similarity index 100% rename from sound/direct_sound_samples/cry_anorith.aif rename to sound/direct_sound_samples/cries/anorith.aif diff --git a/sound/direct_sound_samples/cry_arbok.aif b/sound/direct_sound_samples/cries/arbok.aif similarity index 100% rename from sound/direct_sound_samples/cry_arbok.aif rename to sound/direct_sound_samples/cries/arbok.aif diff --git a/sound/direct_sound_samples/cry_arcanine.aif b/sound/direct_sound_samples/cries/arcanine.aif similarity index 100% rename from sound/direct_sound_samples/cry_arcanine.aif rename to sound/direct_sound_samples/cries/arcanine.aif diff --git a/sound/direct_sound_samples/cry_ariados.aif b/sound/direct_sound_samples/cries/ariados.aif similarity index 100% rename from sound/direct_sound_samples/cry_ariados.aif rename to sound/direct_sound_samples/cries/ariados.aif diff --git a/sound/direct_sound_samples/cry_armaldo.aif b/sound/direct_sound_samples/cries/armaldo.aif similarity index 100% rename from sound/direct_sound_samples/cry_armaldo.aif rename to sound/direct_sound_samples/cries/armaldo.aif diff --git a/sound/direct_sound_samples/cry_aron.aif b/sound/direct_sound_samples/cries/aron.aif similarity index 100% rename from sound/direct_sound_samples/cry_aron.aif rename to sound/direct_sound_samples/cries/aron.aif diff --git a/sound/direct_sound_samples/cry_articuno.aif b/sound/direct_sound_samples/cries/articuno.aif similarity index 100% rename from sound/direct_sound_samples/cry_articuno.aif rename to sound/direct_sound_samples/cries/articuno.aif diff --git a/sound/direct_sound_samples/cry_azumarill.aif b/sound/direct_sound_samples/cries/azumarill.aif similarity index 100% rename from sound/direct_sound_samples/cry_azumarill.aif rename to sound/direct_sound_samples/cries/azumarill.aif diff --git a/sound/direct_sound_samples/cry_azurill.aif b/sound/direct_sound_samples/cries/azurill.aif similarity index 100% rename from sound/direct_sound_samples/cry_azurill.aif rename to sound/direct_sound_samples/cries/azurill.aif diff --git a/sound/direct_sound_samples/cry_bagon.aif b/sound/direct_sound_samples/cries/bagon.aif similarity index 100% rename from sound/direct_sound_samples/cry_bagon.aif rename to sound/direct_sound_samples/cries/bagon.aif diff --git a/sound/direct_sound_samples/cry_baltoy.aif b/sound/direct_sound_samples/cries/baltoy.aif similarity index 100% rename from sound/direct_sound_samples/cry_baltoy.aif rename to sound/direct_sound_samples/cries/baltoy.aif diff --git a/sound/direct_sound_samples/cry_banette.aif b/sound/direct_sound_samples/cries/banette.aif similarity index 100% rename from sound/direct_sound_samples/cry_banette.aif rename to sound/direct_sound_samples/cries/banette.aif diff --git a/sound/direct_sound_samples/cry_barboach.aif b/sound/direct_sound_samples/cries/barboach.aif similarity index 100% rename from sound/direct_sound_samples/cry_barboach.aif rename to sound/direct_sound_samples/cries/barboach.aif diff --git a/sound/direct_sound_samples/cry_bayleef.aif b/sound/direct_sound_samples/cries/bayleef.aif similarity index 100% rename from sound/direct_sound_samples/cry_bayleef.aif rename to sound/direct_sound_samples/cries/bayleef.aif diff --git a/sound/direct_sound_samples/cry_beautifly.aif b/sound/direct_sound_samples/cries/beautifly.aif similarity index 100% rename from sound/direct_sound_samples/cry_beautifly.aif rename to sound/direct_sound_samples/cries/beautifly.aif diff --git a/sound/direct_sound_samples/cry_beedrill.aif b/sound/direct_sound_samples/cries/beedrill.aif similarity index 100% rename from sound/direct_sound_samples/cry_beedrill.aif rename to sound/direct_sound_samples/cries/beedrill.aif diff --git a/sound/direct_sound_samples/cry_beldum.aif b/sound/direct_sound_samples/cries/beldum.aif similarity index 100% rename from sound/direct_sound_samples/cry_beldum.aif rename to sound/direct_sound_samples/cries/beldum.aif diff --git a/sound/direct_sound_samples/cry_bellossom.aif b/sound/direct_sound_samples/cries/bellossom.aif similarity index 100% rename from sound/direct_sound_samples/cry_bellossom.aif rename to sound/direct_sound_samples/cries/bellossom.aif diff --git a/sound/direct_sound_samples/cry_bellsprout.aif b/sound/direct_sound_samples/cries/bellsprout.aif similarity index 100% rename from sound/direct_sound_samples/cry_bellsprout.aif rename to sound/direct_sound_samples/cries/bellsprout.aif diff --git a/sound/direct_sound_samples/cry_blastoise.aif b/sound/direct_sound_samples/cries/blastoise.aif similarity index 100% rename from sound/direct_sound_samples/cry_blastoise.aif rename to sound/direct_sound_samples/cries/blastoise.aif diff --git a/sound/direct_sound_samples/cry_blaziken.aif b/sound/direct_sound_samples/cries/blaziken.aif similarity index 100% rename from sound/direct_sound_samples/cry_blaziken.aif rename to sound/direct_sound_samples/cries/blaziken.aif diff --git a/sound/direct_sound_samples/cry_blissey.aif b/sound/direct_sound_samples/cries/blissey.aif similarity index 100% rename from sound/direct_sound_samples/cry_blissey.aif rename to sound/direct_sound_samples/cries/blissey.aif diff --git a/sound/direct_sound_samples/cry_breloom.aif b/sound/direct_sound_samples/cries/breloom.aif similarity index 100% rename from sound/direct_sound_samples/cry_breloom.aif rename to sound/direct_sound_samples/cries/breloom.aif diff --git a/sound/direct_sound_samples/cry_bulbasaur.aif b/sound/direct_sound_samples/cries/bulbasaur.aif similarity index 100% rename from sound/direct_sound_samples/cry_bulbasaur.aif rename to sound/direct_sound_samples/cries/bulbasaur.aif diff --git a/sound/direct_sound_samples/cry_butterfree.aif b/sound/direct_sound_samples/cries/butterfree.aif similarity index 100% rename from sound/direct_sound_samples/cry_butterfree.aif rename to sound/direct_sound_samples/cries/butterfree.aif diff --git a/sound/direct_sound_samples/cry_cacnea.aif b/sound/direct_sound_samples/cries/cacnea.aif similarity index 100% rename from sound/direct_sound_samples/cry_cacnea.aif rename to sound/direct_sound_samples/cries/cacnea.aif diff --git a/sound/direct_sound_samples/cry_cacturne.aif b/sound/direct_sound_samples/cries/cacturne.aif similarity index 100% rename from sound/direct_sound_samples/cry_cacturne.aif rename to sound/direct_sound_samples/cries/cacturne.aif diff --git a/sound/direct_sound_samples/cry_camerupt.aif b/sound/direct_sound_samples/cries/camerupt.aif similarity index 100% rename from sound/direct_sound_samples/cry_camerupt.aif rename to sound/direct_sound_samples/cries/camerupt.aif diff --git a/sound/direct_sound_samples/cry_carvanha.aif b/sound/direct_sound_samples/cries/carvanha.aif similarity index 100% rename from sound/direct_sound_samples/cry_carvanha.aif rename to sound/direct_sound_samples/cries/carvanha.aif diff --git a/sound/direct_sound_samples/cry_cascoon.aif b/sound/direct_sound_samples/cries/cascoon.aif similarity index 100% rename from sound/direct_sound_samples/cry_cascoon.aif rename to sound/direct_sound_samples/cries/cascoon.aif diff --git a/sound/direct_sound_samples/cry_castform.aif b/sound/direct_sound_samples/cries/castform.aif similarity index 100% rename from sound/direct_sound_samples/cry_castform.aif rename to sound/direct_sound_samples/cries/castform.aif diff --git a/sound/direct_sound_samples/cry_caterpie.aif b/sound/direct_sound_samples/cries/caterpie.aif similarity index 100% rename from sound/direct_sound_samples/cry_caterpie.aif rename to sound/direct_sound_samples/cries/caterpie.aif diff --git a/sound/direct_sound_samples/cry_celebi.aif b/sound/direct_sound_samples/cries/celebi.aif similarity index 100% rename from sound/direct_sound_samples/cry_celebi.aif rename to sound/direct_sound_samples/cries/celebi.aif diff --git a/sound/direct_sound_samples/cry_chansey.aif b/sound/direct_sound_samples/cries/chansey.aif similarity index 100% rename from sound/direct_sound_samples/cry_chansey.aif rename to sound/direct_sound_samples/cries/chansey.aif diff --git a/sound/direct_sound_samples/cry_charizard.aif b/sound/direct_sound_samples/cries/charizard.aif similarity index 100% rename from sound/direct_sound_samples/cry_charizard.aif rename to sound/direct_sound_samples/cries/charizard.aif diff --git a/sound/direct_sound_samples/cry_charmander.aif b/sound/direct_sound_samples/cries/charmander.aif similarity index 100% rename from sound/direct_sound_samples/cry_charmander.aif rename to sound/direct_sound_samples/cries/charmander.aif diff --git a/sound/direct_sound_samples/cry_charmeleon.aif b/sound/direct_sound_samples/cries/charmeleon.aif similarity index 100% rename from sound/direct_sound_samples/cry_charmeleon.aif rename to sound/direct_sound_samples/cries/charmeleon.aif diff --git a/sound/direct_sound_samples/cry_chikorita.aif b/sound/direct_sound_samples/cries/chikorita.aif similarity index 100% rename from sound/direct_sound_samples/cry_chikorita.aif rename to sound/direct_sound_samples/cries/chikorita.aif diff --git a/sound/direct_sound_samples/cry_chimecho.aif b/sound/direct_sound_samples/cries/chimecho.aif similarity index 100% rename from sound/direct_sound_samples/cry_chimecho.aif rename to sound/direct_sound_samples/cries/chimecho.aif diff --git a/sound/direct_sound_samples/cry_chinchou.aif b/sound/direct_sound_samples/cries/chinchou.aif similarity index 100% rename from sound/direct_sound_samples/cry_chinchou.aif rename to sound/direct_sound_samples/cries/chinchou.aif diff --git a/sound/direct_sound_samples/cry_clamperl.aif b/sound/direct_sound_samples/cries/clamperl.aif similarity index 100% rename from sound/direct_sound_samples/cry_clamperl.aif rename to sound/direct_sound_samples/cries/clamperl.aif diff --git a/sound/direct_sound_samples/cry_claydol.aif b/sound/direct_sound_samples/cries/claydol.aif similarity index 100% rename from sound/direct_sound_samples/cry_claydol.aif rename to sound/direct_sound_samples/cries/claydol.aif diff --git a/sound/direct_sound_samples/cry_clefable.aif b/sound/direct_sound_samples/cries/clefable.aif similarity index 100% rename from sound/direct_sound_samples/cry_clefable.aif rename to sound/direct_sound_samples/cries/clefable.aif diff --git a/sound/direct_sound_samples/cry_clefairy.aif b/sound/direct_sound_samples/cries/clefairy.aif similarity index 100% rename from sound/direct_sound_samples/cry_clefairy.aif rename to sound/direct_sound_samples/cries/clefairy.aif diff --git a/sound/direct_sound_samples/cry_cleffa.aif b/sound/direct_sound_samples/cries/cleffa.aif similarity index 100% rename from sound/direct_sound_samples/cry_cleffa.aif rename to sound/direct_sound_samples/cries/cleffa.aif diff --git a/sound/direct_sound_samples/cry_cloyster.aif b/sound/direct_sound_samples/cries/cloyster.aif similarity index 100% rename from sound/direct_sound_samples/cry_cloyster.aif rename to sound/direct_sound_samples/cries/cloyster.aif diff --git a/sound/direct_sound_samples/cry_combusken.aif b/sound/direct_sound_samples/cries/combusken.aif similarity index 100% rename from sound/direct_sound_samples/cry_combusken.aif rename to sound/direct_sound_samples/cries/combusken.aif diff --git a/sound/direct_sound_samples/cry_corphish.aif b/sound/direct_sound_samples/cries/corphish.aif similarity index 100% rename from sound/direct_sound_samples/cry_corphish.aif rename to sound/direct_sound_samples/cries/corphish.aif diff --git a/sound/direct_sound_samples/cry_corsola.aif b/sound/direct_sound_samples/cries/corsola.aif similarity index 100% rename from sound/direct_sound_samples/cry_corsola.aif rename to sound/direct_sound_samples/cries/corsola.aif diff --git a/sound/direct_sound_samples/cry_cradily.aif b/sound/direct_sound_samples/cries/cradily.aif similarity index 100% rename from sound/direct_sound_samples/cry_cradily.aif rename to sound/direct_sound_samples/cries/cradily.aif diff --git a/sound/direct_sound_samples/cry_crawdaunt.aif b/sound/direct_sound_samples/cries/crawdaunt.aif similarity index 100% rename from sound/direct_sound_samples/cry_crawdaunt.aif rename to sound/direct_sound_samples/cries/crawdaunt.aif diff --git a/sound/direct_sound_samples/cry_crobat.aif b/sound/direct_sound_samples/cries/crobat.aif similarity index 100% rename from sound/direct_sound_samples/cry_crobat.aif rename to sound/direct_sound_samples/cries/crobat.aif diff --git a/sound/direct_sound_samples/cry_croconaw.aif b/sound/direct_sound_samples/cries/croconaw.aif similarity index 100% rename from sound/direct_sound_samples/cry_croconaw.aif rename to sound/direct_sound_samples/cries/croconaw.aif diff --git a/sound/direct_sound_samples/cry_cubone.aif b/sound/direct_sound_samples/cries/cubone.aif similarity index 100% rename from sound/direct_sound_samples/cry_cubone.aif rename to sound/direct_sound_samples/cries/cubone.aif diff --git a/sound/direct_sound_samples/cry_cyndaquil.aif b/sound/direct_sound_samples/cries/cyndaquil.aif similarity index 100% rename from sound/direct_sound_samples/cry_cyndaquil.aif rename to sound/direct_sound_samples/cries/cyndaquil.aif diff --git a/sound/direct_sound_samples/cry_delcatty.aif b/sound/direct_sound_samples/cries/delcatty.aif similarity index 100% rename from sound/direct_sound_samples/cry_delcatty.aif rename to sound/direct_sound_samples/cries/delcatty.aif diff --git a/sound/direct_sound_samples/cry_delibird.aif b/sound/direct_sound_samples/cries/delibird.aif similarity index 100% rename from sound/direct_sound_samples/cry_delibird.aif rename to sound/direct_sound_samples/cries/delibird.aif diff --git a/sound/direct_sound_samples/cry_deoxys.aif b/sound/direct_sound_samples/cries/deoxys.aif similarity index 100% rename from sound/direct_sound_samples/cry_deoxys.aif rename to sound/direct_sound_samples/cries/deoxys.aif diff --git a/sound/direct_sound_samples/cry_dewgong.aif b/sound/direct_sound_samples/cries/dewgong.aif similarity index 100% rename from sound/direct_sound_samples/cry_dewgong.aif rename to sound/direct_sound_samples/cries/dewgong.aif diff --git a/sound/direct_sound_samples/cry_diglett.aif b/sound/direct_sound_samples/cries/diglett.aif similarity index 100% rename from sound/direct_sound_samples/cry_diglett.aif rename to sound/direct_sound_samples/cries/diglett.aif diff --git a/sound/direct_sound_samples/cry_ditto.aif b/sound/direct_sound_samples/cries/ditto.aif similarity index 100% rename from sound/direct_sound_samples/cry_ditto.aif rename to sound/direct_sound_samples/cries/ditto.aif diff --git a/sound/direct_sound_samples/cry_dodrio.aif b/sound/direct_sound_samples/cries/dodrio.aif similarity index 100% rename from sound/direct_sound_samples/cry_dodrio.aif rename to sound/direct_sound_samples/cries/dodrio.aif diff --git a/sound/direct_sound_samples/cry_doduo.aif b/sound/direct_sound_samples/cries/doduo.aif similarity index 100% rename from sound/direct_sound_samples/cry_doduo.aif rename to sound/direct_sound_samples/cries/doduo.aif diff --git a/sound/direct_sound_samples/cry_donphan.aif b/sound/direct_sound_samples/cries/donphan.aif similarity index 100% rename from sound/direct_sound_samples/cry_donphan.aif rename to sound/direct_sound_samples/cries/donphan.aif diff --git a/sound/direct_sound_samples/cry_dragonair.aif b/sound/direct_sound_samples/cries/dragonair.aif similarity index 100% rename from sound/direct_sound_samples/cry_dragonair.aif rename to sound/direct_sound_samples/cries/dragonair.aif diff --git a/sound/direct_sound_samples/cry_dragonite.aif b/sound/direct_sound_samples/cries/dragonite.aif similarity index 100% rename from sound/direct_sound_samples/cry_dragonite.aif rename to sound/direct_sound_samples/cries/dragonite.aif diff --git a/sound/direct_sound_samples/cry_dratini.aif b/sound/direct_sound_samples/cries/dratini.aif similarity index 100% rename from sound/direct_sound_samples/cry_dratini.aif rename to sound/direct_sound_samples/cries/dratini.aif diff --git a/sound/direct_sound_samples/cry_drowzee.aif b/sound/direct_sound_samples/cries/drowzee.aif similarity index 100% rename from sound/direct_sound_samples/cry_drowzee.aif rename to sound/direct_sound_samples/cries/drowzee.aif diff --git a/sound/direct_sound_samples/cry_dugtrio.aif b/sound/direct_sound_samples/cries/dugtrio.aif similarity index 100% rename from sound/direct_sound_samples/cry_dugtrio.aif rename to sound/direct_sound_samples/cries/dugtrio.aif diff --git a/sound/direct_sound_samples/cry_dunsparce.aif b/sound/direct_sound_samples/cries/dunsparce.aif similarity index 100% rename from sound/direct_sound_samples/cry_dunsparce.aif rename to sound/direct_sound_samples/cries/dunsparce.aif diff --git a/sound/direct_sound_samples/cry_dusclops.aif b/sound/direct_sound_samples/cries/dusclops.aif similarity index 100% rename from sound/direct_sound_samples/cry_dusclops.aif rename to sound/direct_sound_samples/cries/dusclops.aif diff --git a/sound/direct_sound_samples/cry_duskull.aif b/sound/direct_sound_samples/cries/duskull.aif similarity index 100% rename from sound/direct_sound_samples/cry_duskull.aif rename to sound/direct_sound_samples/cries/duskull.aif diff --git a/sound/direct_sound_samples/cry_dustox.aif b/sound/direct_sound_samples/cries/dustox.aif similarity index 100% rename from sound/direct_sound_samples/cry_dustox.aif rename to sound/direct_sound_samples/cries/dustox.aif diff --git a/sound/direct_sound_samples/cry_eevee.aif b/sound/direct_sound_samples/cries/eevee.aif similarity index 100% rename from sound/direct_sound_samples/cry_eevee.aif rename to sound/direct_sound_samples/cries/eevee.aif diff --git a/sound/direct_sound_samples/cry_ekans.aif b/sound/direct_sound_samples/cries/ekans.aif similarity index 100% rename from sound/direct_sound_samples/cry_ekans.aif rename to sound/direct_sound_samples/cries/ekans.aif diff --git a/sound/direct_sound_samples/cry_electabuzz.aif b/sound/direct_sound_samples/cries/electabuzz.aif similarity index 100% rename from sound/direct_sound_samples/cry_electabuzz.aif rename to sound/direct_sound_samples/cries/electabuzz.aif diff --git a/sound/direct_sound_samples/cry_electrike.aif b/sound/direct_sound_samples/cries/electrike.aif similarity index 100% rename from sound/direct_sound_samples/cry_electrike.aif rename to sound/direct_sound_samples/cries/electrike.aif diff --git a/sound/direct_sound_samples/cry_electrode.aif b/sound/direct_sound_samples/cries/electrode.aif similarity index 100% rename from sound/direct_sound_samples/cry_electrode.aif rename to sound/direct_sound_samples/cries/electrode.aif diff --git a/sound/direct_sound_samples/cry_elekid.aif b/sound/direct_sound_samples/cries/elekid.aif similarity index 100% rename from sound/direct_sound_samples/cry_elekid.aif rename to sound/direct_sound_samples/cries/elekid.aif diff --git a/sound/direct_sound_samples/cry_entei.aif b/sound/direct_sound_samples/cries/entei.aif similarity index 100% rename from sound/direct_sound_samples/cry_entei.aif rename to sound/direct_sound_samples/cries/entei.aif diff --git a/sound/direct_sound_samples/cry_espeon.aif b/sound/direct_sound_samples/cries/espeon.aif similarity index 100% rename from sound/direct_sound_samples/cry_espeon.aif rename to sound/direct_sound_samples/cries/espeon.aif diff --git a/sound/direct_sound_samples/cry_exeggcute.aif b/sound/direct_sound_samples/cries/exeggcute.aif similarity index 100% rename from sound/direct_sound_samples/cry_exeggcute.aif rename to sound/direct_sound_samples/cries/exeggcute.aif diff --git a/sound/direct_sound_samples/cry_exeggutor.aif b/sound/direct_sound_samples/cries/exeggutor.aif similarity index 100% rename from sound/direct_sound_samples/cry_exeggutor.aif rename to sound/direct_sound_samples/cries/exeggutor.aif diff --git a/sound/direct_sound_samples/cry_exploud.aif b/sound/direct_sound_samples/cries/exploud.aif similarity index 100% rename from sound/direct_sound_samples/cry_exploud.aif rename to sound/direct_sound_samples/cries/exploud.aif diff --git a/sound/direct_sound_samples/cry_farfetchd.aif b/sound/direct_sound_samples/cries/farfetchd.aif similarity index 100% rename from sound/direct_sound_samples/cry_farfetchd.aif rename to sound/direct_sound_samples/cries/farfetchd.aif diff --git a/sound/direct_sound_samples/cry_fearow.aif b/sound/direct_sound_samples/cries/fearow.aif similarity index 100% rename from sound/direct_sound_samples/cry_fearow.aif rename to sound/direct_sound_samples/cries/fearow.aif diff --git a/sound/direct_sound_samples/cry_feebas.aif b/sound/direct_sound_samples/cries/feebas.aif similarity index 100% rename from sound/direct_sound_samples/cry_feebas.aif rename to sound/direct_sound_samples/cries/feebas.aif diff --git a/sound/direct_sound_samples/cry_feraligatr.aif b/sound/direct_sound_samples/cries/feraligatr.aif similarity index 100% rename from sound/direct_sound_samples/cry_feraligatr.aif rename to sound/direct_sound_samples/cries/feraligatr.aif diff --git a/sound/direct_sound_samples/cry_flaaffy.aif b/sound/direct_sound_samples/cries/flaaffy.aif similarity index 100% rename from sound/direct_sound_samples/cry_flaaffy.aif rename to sound/direct_sound_samples/cries/flaaffy.aif diff --git a/sound/direct_sound_samples/cry_flareon.aif b/sound/direct_sound_samples/cries/flareon.aif similarity index 100% rename from sound/direct_sound_samples/cry_flareon.aif rename to sound/direct_sound_samples/cries/flareon.aif diff --git a/sound/direct_sound_samples/cry_flygon.aif b/sound/direct_sound_samples/cries/flygon.aif similarity index 100% rename from sound/direct_sound_samples/cry_flygon.aif rename to sound/direct_sound_samples/cries/flygon.aif diff --git a/sound/direct_sound_samples/cry_forretress.aif b/sound/direct_sound_samples/cries/forretress.aif similarity index 100% rename from sound/direct_sound_samples/cry_forretress.aif rename to sound/direct_sound_samples/cries/forretress.aif diff --git a/sound/direct_sound_samples/cry_furret.aif b/sound/direct_sound_samples/cries/furret.aif similarity index 100% rename from sound/direct_sound_samples/cry_furret.aif rename to sound/direct_sound_samples/cries/furret.aif diff --git a/sound/direct_sound_samples/cry_gardevoir.aif b/sound/direct_sound_samples/cries/gardevoir.aif similarity index 100% rename from sound/direct_sound_samples/cry_gardevoir.aif rename to sound/direct_sound_samples/cries/gardevoir.aif diff --git a/sound/direct_sound_samples/cry_gastly.aif b/sound/direct_sound_samples/cries/gastly.aif similarity index 100% rename from sound/direct_sound_samples/cry_gastly.aif rename to sound/direct_sound_samples/cries/gastly.aif diff --git a/sound/direct_sound_samples/cry_gengar.aif b/sound/direct_sound_samples/cries/gengar.aif similarity index 100% rename from sound/direct_sound_samples/cry_gengar.aif rename to sound/direct_sound_samples/cries/gengar.aif diff --git a/sound/direct_sound_samples/cry_geodude.aif b/sound/direct_sound_samples/cries/geodude.aif similarity index 100% rename from sound/direct_sound_samples/cry_geodude.aif rename to sound/direct_sound_samples/cries/geodude.aif diff --git a/sound/direct_sound_samples/cry_girafarig.aif b/sound/direct_sound_samples/cries/girafarig.aif similarity index 100% rename from sound/direct_sound_samples/cry_girafarig.aif rename to sound/direct_sound_samples/cries/girafarig.aif diff --git a/sound/direct_sound_samples/cry_glalie.aif b/sound/direct_sound_samples/cries/glalie.aif similarity index 100% rename from sound/direct_sound_samples/cry_glalie.aif rename to sound/direct_sound_samples/cries/glalie.aif diff --git a/sound/direct_sound_samples/cry_gligar.aif b/sound/direct_sound_samples/cries/gligar.aif similarity index 100% rename from sound/direct_sound_samples/cry_gligar.aif rename to sound/direct_sound_samples/cries/gligar.aif diff --git a/sound/direct_sound_samples/cry_gloom.aif b/sound/direct_sound_samples/cries/gloom.aif similarity index 100% rename from sound/direct_sound_samples/cry_gloom.aif rename to sound/direct_sound_samples/cries/gloom.aif diff --git a/sound/direct_sound_samples/cry_golbat.aif b/sound/direct_sound_samples/cries/golbat.aif similarity index 100% rename from sound/direct_sound_samples/cry_golbat.aif rename to sound/direct_sound_samples/cries/golbat.aif diff --git a/sound/direct_sound_samples/cry_goldeen.aif b/sound/direct_sound_samples/cries/goldeen.aif similarity index 100% rename from sound/direct_sound_samples/cry_goldeen.aif rename to sound/direct_sound_samples/cries/goldeen.aif diff --git a/sound/direct_sound_samples/cry_golduck.aif b/sound/direct_sound_samples/cries/golduck.aif similarity index 100% rename from sound/direct_sound_samples/cry_golduck.aif rename to sound/direct_sound_samples/cries/golduck.aif diff --git a/sound/direct_sound_samples/cry_golem.aif b/sound/direct_sound_samples/cries/golem.aif similarity index 100% rename from sound/direct_sound_samples/cry_golem.aif rename to sound/direct_sound_samples/cries/golem.aif diff --git a/sound/direct_sound_samples/cry_gorebyss.aif b/sound/direct_sound_samples/cries/gorebyss.aif similarity index 100% rename from sound/direct_sound_samples/cry_gorebyss.aif rename to sound/direct_sound_samples/cries/gorebyss.aif diff --git a/sound/direct_sound_samples/cry_granbull.aif b/sound/direct_sound_samples/cries/granbull.aif similarity index 100% rename from sound/direct_sound_samples/cry_granbull.aif rename to sound/direct_sound_samples/cries/granbull.aif diff --git a/sound/direct_sound_samples/cry_graveler.aif b/sound/direct_sound_samples/cries/graveler.aif similarity index 100% rename from sound/direct_sound_samples/cry_graveler.aif rename to sound/direct_sound_samples/cries/graveler.aif diff --git a/sound/direct_sound_samples/cry_grimer.aif b/sound/direct_sound_samples/cries/grimer.aif similarity index 100% rename from sound/direct_sound_samples/cry_grimer.aif rename to sound/direct_sound_samples/cries/grimer.aif diff --git a/sound/direct_sound_samples/cry_groudon.aif b/sound/direct_sound_samples/cries/groudon.aif similarity index 100% rename from sound/direct_sound_samples/cry_groudon.aif rename to sound/direct_sound_samples/cries/groudon.aif diff --git a/sound/direct_sound_samples/cry_grovyle.aif b/sound/direct_sound_samples/cries/grovyle.aif similarity index 100% rename from sound/direct_sound_samples/cry_grovyle.aif rename to sound/direct_sound_samples/cries/grovyle.aif diff --git a/sound/direct_sound_samples/cry_growlithe.aif b/sound/direct_sound_samples/cries/growlithe.aif similarity index 100% rename from sound/direct_sound_samples/cry_growlithe.aif rename to sound/direct_sound_samples/cries/growlithe.aif diff --git a/sound/direct_sound_samples/cry_grumpig.aif b/sound/direct_sound_samples/cries/grumpig.aif similarity index 100% rename from sound/direct_sound_samples/cry_grumpig.aif rename to sound/direct_sound_samples/cries/grumpig.aif diff --git a/sound/direct_sound_samples/cry_gulpin.aif b/sound/direct_sound_samples/cries/gulpin.aif similarity index 100% rename from sound/direct_sound_samples/cry_gulpin.aif rename to sound/direct_sound_samples/cries/gulpin.aif diff --git a/sound/direct_sound_samples/cry_gyarados.aif b/sound/direct_sound_samples/cries/gyarados.aif similarity index 100% rename from sound/direct_sound_samples/cry_gyarados.aif rename to sound/direct_sound_samples/cries/gyarados.aif diff --git a/sound/direct_sound_samples/cry_hariyama.aif b/sound/direct_sound_samples/cries/hariyama.aif similarity index 100% rename from sound/direct_sound_samples/cry_hariyama.aif rename to sound/direct_sound_samples/cries/hariyama.aif diff --git a/sound/direct_sound_samples/cry_haunter.aif b/sound/direct_sound_samples/cries/haunter.aif similarity index 100% rename from sound/direct_sound_samples/cry_haunter.aif rename to sound/direct_sound_samples/cries/haunter.aif diff --git a/sound/direct_sound_samples/cry_heracross.aif b/sound/direct_sound_samples/cries/heracross.aif similarity index 100% rename from sound/direct_sound_samples/cry_heracross.aif rename to sound/direct_sound_samples/cries/heracross.aif diff --git a/sound/direct_sound_samples/cry_hitmonchan.aif b/sound/direct_sound_samples/cries/hitmonchan.aif similarity index 100% rename from sound/direct_sound_samples/cry_hitmonchan.aif rename to sound/direct_sound_samples/cries/hitmonchan.aif diff --git a/sound/direct_sound_samples/cry_hitmonlee.aif b/sound/direct_sound_samples/cries/hitmonlee.aif similarity index 100% rename from sound/direct_sound_samples/cry_hitmonlee.aif rename to sound/direct_sound_samples/cries/hitmonlee.aif diff --git a/sound/direct_sound_samples/cry_hitmontop.aif b/sound/direct_sound_samples/cries/hitmontop.aif similarity index 100% rename from sound/direct_sound_samples/cry_hitmontop.aif rename to sound/direct_sound_samples/cries/hitmontop.aif diff --git a/sound/direct_sound_samples/cry_ho_oh.aif b/sound/direct_sound_samples/cries/ho_oh.aif similarity index 100% rename from sound/direct_sound_samples/cry_ho_oh.aif rename to sound/direct_sound_samples/cries/ho_oh.aif diff --git a/sound/direct_sound_samples/cry_hoothoot.aif b/sound/direct_sound_samples/cries/hoothoot.aif similarity index 100% rename from sound/direct_sound_samples/cry_hoothoot.aif rename to sound/direct_sound_samples/cries/hoothoot.aif diff --git a/sound/direct_sound_samples/cry_hoppip.aif b/sound/direct_sound_samples/cries/hoppip.aif similarity index 100% rename from sound/direct_sound_samples/cry_hoppip.aif rename to sound/direct_sound_samples/cries/hoppip.aif diff --git a/sound/direct_sound_samples/cry_horsea.aif b/sound/direct_sound_samples/cries/horsea.aif similarity index 100% rename from sound/direct_sound_samples/cry_horsea.aif rename to sound/direct_sound_samples/cries/horsea.aif diff --git a/sound/direct_sound_samples/cry_houndoom.aif b/sound/direct_sound_samples/cries/houndoom.aif similarity index 100% rename from sound/direct_sound_samples/cry_houndoom.aif rename to sound/direct_sound_samples/cries/houndoom.aif diff --git a/sound/direct_sound_samples/cry_houndour.aif b/sound/direct_sound_samples/cries/houndour.aif similarity index 100% rename from sound/direct_sound_samples/cry_houndour.aif rename to sound/direct_sound_samples/cries/houndour.aif diff --git a/sound/direct_sound_samples/cry_huntail.aif b/sound/direct_sound_samples/cries/huntail.aif similarity index 100% rename from sound/direct_sound_samples/cry_huntail.aif rename to sound/direct_sound_samples/cries/huntail.aif diff --git a/sound/direct_sound_samples/cry_hypno.aif b/sound/direct_sound_samples/cries/hypno.aif similarity index 100% rename from sound/direct_sound_samples/cry_hypno.aif rename to sound/direct_sound_samples/cries/hypno.aif diff --git a/sound/direct_sound_samples/cry_igglybuff.aif b/sound/direct_sound_samples/cries/igglybuff.aif similarity index 100% rename from sound/direct_sound_samples/cry_igglybuff.aif rename to sound/direct_sound_samples/cries/igglybuff.aif diff --git a/sound/direct_sound_samples/cry_illumise.aif b/sound/direct_sound_samples/cries/illumise.aif similarity index 100% rename from sound/direct_sound_samples/cry_illumise.aif rename to sound/direct_sound_samples/cries/illumise.aif diff --git a/sound/direct_sound_samples/cry_ivysaur.aif b/sound/direct_sound_samples/cries/ivysaur.aif similarity index 100% rename from sound/direct_sound_samples/cry_ivysaur.aif rename to sound/direct_sound_samples/cries/ivysaur.aif diff --git a/sound/direct_sound_samples/cry_jigglypuff.aif b/sound/direct_sound_samples/cries/jigglypuff.aif similarity index 100% rename from sound/direct_sound_samples/cry_jigglypuff.aif rename to sound/direct_sound_samples/cries/jigglypuff.aif diff --git a/sound/direct_sound_samples/cry_jirachi.aif b/sound/direct_sound_samples/cries/jirachi.aif similarity index 100% rename from sound/direct_sound_samples/cry_jirachi.aif rename to sound/direct_sound_samples/cries/jirachi.aif diff --git a/sound/direct_sound_samples/cry_jolteon.aif b/sound/direct_sound_samples/cries/jolteon.aif similarity index 100% rename from sound/direct_sound_samples/cry_jolteon.aif rename to sound/direct_sound_samples/cries/jolteon.aif diff --git a/sound/direct_sound_samples/cry_jumpluff.aif b/sound/direct_sound_samples/cries/jumpluff.aif similarity index 100% rename from sound/direct_sound_samples/cry_jumpluff.aif rename to sound/direct_sound_samples/cries/jumpluff.aif diff --git a/sound/direct_sound_samples/cry_jynx.aif b/sound/direct_sound_samples/cries/jynx.aif similarity index 100% rename from sound/direct_sound_samples/cry_jynx.aif rename to sound/direct_sound_samples/cries/jynx.aif diff --git a/sound/direct_sound_samples/cry_kabuto.aif b/sound/direct_sound_samples/cries/kabuto.aif similarity index 100% rename from sound/direct_sound_samples/cry_kabuto.aif rename to sound/direct_sound_samples/cries/kabuto.aif diff --git a/sound/direct_sound_samples/cry_kabutops.aif b/sound/direct_sound_samples/cries/kabutops.aif similarity index 100% rename from sound/direct_sound_samples/cry_kabutops.aif rename to sound/direct_sound_samples/cries/kabutops.aif diff --git a/sound/direct_sound_samples/cry_kadabra.aif b/sound/direct_sound_samples/cries/kadabra.aif similarity index 100% rename from sound/direct_sound_samples/cry_kadabra.aif rename to sound/direct_sound_samples/cries/kadabra.aif diff --git a/sound/direct_sound_samples/cry_kakuna.aif b/sound/direct_sound_samples/cries/kakuna.aif similarity index 100% rename from sound/direct_sound_samples/cry_kakuna.aif rename to sound/direct_sound_samples/cries/kakuna.aif diff --git a/sound/direct_sound_samples/cry_kangaskhan.aif b/sound/direct_sound_samples/cries/kangaskhan.aif similarity index 100% rename from sound/direct_sound_samples/cry_kangaskhan.aif rename to sound/direct_sound_samples/cries/kangaskhan.aif diff --git a/sound/direct_sound_samples/cry_kecleon.aif b/sound/direct_sound_samples/cries/kecleon.aif similarity index 100% rename from sound/direct_sound_samples/cry_kecleon.aif rename to sound/direct_sound_samples/cries/kecleon.aif diff --git a/sound/direct_sound_samples/cry_kingdra.aif b/sound/direct_sound_samples/cries/kingdra.aif similarity index 100% rename from sound/direct_sound_samples/cry_kingdra.aif rename to sound/direct_sound_samples/cries/kingdra.aif diff --git a/sound/direct_sound_samples/cry_kingler.aif b/sound/direct_sound_samples/cries/kingler.aif similarity index 100% rename from sound/direct_sound_samples/cry_kingler.aif rename to sound/direct_sound_samples/cries/kingler.aif diff --git a/sound/direct_sound_samples/cry_kirlia.aif b/sound/direct_sound_samples/cries/kirlia.aif similarity index 100% rename from sound/direct_sound_samples/cry_kirlia.aif rename to sound/direct_sound_samples/cries/kirlia.aif diff --git a/sound/direct_sound_samples/cry_koffing.aif b/sound/direct_sound_samples/cries/koffing.aif similarity index 100% rename from sound/direct_sound_samples/cry_koffing.aif rename to sound/direct_sound_samples/cries/koffing.aif diff --git a/sound/direct_sound_samples/cry_krabby.aif b/sound/direct_sound_samples/cries/krabby.aif similarity index 100% rename from sound/direct_sound_samples/cry_krabby.aif rename to sound/direct_sound_samples/cries/krabby.aif diff --git a/sound/direct_sound_samples/cry_kyogre.aif b/sound/direct_sound_samples/cries/kyogre.aif similarity index 100% rename from sound/direct_sound_samples/cry_kyogre.aif rename to sound/direct_sound_samples/cries/kyogre.aif diff --git a/sound/direct_sound_samples/cry_lairon.aif b/sound/direct_sound_samples/cries/lairon.aif similarity index 100% rename from sound/direct_sound_samples/cry_lairon.aif rename to sound/direct_sound_samples/cries/lairon.aif diff --git a/sound/direct_sound_samples/cry_lanturn.aif b/sound/direct_sound_samples/cries/lanturn.aif similarity index 100% rename from sound/direct_sound_samples/cry_lanturn.aif rename to sound/direct_sound_samples/cries/lanturn.aif diff --git a/sound/direct_sound_samples/cry_lapras.aif b/sound/direct_sound_samples/cries/lapras.aif similarity index 100% rename from sound/direct_sound_samples/cry_lapras.aif rename to sound/direct_sound_samples/cries/lapras.aif diff --git a/sound/direct_sound_samples/cry_larvitar.aif b/sound/direct_sound_samples/cries/larvitar.aif similarity index 100% rename from sound/direct_sound_samples/cry_larvitar.aif rename to sound/direct_sound_samples/cries/larvitar.aif diff --git a/sound/direct_sound_samples/cry_latias.aif b/sound/direct_sound_samples/cries/latias.aif similarity index 100% rename from sound/direct_sound_samples/cry_latias.aif rename to sound/direct_sound_samples/cries/latias.aif diff --git a/sound/direct_sound_samples/cry_latios.aif b/sound/direct_sound_samples/cries/latios.aif similarity index 100% rename from sound/direct_sound_samples/cry_latios.aif rename to sound/direct_sound_samples/cries/latios.aif diff --git a/sound/direct_sound_samples/cry_ledian.aif b/sound/direct_sound_samples/cries/ledian.aif similarity index 100% rename from sound/direct_sound_samples/cry_ledian.aif rename to sound/direct_sound_samples/cries/ledian.aif diff --git a/sound/direct_sound_samples/cry_ledyba.aif b/sound/direct_sound_samples/cries/ledyba.aif similarity index 100% rename from sound/direct_sound_samples/cry_ledyba.aif rename to sound/direct_sound_samples/cries/ledyba.aif diff --git a/sound/direct_sound_samples/cry_lickitung.aif b/sound/direct_sound_samples/cries/lickitung.aif similarity index 100% rename from sound/direct_sound_samples/cry_lickitung.aif rename to sound/direct_sound_samples/cries/lickitung.aif diff --git a/sound/direct_sound_samples/cry_lileep.aif b/sound/direct_sound_samples/cries/lileep.aif similarity index 100% rename from sound/direct_sound_samples/cry_lileep.aif rename to sound/direct_sound_samples/cries/lileep.aif diff --git a/sound/direct_sound_samples/cry_linoone.aif b/sound/direct_sound_samples/cries/linoone.aif similarity index 100% rename from sound/direct_sound_samples/cry_linoone.aif rename to sound/direct_sound_samples/cries/linoone.aif diff --git a/sound/direct_sound_samples/cry_lombre.aif b/sound/direct_sound_samples/cries/lombre.aif similarity index 100% rename from sound/direct_sound_samples/cry_lombre.aif rename to sound/direct_sound_samples/cries/lombre.aif diff --git a/sound/direct_sound_samples/cry_lotad.aif b/sound/direct_sound_samples/cries/lotad.aif similarity index 100% rename from sound/direct_sound_samples/cry_lotad.aif rename to sound/direct_sound_samples/cries/lotad.aif diff --git a/sound/direct_sound_samples/cry_loudred.aif b/sound/direct_sound_samples/cries/loudred.aif similarity index 100% rename from sound/direct_sound_samples/cry_loudred.aif rename to sound/direct_sound_samples/cries/loudred.aif diff --git a/sound/direct_sound_samples/cry_ludicolo.aif b/sound/direct_sound_samples/cries/ludicolo.aif similarity index 100% rename from sound/direct_sound_samples/cry_ludicolo.aif rename to sound/direct_sound_samples/cries/ludicolo.aif diff --git a/sound/direct_sound_samples/cry_lugia.aif b/sound/direct_sound_samples/cries/lugia.aif similarity index 100% rename from sound/direct_sound_samples/cry_lugia.aif rename to sound/direct_sound_samples/cries/lugia.aif diff --git a/sound/direct_sound_samples/cry_lunatone.aif b/sound/direct_sound_samples/cries/lunatone.aif similarity index 100% rename from sound/direct_sound_samples/cry_lunatone.aif rename to sound/direct_sound_samples/cries/lunatone.aif diff --git a/sound/direct_sound_samples/cry_luvdisc.aif b/sound/direct_sound_samples/cries/luvdisc.aif similarity index 100% rename from sound/direct_sound_samples/cry_luvdisc.aif rename to sound/direct_sound_samples/cries/luvdisc.aif diff --git a/sound/direct_sound_samples/cry_machamp.aif b/sound/direct_sound_samples/cries/machamp.aif similarity index 100% rename from sound/direct_sound_samples/cry_machamp.aif rename to sound/direct_sound_samples/cries/machamp.aif diff --git a/sound/direct_sound_samples/cry_machoke.aif b/sound/direct_sound_samples/cries/machoke.aif similarity index 100% rename from sound/direct_sound_samples/cry_machoke.aif rename to sound/direct_sound_samples/cries/machoke.aif diff --git a/sound/direct_sound_samples/cry_machop.aif b/sound/direct_sound_samples/cries/machop.aif similarity index 100% rename from sound/direct_sound_samples/cry_machop.aif rename to sound/direct_sound_samples/cries/machop.aif diff --git a/sound/direct_sound_samples/cry_magby.aif b/sound/direct_sound_samples/cries/magby.aif similarity index 100% rename from sound/direct_sound_samples/cry_magby.aif rename to sound/direct_sound_samples/cries/magby.aif diff --git a/sound/direct_sound_samples/cry_magcargo.aif b/sound/direct_sound_samples/cries/magcargo.aif similarity index 100% rename from sound/direct_sound_samples/cry_magcargo.aif rename to sound/direct_sound_samples/cries/magcargo.aif diff --git a/sound/direct_sound_samples/cry_magikarp.aif b/sound/direct_sound_samples/cries/magikarp.aif similarity index 100% rename from sound/direct_sound_samples/cry_magikarp.aif rename to sound/direct_sound_samples/cries/magikarp.aif diff --git a/sound/direct_sound_samples/cry_magmar.aif b/sound/direct_sound_samples/cries/magmar.aif similarity index 100% rename from sound/direct_sound_samples/cry_magmar.aif rename to sound/direct_sound_samples/cries/magmar.aif diff --git a/sound/direct_sound_samples/cry_magnemite.aif b/sound/direct_sound_samples/cries/magnemite.aif similarity index 100% rename from sound/direct_sound_samples/cry_magnemite.aif rename to sound/direct_sound_samples/cries/magnemite.aif diff --git a/sound/direct_sound_samples/cry_magneton.aif b/sound/direct_sound_samples/cries/magneton.aif similarity index 100% rename from sound/direct_sound_samples/cry_magneton.aif rename to sound/direct_sound_samples/cries/magneton.aif diff --git a/sound/direct_sound_samples/cry_makuhita.aif b/sound/direct_sound_samples/cries/makuhita.aif similarity index 100% rename from sound/direct_sound_samples/cry_makuhita.aif rename to sound/direct_sound_samples/cries/makuhita.aif diff --git a/sound/direct_sound_samples/cry_manectric.aif b/sound/direct_sound_samples/cries/manectric.aif similarity index 100% rename from sound/direct_sound_samples/cry_manectric.aif rename to sound/direct_sound_samples/cries/manectric.aif diff --git a/sound/direct_sound_samples/cry_mankey.aif b/sound/direct_sound_samples/cries/mankey.aif similarity index 100% rename from sound/direct_sound_samples/cry_mankey.aif rename to sound/direct_sound_samples/cries/mankey.aif diff --git a/sound/direct_sound_samples/cry_mantine.aif b/sound/direct_sound_samples/cries/mantine.aif similarity index 100% rename from sound/direct_sound_samples/cry_mantine.aif rename to sound/direct_sound_samples/cries/mantine.aif diff --git a/sound/direct_sound_samples/cry_mareep.aif b/sound/direct_sound_samples/cries/mareep.aif similarity index 100% rename from sound/direct_sound_samples/cry_mareep.aif rename to sound/direct_sound_samples/cries/mareep.aif diff --git a/sound/direct_sound_samples/cry_marill.aif b/sound/direct_sound_samples/cries/marill.aif similarity index 100% rename from sound/direct_sound_samples/cry_marill.aif rename to sound/direct_sound_samples/cries/marill.aif diff --git a/sound/direct_sound_samples/cry_marowak.aif b/sound/direct_sound_samples/cries/marowak.aif similarity index 100% rename from sound/direct_sound_samples/cry_marowak.aif rename to sound/direct_sound_samples/cries/marowak.aif diff --git a/sound/direct_sound_samples/cry_marshtomp.aif b/sound/direct_sound_samples/cries/marshtomp.aif similarity index 100% rename from sound/direct_sound_samples/cry_marshtomp.aif rename to sound/direct_sound_samples/cries/marshtomp.aif diff --git a/sound/direct_sound_samples/cry_masquerain.aif b/sound/direct_sound_samples/cries/masquerain.aif similarity index 100% rename from sound/direct_sound_samples/cry_masquerain.aif rename to sound/direct_sound_samples/cries/masquerain.aif diff --git a/sound/direct_sound_samples/cry_mawile.aif b/sound/direct_sound_samples/cries/mawile.aif similarity index 100% rename from sound/direct_sound_samples/cry_mawile.aif rename to sound/direct_sound_samples/cries/mawile.aif diff --git a/sound/direct_sound_samples/cry_medicham.aif b/sound/direct_sound_samples/cries/medicham.aif similarity index 100% rename from sound/direct_sound_samples/cry_medicham.aif rename to sound/direct_sound_samples/cries/medicham.aif diff --git a/sound/direct_sound_samples/cry_meditite.aif b/sound/direct_sound_samples/cries/meditite.aif similarity index 100% rename from sound/direct_sound_samples/cry_meditite.aif rename to sound/direct_sound_samples/cries/meditite.aif diff --git a/sound/direct_sound_samples/cry_meganium.aif b/sound/direct_sound_samples/cries/meganium.aif similarity index 100% rename from sound/direct_sound_samples/cry_meganium.aif rename to sound/direct_sound_samples/cries/meganium.aif diff --git a/sound/direct_sound_samples/cry_meowth.aif b/sound/direct_sound_samples/cries/meowth.aif similarity index 100% rename from sound/direct_sound_samples/cry_meowth.aif rename to sound/direct_sound_samples/cries/meowth.aif diff --git a/sound/direct_sound_samples/cry_metagross.aif b/sound/direct_sound_samples/cries/metagross.aif similarity index 100% rename from sound/direct_sound_samples/cry_metagross.aif rename to sound/direct_sound_samples/cries/metagross.aif diff --git a/sound/direct_sound_samples/cry_metang.aif b/sound/direct_sound_samples/cries/metang.aif similarity index 100% rename from sound/direct_sound_samples/cry_metang.aif rename to sound/direct_sound_samples/cries/metang.aif diff --git a/sound/direct_sound_samples/cry_metapod.aif b/sound/direct_sound_samples/cries/metapod.aif similarity index 100% rename from sound/direct_sound_samples/cry_metapod.aif rename to sound/direct_sound_samples/cries/metapod.aif diff --git a/sound/direct_sound_samples/cry_mew.aif b/sound/direct_sound_samples/cries/mew.aif similarity index 100% rename from sound/direct_sound_samples/cry_mew.aif rename to sound/direct_sound_samples/cries/mew.aif diff --git a/sound/direct_sound_samples/cry_mewtwo.aif b/sound/direct_sound_samples/cries/mewtwo.aif similarity index 100% rename from sound/direct_sound_samples/cry_mewtwo.aif rename to sound/direct_sound_samples/cries/mewtwo.aif diff --git a/sound/direct_sound_samples/cry_mightyena.aif b/sound/direct_sound_samples/cries/mightyena.aif similarity index 100% rename from sound/direct_sound_samples/cry_mightyena.aif rename to sound/direct_sound_samples/cries/mightyena.aif diff --git a/sound/direct_sound_samples/cry_milotic.aif b/sound/direct_sound_samples/cries/milotic.aif similarity index 100% rename from sound/direct_sound_samples/cry_milotic.aif rename to sound/direct_sound_samples/cries/milotic.aif diff --git a/sound/direct_sound_samples/cry_miltank.aif b/sound/direct_sound_samples/cries/miltank.aif similarity index 100% rename from sound/direct_sound_samples/cry_miltank.aif rename to sound/direct_sound_samples/cries/miltank.aif diff --git a/sound/direct_sound_samples/cry_minun.aif b/sound/direct_sound_samples/cries/minun.aif similarity index 100% rename from sound/direct_sound_samples/cry_minun.aif rename to sound/direct_sound_samples/cries/minun.aif diff --git a/sound/direct_sound_samples/cry_misdreavus.aif b/sound/direct_sound_samples/cries/misdreavus.aif similarity index 100% rename from sound/direct_sound_samples/cry_misdreavus.aif rename to sound/direct_sound_samples/cries/misdreavus.aif diff --git a/sound/direct_sound_samples/cry_moltres.aif b/sound/direct_sound_samples/cries/moltres.aif similarity index 100% rename from sound/direct_sound_samples/cry_moltres.aif rename to sound/direct_sound_samples/cries/moltres.aif diff --git a/sound/direct_sound_samples/cry_mr_mime.aif b/sound/direct_sound_samples/cries/mr_mime.aif similarity index 100% rename from sound/direct_sound_samples/cry_mr_mime.aif rename to sound/direct_sound_samples/cries/mr_mime.aif diff --git a/sound/direct_sound_samples/cry_mudkip.aif b/sound/direct_sound_samples/cries/mudkip.aif similarity index 100% rename from sound/direct_sound_samples/cry_mudkip.aif rename to sound/direct_sound_samples/cries/mudkip.aif diff --git a/sound/direct_sound_samples/cry_muk.aif b/sound/direct_sound_samples/cries/muk.aif similarity index 100% rename from sound/direct_sound_samples/cry_muk.aif rename to sound/direct_sound_samples/cries/muk.aif diff --git a/sound/direct_sound_samples/cry_murkrow.aif b/sound/direct_sound_samples/cries/murkrow.aif similarity index 100% rename from sound/direct_sound_samples/cry_murkrow.aif rename to sound/direct_sound_samples/cries/murkrow.aif diff --git a/sound/direct_sound_samples/cry_natu.aif b/sound/direct_sound_samples/cries/natu.aif similarity index 100% rename from sound/direct_sound_samples/cry_natu.aif rename to sound/direct_sound_samples/cries/natu.aif diff --git a/sound/direct_sound_samples/cry_nidoking.aif b/sound/direct_sound_samples/cries/nidoking.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidoking.aif rename to sound/direct_sound_samples/cries/nidoking.aif diff --git a/sound/direct_sound_samples/cry_nidoqueen.aif b/sound/direct_sound_samples/cries/nidoqueen.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidoqueen.aif rename to sound/direct_sound_samples/cries/nidoqueen.aif diff --git a/sound/direct_sound_samples/cry_nidoran_f.aif b/sound/direct_sound_samples/cries/nidoran_f.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidoran_f.aif rename to sound/direct_sound_samples/cries/nidoran_f.aif diff --git a/sound/direct_sound_samples/cry_nidoran_m.aif b/sound/direct_sound_samples/cries/nidoran_m.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidoran_m.aif rename to sound/direct_sound_samples/cries/nidoran_m.aif diff --git a/sound/direct_sound_samples/cry_nidorina.aif b/sound/direct_sound_samples/cries/nidorina.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidorina.aif rename to sound/direct_sound_samples/cries/nidorina.aif diff --git a/sound/direct_sound_samples/cry_nidorino.aif b/sound/direct_sound_samples/cries/nidorino.aif similarity index 100% rename from sound/direct_sound_samples/cry_nidorino.aif rename to sound/direct_sound_samples/cries/nidorino.aif diff --git a/sound/direct_sound_samples/cry_nincada.aif b/sound/direct_sound_samples/cries/nincada.aif similarity index 100% rename from sound/direct_sound_samples/cry_nincada.aif rename to sound/direct_sound_samples/cries/nincada.aif diff --git a/sound/direct_sound_samples/cry_ninetales.aif b/sound/direct_sound_samples/cries/ninetales.aif similarity index 100% rename from sound/direct_sound_samples/cry_ninetales.aif rename to sound/direct_sound_samples/cries/ninetales.aif diff --git a/sound/direct_sound_samples/cry_ninjask.aif b/sound/direct_sound_samples/cries/ninjask.aif similarity index 100% rename from sound/direct_sound_samples/cry_ninjask.aif rename to sound/direct_sound_samples/cries/ninjask.aif diff --git a/sound/direct_sound_samples/cry_noctowl.aif b/sound/direct_sound_samples/cries/noctowl.aif similarity index 100% rename from sound/direct_sound_samples/cry_noctowl.aif rename to sound/direct_sound_samples/cries/noctowl.aif diff --git a/sound/direct_sound_samples/cry_nosepass.aif b/sound/direct_sound_samples/cries/nosepass.aif similarity index 100% rename from sound/direct_sound_samples/cry_nosepass.aif rename to sound/direct_sound_samples/cries/nosepass.aif diff --git a/sound/direct_sound_samples/cry_numel.aif b/sound/direct_sound_samples/cries/numel.aif similarity index 100% rename from sound/direct_sound_samples/cry_numel.aif rename to sound/direct_sound_samples/cries/numel.aif diff --git a/sound/direct_sound_samples/cry_nuzleaf.aif b/sound/direct_sound_samples/cries/nuzleaf.aif similarity index 100% rename from sound/direct_sound_samples/cry_nuzleaf.aif rename to sound/direct_sound_samples/cries/nuzleaf.aif diff --git a/sound/direct_sound_samples/cry_octillery.aif b/sound/direct_sound_samples/cries/octillery.aif similarity index 100% rename from sound/direct_sound_samples/cry_octillery.aif rename to sound/direct_sound_samples/cries/octillery.aif diff --git a/sound/direct_sound_samples/cry_oddish.aif b/sound/direct_sound_samples/cries/oddish.aif similarity index 100% rename from sound/direct_sound_samples/cry_oddish.aif rename to sound/direct_sound_samples/cries/oddish.aif diff --git a/sound/direct_sound_samples/cry_omanyte.aif b/sound/direct_sound_samples/cries/omanyte.aif similarity index 100% rename from sound/direct_sound_samples/cry_omanyte.aif rename to sound/direct_sound_samples/cries/omanyte.aif diff --git a/sound/direct_sound_samples/cry_omastar.aif b/sound/direct_sound_samples/cries/omastar.aif similarity index 100% rename from sound/direct_sound_samples/cry_omastar.aif rename to sound/direct_sound_samples/cries/omastar.aif diff --git a/sound/direct_sound_samples/cry_onix.aif b/sound/direct_sound_samples/cries/onix.aif similarity index 100% rename from sound/direct_sound_samples/cry_onix.aif rename to sound/direct_sound_samples/cries/onix.aif diff --git a/sound/direct_sound_samples/cry_paras.aif b/sound/direct_sound_samples/cries/paras.aif similarity index 100% rename from sound/direct_sound_samples/cry_paras.aif rename to sound/direct_sound_samples/cries/paras.aif diff --git a/sound/direct_sound_samples/cry_parasect.aif b/sound/direct_sound_samples/cries/parasect.aif similarity index 100% rename from sound/direct_sound_samples/cry_parasect.aif rename to sound/direct_sound_samples/cries/parasect.aif diff --git a/sound/direct_sound_samples/cry_pelipper.aif b/sound/direct_sound_samples/cries/pelipper.aif similarity index 100% rename from sound/direct_sound_samples/cry_pelipper.aif rename to sound/direct_sound_samples/cries/pelipper.aif diff --git a/sound/direct_sound_samples/cry_persian.aif b/sound/direct_sound_samples/cries/persian.aif similarity index 100% rename from sound/direct_sound_samples/cry_persian.aif rename to sound/direct_sound_samples/cries/persian.aif diff --git a/sound/direct_sound_samples/cry_phanpy.aif b/sound/direct_sound_samples/cries/phanpy.aif similarity index 100% rename from sound/direct_sound_samples/cry_phanpy.aif rename to sound/direct_sound_samples/cries/phanpy.aif diff --git a/sound/direct_sound_samples/cry_pichu.aif b/sound/direct_sound_samples/cries/pichu.aif similarity index 100% rename from sound/direct_sound_samples/cry_pichu.aif rename to sound/direct_sound_samples/cries/pichu.aif diff --git a/sound/direct_sound_samples/cry_pidgeot.aif b/sound/direct_sound_samples/cries/pidgeot.aif similarity index 100% rename from sound/direct_sound_samples/cry_pidgeot.aif rename to sound/direct_sound_samples/cries/pidgeot.aif diff --git a/sound/direct_sound_samples/cry_pidgeotto.aif b/sound/direct_sound_samples/cries/pidgeotto.aif similarity index 100% rename from sound/direct_sound_samples/cry_pidgeotto.aif rename to sound/direct_sound_samples/cries/pidgeotto.aif diff --git a/sound/direct_sound_samples/cry_pidgey.aif b/sound/direct_sound_samples/cries/pidgey.aif similarity index 100% rename from sound/direct_sound_samples/cry_pidgey.aif rename to sound/direct_sound_samples/cries/pidgey.aif diff --git a/sound/direct_sound_samples/cry_pikachu.aif b/sound/direct_sound_samples/cries/pikachu.aif similarity index 100% rename from sound/direct_sound_samples/cry_pikachu.aif rename to sound/direct_sound_samples/cries/pikachu.aif diff --git a/sound/direct_sound_samples/cry_piloswine.aif b/sound/direct_sound_samples/cries/piloswine.aif similarity index 100% rename from sound/direct_sound_samples/cry_piloswine.aif rename to sound/direct_sound_samples/cries/piloswine.aif diff --git a/sound/direct_sound_samples/cry_pineco.aif b/sound/direct_sound_samples/cries/pineco.aif similarity index 100% rename from sound/direct_sound_samples/cry_pineco.aif rename to sound/direct_sound_samples/cries/pineco.aif diff --git a/sound/direct_sound_samples/cry_pinsir.aif b/sound/direct_sound_samples/cries/pinsir.aif similarity index 100% rename from sound/direct_sound_samples/cry_pinsir.aif rename to sound/direct_sound_samples/cries/pinsir.aif diff --git a/sound/direct_sound_samples/cry_plusle.aif b/sound/direct_sound_samples/cries/plusle.aif similarity index 100% rename from sound/direct_sound_samples/cry_plusle.aif rename to sound/direct_sound_samples/cries/plusle.aif diff --git a/sound/direct_sound_samples/cry_politoed.aif b/sound/direct_sound_samples/cries/politoed.aif similarity index 100% rename from sound/direct_sound_samples/cry_politoed.aif rename to sound/direct_sound_samples/cries/politoed.aif diff --git a/sound/direct_sound_samples/cry_poliwag.aif b/sound/direct_sound_samples/cries/poliwag.aif similarity index 100% rename from sound/direct_sound_samples/cry_poliwag.aif rename to sound/direct_sound_samples/cries/poliwag.aif diff --git a/sound/direct_sound_samples/cry_poliwhirl.aif b/sound/direct_sound_samples/cries/poliwhirl.aif similarity index 100% rename from sound/direct_sound_samples/cry_poliwhirl.aif rename to sound/direct_sound_samples/cries/poliwhirl.aif diff --git a/sound/direct_sound_samples/cry_poliwrath.aif b/sound/direct_sound_samples/cries/poliwrath.aif similarity index 100% rename from sound/direct_sound_samples/cry_poliwrath.aif rename to sound/direct_sound_samples/cries/poliwrath.aif diff --git a/sound/direct_sound_samples/cry_ponyta.aif b/sound/direct_sound_samples/cries/ponyta.aif similarity index 100% rename from sound/direct_sound_samples/cry_ponyta.aif rename to sound/direct_sound_samples/cries/ponyta.aif diff --git a/sound/direct_sound_samples/cry_poochyena.aif b/sound/direct_sound_samples/cries/poochyena.aif similarity index 100% rename from sound/direct_sound_samples/cry_poochyena.aif rename to sound/direct_sound_samples/cries/poochyena.aif diff --git a/sound/direct_sound_samples/cry_porygon.aif b/sound/direct_sound_samples/cries/porygon.aif similarity index 100% rename from sound/direct_sound_samples/cry_porygon.aif rename to sound/direct_sound_samples/cries/porygon.aif diff --git a/sound/direct_sound_samples/cry_porygon2.aif b/sound/direct_sound_samples/cries/porygon2.aif similarity index 100% rename from sound/direct_sound_samples/cry_porygon2.aif rename to sound/direct_sound_samples/cries/porygon2.aif diff --git a/sound/direct_sound_samples/cry_primeape.aif b/sound/direct_sound_samples/cries/primeape.aif similarity index 100% rename from sound/direct_sound_samples/cry_primeape.aif rename to sound/direct_sound_samples/cries/primeape.aif diff --git a/sound/direct_sound_samples/cry_psyduck.aif b/sound/direct_sound_samples/cries/psyduck.aif similarity index 100% rename from sound/direct_sound_samples/cry_psyduck.aif rename to sound/direct_sound_samples/cries/psyduck.aif diff --git a/sound/direct_sound_samples/cry_pupitar.aif b/sound/direct_sound_samples/cries/pupitar.aif similarity index 100% rename from sound/direct_sound_samples/cry_pupitar.aif rename to sound/direct_sound_samples/cries/pupitar.aif diff --git a/sound/direct_sound_samples/cry_quagsire.aif b/sound/direct_sound_samples/cries/quagsire.aif similarity index 100% rename from sound/direct_sound_samples/cry_quagsire.aif rename to sound/direct_sound_samples/cries/quagsire.aif diff --git a/sound/direct_sound_samples/cry_quilava.aif b/sound/direct_sound_samples/cries/quilava.aif similarity index 100% rename from sound/direct_sound_samples/cry_quilava.aif rename to sound/direct_sound_samples/cries/quilava.aif diff --git a/sound/direct_sound_samples/cry_qwilfish.aif b/sound/direct_sound_samples/cries/qwilfish.aif similarity index 100% rename from sound/direct_sound_samples/cry_qwilfish.aif rename to sound/direct_sound_samples/cries/qwilfish.aif diff --git a/sound/direct_sound_samples/cry_raichu.aif b/sound/direct_sound_samples/cries/raichu.aif similarity index 100% rename from sound/direct_sound_samples/cry_raichu.aif rename to sound/direct_sound_samples/cries/raichu.aif diff --git a/sound/direct_sound_samples/cry_raikou.aif b/sound/direct_sound_samples/cries/raikou.aif similarity index 100% rename from sound/direct_sound_samples/cry_raikou.aif rename to sound/direct_sound_samples/cries/raikou.aif diff --git a/sound/direct_sound_samples/cry_ralts.aif b/sound/direct_sound_samples/cries/ralts.aif similarity index 100% rename from sound/direct_sound_samples/cry_ralts.aif rename to sound/direct_sound_samples/cries/ralts.aif diff --git a/sound/direct_sound_samples/cry_rapidash.aif b/sound/direct_sound_samples/cries/rapidash.aif similarity index 100% rename from sound/direct_sound_samples/cry_rapidash.aif rename to sound/direct_sound_samples/cries/rapidash.aif diff --git a/sound/direct_sound_samples/cry_raticate.aif b/sound/direct_sound_samples/cries/raticate.aif similarity index 100% rename from sound/direct_sound_samples/cry_raticate.aif rename to sound/direct_sound_samples/cries/raticate.aif diff --git a/sound/direct_sound_samples/cry_rattata.aif b/sound/direct_sound_samples/cries/rattata.aif similarity index 100% rename from sound/direct_sound_samples/cry_rattata.aif rename to sound/direct_sound_samples/cries/rattata.aif diff --git a/sound/direct_sound_samples/cry_rayquaza.aif b/sound/direct_sound_samples/cries/rayquaza.aif similarity index 100% rename from sound/direct_sound_samples/cry_rayquaza.aif rename to sound/direct_sound_samples/cries/rayquaza.aif diff --git a/sound/direct_sound_samples/cry_regice.aif b/sound/direct_sound_samples/cries/regice.aif similarity index 100% rename from sound/direct_sound_samples/cry_regice.aif rename to sound/direct_sound_samples/cries/regice.aif diff --git a/sound/direct_sound_samples/cry_regirock.aif b/sound/direct_sound_samples/cries/regirock.aif similarity index 100% rename from sound/direct_sound_samples/cry_regirock.aif rename to sound/direct_sound_samples/cries/regirock.aif diff --git a/sound/direct_sound_samples/cry_registeel.aif b/sound/direct_sound_samples/cries/registeel.aif similarity index 100% rename from sound/direct_sound_samples/cry_registeel.aif rename to sound/direct_sound_samples/cries/registeel.aif diff --git a/sound/direct_sound_samples/cry_relicanth.aif b/sound/direct_sound_samples/cries/relicanth.aif similarity index 100% rename from sound/direct_sound_samples/cry_relicanth.aif rename to sound/direct_sound_samples/cries/relicanth.aif diff --git a/sound/direct_sound_samples/cry_remoraid.aif b/sound/direct_sound_samples/cries/remoraid.aif similarity index 100% rename from sound/direct_sound_samples/cry_remoraid.aif rename to sound/direct_sound_samples/cries/remoraid.aif diff --git a/sound/direct_sound_samples/cry_rhydon.aif b/sound/direct_sound_samples/cries/rhydon.aif similarity index 100% rename from sound/direct_sound_samples/cry_rhydon.aif rename to sound/direct_sound_samples/cries/rhydon.aif diff --git a/sound/direct_sound_samples/cry_rhyhorn.aif b/sound/direct_sound_samples/cries/rhyhorn.aif similarity index 100% rename from sound/direct_sound_samples/cry_rhyhorn.aif rename to sound/direct_sound_samples/cries/rhyhorn.aif diff --git a/sound/direct_sound_samples/cry_roselia.aif b/sound/direct_sound_samples/cries/roselia.aif similarity index 100% rename from sound/direct_sound_samples/cry_roselia.aif rename to sound/direct_sound_samples/cries/roselia.aif diff --git a/sound/direct_sound_samples/cry_sableye.aif b/sound/direct_sound_samples/cries/sableye.aif similarity index 100% rename from sound/direct_sound_samples/cry_sableye.aif rename to sound/direct_sound_samples/cries/sableye.aif diff --git a/sound/direct_sound_samples/cry_salamence.aif b/sound/direct_sound_samples/cries/salamence.aif similarity index 100% rename from sound/direct_sound_samples/cry_salamence.aif rename to sound/direct_sound_samples/cries/salamence.aif diff --git a/sound/direct_sound_samples/cry_sandshrew.aif b/sound/direct_sound_samples/cries/sandshrew.aif similarity index 100% rename from sound/direct_sound_samples/cry_sandshrew.aif rename to sound/direct_sound_samples/cries/sandshrew.aif diff --git a/sound/direct_sound_samples/cry_sandslash.aif b/sound/direct_sound_samples/cries/sandslash.aif similarity index 100% rename from sound/direct_sound_samples/cry_sandslash.aif rename to sound/direct_sound_samples/cries/sandslash.aif diff --git a/sound/direct_sound_samples/cry_sceptile.aif b/sound/direct_sound_samples/cries/sceptile.aif similarity index 100% rename from sound/direct_sound_samples/cry_sceptile.aif rename to sound/direct_sound_samples/cries/sceptile.aif diff --git a/sound/direct_sound_samples/cry_scizor.aif b/sound/direct_sound_samples/cries/scizor.aif similarity index 100% rename from sound/direct_sound_samples/cry_scizor.aif rename to sound/direct_sound_samples/cries/scizor.aif diff --git a/sound/direct_sound_samples/cry_scyther.aif b/sound/direct_sound_samples/cries/scyther.aif similarity index 100% rename from sound/direct_sound_samples/cry_scyther.aif rename to sound/direct_sound_samples/cries/scyther.aif diff --git a/sound/direct_sound_samples/cry_seadra.aif b/sound/direct_sound_samples/cries/seadra.aif similarity index 100% rename from sound/direct_sound_samples/cry_seadra.aif rename to sound/direct_sound_samples/cries/seadra.aif diff --git a/sound/direct_sound_samples/cry_seaking.aif b/sound/direct_sound_samples/cries/seaking.aif similarity index 100% rename from sound/direct_sound_samples/cry_seaking.aif rename to sound/direct_sound_samples/cries/seaking.aif diff --git a/sound/direct_sound_samples/cry_sealeo.aif b/sound/direct_sound_samples/cries/sealeo.aif similarity index 100% rename from sound/direct_sound_samples/cry_sealeo.aif rename to sound/direct_sound_samples/cries/sealeo.aif diff --git a/sound/direct_sound_samples/cry_seedot.aif b/sound/direct_sound_samples/cries/seedot.aif similarity index 100% rename from sound/direct_sound_samples/cry_seedot.aif rename to sound/direct_sound_samples/cries/seedot.aif diff --git a/sound/direct_sound_samples/cry_seel.aif b/sound/direct_sound_samples/cries/seel.aif similarity index 100% rename from sound/direct_sound_samples/cry_seel.aif rename to sound/direct_sound_samples/cries/seel.aif diff --git a/sound/direct_sound_samples/cry_sentret.aif b/sound/direct_sound_samples/cries/sentret.aif similarity index 100% rename from sound/direct_sound_samples/cry_sentret.aif rename to sound/direct_sound_samples/cries/sentret.aif diff --git a/sound/direct_sound_samples/cry_seviper.aif b/sound/direct_sound_samples/cries/seviper.aif similarity index 100% rename from sound/direct_sound_samples/cry_seviper.aif rename to sound/direct_sound_samples/cries/seviper.aif diff --git a/sound/direct_sound_samples/cry_sharpedo.aif b/sound/direct_sound_samples/cries/sharpedo.aif similarity index 100% rename from sound/direct_sound_samples/cry_sharpedo.aif rename to sound/direct_sound_samples/cries/sharpedo.aif diff --git a/sound/direct_sound_samples/cry_shedinja.aif b/sound/direct_sound_samples/cries/shedinja.aif similarity index 100% rename from sound/direct_sound_samples/cry_shedinja.aif rename to sound/direct_sound_samples/cries/shedinja.aif diff --git a/sound/direct_sound_samples/cry_shelgon.aif b/sound/direct_sound_samples/cries/shelgon.aif similarity index 100% rename from sound/direct_sound_samples/cry_shelgon.aif rename to sound/direct_sound_samples/cries/shelgon.aif diff --git a/sound/direct_sound_samples/cry_shellder.aif b/sound/direct_sound_samples/cries/shellder.aif similarity index 100% rename from sound/direct_sound_samples/cry_shellder.aif rename to sound/direct_sound_samples/cries/shellder.aif diff --git a/sound/direct_sound_samples/cry_shiftry.aif b/sound/direct_sound_samples/cries/shiftry.aif similarity index 100% rename from sound/direct_sound_samples/cry_shiftry.aif rename to sound/direct_sound_samples/cries/shiftry.aif diff --git a/sound/direct_sound_samples/cry_shroomish.aif b/sound/direct_sound_samples/cries/shroomish.aif similarity index 100% rename from sound/direct_sound_samples/cry_shroomish.aif rename to sound/direct_sound_samples/cries/shroomish.aif diff --git a/sound/direct_sound_samples/cry_shuckle.aif b/sound/direct_sound_samples/cries/shuckle.aif similarity index 100% rename from sound/direct_sound_samples/cry_shuckle.aif rename to sound/direct_sound_samples/cries/shuckle.aif diff --git a/sound/direct_sound_samples/cry_shuppet.aif b/sound/direct_sound_samples/cries/shuppet.aif similarity index 100% rename from sound/direct_sound_samples/cry_shuppet.aif rename to sound/direct_sound_samples/cries/shuppet.aif diff --git a/sound/direct_sound_samples/cry_silcoon.aif b/sound/direct_sound_samples/cries/silcoon.aif similarity index 100% rename from sound/direct_sound_samples/cry_silcoon.aif rename to sound/direct_sound_samples/cries/silcoon.aif diff --git a/sound/direct_sound_samples/cry_skarmory.aif b/sound/direct_sound_samples/cries/skarmory.aif similarity index 100% rename from sound/direct_sound_samples/cry_skarmory.aif rename to sound/direct_sound_samples/cries/skarmory.aif diff --git a/sound/direct_sound_samples/cry_skiploom.aif b/sound/direct_sound_samples/cries/skiploom.aif similarity index 100% rename from sound/direct_sound_samples/cry_skiploom.aif rename to sound/direct_sound_samples/cries/skiploom.aif diff --git a/sound/direct_sound_samples/cry_skitty.aif b/sound/direct_sound_samples/cries/skitty.aif similarity index 100% rename from sound/direct_sound_samples/cry_skitty.aif rename to sound/direct_sound_samples/cries/skitty.aif diff --git a/sound/direct_sound_samples/cry_slaking.aif b/sound/direct_sound_samples/cries/slaking.aif similarity index 100% rename from sound/direct_sound_samples/cry_slaking.aif rename to sound/direct_sound_samples/cries/slaking.aif diff --git a/sound/direct_sound_samples/cry_slakoth.aif b/sound/direct_sound_samples/cries/slakoth.aif similarity index 100% rename from sound/direct_sound_samples/cry_slakoth.aif rename to sound/direct_sound_samples/cries/slakoth.aif diff --git a/sound/direct_sound_samples/cry_slowbro.aif b/sound/direct_sound_samples/cries/slowbro.aif similarity index 100% rename from sound/direct_sound_samples/cry_slowbro.aif rename to sound/direct_sound_samples/cries/slowbro.aif diff --git a/sound/direct_sound_samples/cry_slowking.aif b/sound/direct_sound_samples/cries/slowking.aif similarity index 100% rename from sound/direct_sound_samples/cry_slowking.aif rename to sound/direct_sound_samples/cries/slowking.aif diff --git a/sound/direct_sound_samples/cry_slowpoke.aif b/sound/direct_sound_samples/cries/slowpoke.aif similarity index 100% rename from sound/direct_sound_samples/cry_slowpoke.aif rename to sound/direct_sound_samples/cries/slowpoke.aif diff --git a/sound/direct_sound_samples/cry_slugma.aif b/sound/direct_sound_samples/cries/slugma.aif similarity index 100% rename from sound/direct_sound_samples/cry_slugma.aif rename to sound/direct_sound_samples/cries/slugma.aif diff --git a/sound/direct_sound_samples/cry_smeargle.aif b/sound/direct_sound_samples/cries/smeargle.aif similarity index 100% rename from sound/direct_sound_samples/cry_smeargle.aif rename to sound/direct_sound_samples/cries/smeargle.aif diff --git a/sound/direct_sound_samples/cry_smoochum.aif b/sound/direct_sound_samples/cries/smoochum.aif similarity index 100% rename from sound/direct_sound_samples/cry_smoochum.aif rename to sound/direct_sound_samples/cries/smoochum.aif diff --git a/sound/direct_sound_samples/cry_sneasel.aif b/sound/direct_sound_samples/cries/sneasel.aif similarity index 100% rename from sound/direct_sound_samples/cry_sneasel.aif rename to sound/direct_sound_samples/cries/sneasel.aif diff --git a/sound/direct_sound_samples/cry_snorlax.aif b/sound/direct_sound_samples/cries/snorlax.aif similarity index 100% rename from sound/direct_sound_samples/cry_snorlax.aif rename to sound/direct_sound_samples/cries/snorlax.aif diff --git a/sound/direct_sound_samples/cry_snorunt.aif b/sound/direct_sound_samples/cries/snorunt.aif similarity index 100% rename from sound/direct_sound_samples/cry_snorunt.aif rename to sound/direct_sound_samples/cries/snorunt.aif diff --git a/sound/direct_sound_samples/cry_snubbull.aif b/sound/direct_sound_samples/cries/snubbull.aif similarity index 100% rename from sound/direct_sound_samples/cry_snubbull.aif rename to sound/direct_sound_samples/cries/snubbull.aif diff --git a/sound/direct_sound_samples/cry_solrock.aif b/sound/direct_sound_samples/cries/solrock.aif similarity index 100% rename from sound/direct_sound_samples/cry_solrock.aif rename to sound/direct_sound_samples/cries/solrock.aif diff --git a/sound/direct_sound_samples/cry_spearow.aif b/sound/direct_sound_samples/cries/spearow.aif similarity index 100% rename from sound/direct_sound_samples/cry_spearow.aif rename to sound/direct_sound_samples/cries/spearow.aif diff --git a/sound/direct_sound_samples/cry_spheal.aif b/sound/direct_sound_samples/cries/spheal.aif similarity index 100% rename from sound/direct_sound_samples/cry_spheal.aif rename to sound/direct_sound_samples/cries/spheal.aif diff --git a/sound/direct_sound_samples/cry_spinarak.aif b/sound/direct_sound_samples/cries/spinarak.aif similarity index 100% rename from sound/direct_sound_samples/cry_spinarak.aif rename to sound/direct_sound_samples/cries/spinarak.aif diff --git a/sound/direct_sound_samples/cry_spinda.aif b/sound/direct_sound_samples/cries/spinda.aif similarity index 100% rename from sound/direct_sound_samples/cry_spinda.aif rename to sound/direct_sound_samples/cries/spinda.aif diff --git a/sound/direct_sound_samples/cry_spoink.aif b/sound/direct_sound_samples/cries/spoink.aif similarity index 100% rename from sound/direct_sound_samples/cry_spoink.aif rename to sound/direct_sound_samples/cries/spoink.aif diff --git a/sound/direct_sound_samples/cry_squirtle.aif b/sound/direct_sound_samples/cries/squirtle.aif similarity index 100% rename from sound/direct_sound_samples/cry_squirtle.aif rename to sound/direct_sound_samples/cries/squirtle.aif diff --git a/sound/direct_sound_samples/cry_stantler.aif b/sound/direct_sound_samples/cries/stantler.aif similarity index 100% rename from sound/direct_sound_samples/cry_stantler.aif rename to sound/direct_sound_samples/cries/stantler.aif diff --git a/sound/direct_sound_samples/cry_starmie.aif b/sound/direct_sound_samples/cries/starmie.aif similarity index 100% rename from sound/direct_sound_samples/cry_starmie.aif rename to sound/direct_sound_samples/cries/starmie.aif diff --git a/sound/direct_sound_samples/cry_staryu.aif b/sound/direct_sound_samples/cries/staryu.aif similarity index 100% rename from sound/direct_sound_samples/cry_staryu.aif rename to sound/direct_sound_samples/cries/staryu.aif diff --git a/sound/direct_sound_samples/cry_steelix.aif b/sound/direct_sound_samples/cries/steelix.aif similarity index 100% rename from sound/direct_sound_samples/cry_steelix.aif rename to sound/direct_sound_samples/cries/steelix.aif diff --git a/sound/direct_sound_samples/cry_sudowoodo.aif b/sound/direct_sound_samples/cries/sudowoodo.aif similarity index 100% rename from sound/direct_sound_samples/cry_sudowoodo.aif rename to sound/direct_sound_samples/cries/sudowoodo.aif diff --git a/sound/direct_sound_samples/cry_suicune.aif b/sound/direct_sound_samples/cries/suicune.aif similarity index 100% rename from sound/direct_sound_samples/cry_suicune.aif rename to sound/direct_sound_samples/cries/suicune.aif diff --git a/sound/direct_sound_samples/cry_sunflora.aif b/sound/direct_sound_samples/cries/sunflora.aif similarity index 100% rename from sound/direct_sound_samples/cry_sunflora.aif rename to sound/direct_sound_samples/cries/sunflora.aif diff --git a/sound/direct_sound_samples/cry_sunkern.aif b/sound/direct_sound_samples/cries/sunkern.aif similarity index 100% rename from sound/direct_sound_samples/cry_sunkern.aif rename to sound/direct_sound_samples/cries/sunkern.aif diff --git a/sound/direct_sound_samples/cry_surskit.aif b/sound/direct_sound_samples/cries/surskit.aif similarity index 100% rename from sound/direct_sound_samples/cry_surskit.aif rename to sound/direct_sound_samples/cries/surskit.aif diff --git a/sound/direct_sound_samples/cry_swablu.aif b/sound/direct_sound_samples/cries/swablu.aif similarity index 100% rename from sound/direct_sound_samples/cry_swablu.aif rename to sound/direct_sound_samples/cries/swablu.aif diff --git a/sound/direct_sound_samples/cry_swalot.aif b/sound/direct_sound_samples/cries/swalot.aif similarity index 100% rename from sound/direct_sound_samples/cry_swalot.aif rename to sound/direct_sound_samples/cries/swalot.aif diff --git a/sound/direct_sound_samples/cry_swampert.aif b/sound/direct_sound_samples/cries/swampert.aif similarity index 100% rename from sound/direct_sound_samples/cry_swampert.aif rename to sound/direct_sound_samples/cries/swampert.aif diff --git a/sound/direct_sound_samples/cry_swellow.aif b/sound/direct_sound_samples/cries/swellow.aif similarity index 100% rename from sound/direct_sound_samples/cry_swellow.aif rename to sound/direct_sound_samples/cries/swellow.aif diff --git a/sound/direct_sound_samples/cry_swinub.aif b/sound/direct_sound_samples/cries/swinub.aif similarity index 100% rename from sound/direct_sound_samples/cry_swinub.aif rename to sound/direct_sound_samples/cries/swinub.aif diff --git a/sound/direct_sound_samples/cry_taillow.aif b/sound/direct_sound_samples/cries/taillow.aif similarity index 100% rename from sound/direct_sound_samples/cry_taillow.aif rename to sound/direct_sound_samples/cries/taillow.aif diff --git a/sound/direct_sound_samples/cry_tangela.aif b/sound/direct_sound_samples/cries/tangela.aif similarity index 100% rename from sound/direct_sound_samples/cry_tangela.aif rename to sound/direct_sound_samples/cries/tangela.aif diff --git a/sound/direct_sound_samples/cry_tauros.aif b/sound/direct_sound_samples/cries/tauros.aif similarity index 100% rename from sound/direct_sound_samples/cry_tauros.aif rename to sound/direct_sound_samples/cries/tauros.aif diff --git a/sound/direct_sound_samples/cry_teddiursa.aif b/sound/direct_sound_samples/cries/teddiursa.aif similarity index 100% rename from sound/direct_sound_samples/cry_teddiursa.aif rename to sound/direct_sound_samples/cries/teddiursa.aif diff --git a/sound/direct_sound_samples/cry_tentacool.aif b/sound/direct_sound_samples/cries/tentacool.aif similarity index 100% rename from sound/direct_sound_samples/cry_tentacool.aif rename to sound/direct_sound_samples/cries/tentacool.aif diff --git a/sound/direct_sound_samples/cry_tentacruel.aif b/sound/direct_sound_samples/cries/tentacruel.aif similarity index 100% rename from sound/direct_sound_samples/cry_tentacruel.aif rename to sound/direct_sound_samples/cries/tentacruel.aif diff --git a/sound/direct_sound_samples/cry_togepi.aif b/sound/direct_sound_samples/cries/togepi.aif similarity index 100% rename from sound/direct_sound_samples/cry_togepi.aif rename to sound/direct_sound_samples/cries/togepi.aif diff --git a/sound/direct_sound_samples/cry_togetic.aif b/sound/direct_sound_samples/cries/togetic.aif similarity index 100% rename from sound/direct_sound_samples/cry_togetic.aif rename to sound/direct_sound_samples/cries/togetic.aif diff --git a/sound/direct_sound_samples/cry_torchic.aif b/sound/direct_sound_samples/cries/torchic.aif similarity index 100% rename from sound/direct_sound_samples/cry_torchic.aif rename to sound/direct_sound_samples/cries/torchic.aif diff --git a/sound/direct_sound_samples/cry_torkoal.aif b/sound/direct_sound_samples/cries/torkoal.aif similarity index 100% rename from sound/direct_sound_samples/cry_torkoal.aif rename to sound/direct_sound_samples/cries/torkoal.aif diff --git a/sound/direct_sound_samples/cry_totodile.aif b/sound/direct_sound_samples/cries/totodile.aif similarity index 100% rename from sound/direct_sound_samples/cry_totodile.aif rename to sound/direct_sound_samples/cries/totodile.aif diff --git a/sound/direct_sound_samples/cry_trapinch.aif b/sound/direct_sound_samples/cries/trapinch.aif similarity index 100% rename from sound/direct_sound_samples/cry_trapinch.aif rename to sound/direct_sound_samples/cries/trapinch.aif diff --git a/sound/direct_sound_samples/cry_treecko.aif b/sound/direct_sound_samples/cries/treecko.aif similarity index 100% rename from sound/direct_sound_samples/cry_treecko.aif rename to sound/direct_sound_samples/cries/treecko.aif diff --git a/sound/direct_sound_samples/cry_tropius.aif b/sound/direct_sound_samples/cries/tropius.aif similarity index 100% rename from sound/direct_sound_samples/cry_tropius.aif rename to sound/direct_sound_samples/cries/tropius.aif diff --git a/sound/direct_sound_samples/cry_typhlosion.aif b/sound/direct_sound_samples/cries/typhlosion.aif similarity index 100% rename from sound/direct_sound_samples/cry_typhlosion.aif rename to sound/direct_sound_samples/cries/typhlosion.aif diff --git a/sound/direct_sound_samples/cry_tyranitar.aif b/sound/direct_sound_samples/cries/tyranitar.aif similarity index 100% rename from sound/direct_sound_samples/cry_tyranitar.aif rename to sound/direct_sound_samples/cries/tyranitar.aif diff --git a/sound/direct_sound_samples/cry_tyrogue.aif b/sound/direct_sound_samples/cries/tyrogue.aif similarity index 100% rename from sound/direct_sound_samples/cry_tyrogue.aif rename to sound/direct_sound_samples/cries/tyrogue.aif diff --git a/sound/direct_sound_samples/cry_umbreon.aif b/sound/direct_sound_samples/cries/umbreon.aif similarity index 100% rename from sound/direct_sound_samples/cry_umbreon.aif rename to sound/direct_sound_samples/cries/umbreon.aif diff --git a/sound/direct_sound_samples/cry_unown.aif b/sound/direct_sound_samples/cries/unown.aif similarity index 100% rename from sound/direct_sound_samples/cry_unown.aif rename to sound/direct_sound_samples/cries/unown.aif diff --git a/sound/direct_sound_samples/cry_unused_265.aif b/sound/direct_sound_samples/cries/unused_265.aif similarity index 100% rename from sound/direct_sound_samples/cry_unused_265.aif rename to sound/direct_sound_samples/cries/unused_265.aif diff --git a/sound/direct_sound_samples/cry_unused_268.aif b/sound/direct_sound_samples/cries/unused_268.aif similarity index 100% rename from sound/direct_sound_samples/cry_unused_268.aif rename to sound/direct_sound_samples/cries/unused_268.aif diff --git a/sound/direct_sound_samples/cry_ursaring.aif b/sound/direct_sound_samples/cries/ursaring.aif similarity index 100% rename from sound/direct_sound_samples/cry_ursaring.aif rename to sound/direct_sound_samples/cries/ursaring.aif diff --git a/sound/direct_sound_samples/cry_vaporeon.aif b/sound/direct_sound_samples/cries/vaporeon.aif similarity index 100% rename from sound/direct_sound_samples/cry_vaporeon.aif rename to sound/direct_sound_samples/cries/vaporeon.aif diff --git a/sound/direct_sound_samples/cry_venomoth.aif b/sound/direct_sound_samples/cries/venomoth.aif similarity index 100% rename from sound/direct_sound_samples/cry_venomoth.aif rename to sound/direct_sound_samples/cries/venomoth.aif diff --git a/sound/direct_sound_samples/cry_venonat.aif b/sound/direct_sound_samples/cries/venonat.aif similarity index 100% rename from sound/direct_sound_samples/cry_venonat.aif rename to sound/direct_sound_samples/cries/venonat.aif diff --git a/sound/direct_sound_samples/cry_venusaur.aif b/sound/direct_sound_samples/cries/venusaur.aif similarity index 100% rename from sound/direct_sound_samples/cry_venusaur.aif rename to sound/direct_sound_samples/cries/venusaur.aif diff --git a/sound/direct_sound_samples/cry_vibrava.aif b/sound/direct_sound_samples/cries/vibrava.aif similarity index 100% rename from sound/direct_sound_samples/cry_vibrava.aif rename to sound/direct_sound_samples/cries/vibrava.aif diff --git a/sound/direct_sound_samples/cry_victreebel.aif b/sound/direct_sound_samples/cries/victreebel.aif similarity index 100% rename from sound/direct_sound_samples/cry_victreebel.aif rename to sound/direct_sound_samples/cries/victreebel.aif diff --git a/sound/direct_sound_samples/cry_vigoroth.aif b/sound/direct_sound_samples/cries/vigoroth.aif similarity index 100% rename from sound/direct_sound_samples/cry_vigoroth.aif rename to sound/direct_sound_samples/cries/vigoroth.aif diff --git a/sound/direct_sound_samples/cry_vileplume.aif b/sound/direct_sound_samples/cries/vileplume.aif similarity index 100% rename from sound/direct_sound_samples/cry_vileplume.aif rename to sound/direct_sound_samples/cries/vileplume.aif diff --git a/sound/direct_sound_samples/cry_volbeat.aif b/sound/direct_sound_samples/cries/volbeat.aif similarity index 100% rename from sound/direct_sound_samples/cry_volbeat.aif rename to sound/direct_sound_samples/cries/volbeat.aif diff --git a/sound/direct_sound_samples/cry_voltorb.aif b/sound/direct_sound_samples/cries/voltorb.aif similarity index 100% rename from sound/direct_sound_samples/cry_voltorb.aif rename to sound/direct_sound_samples/cries/voltorb.aif diff --git a/sound/direct_sound_samples/cry_vulpix.aif b/sound/direct_sound_samples/cries/vulpix.aif similarity index 100% rename from sound/direct_sound_samples/cry_vulpix.aif rename to sound/direct_sound_samples/cries/vulpix.aif diff --git a/sound/direct_sound_samples/cry_wailmer.aif b/sound/direct_sound_samples/cries/wailmer.aif similarity index 100% rename from sound/direct_sound_samples/cry_wailmer.aif rename to sound/direct_sound_samples/cries/wailmer.aif diff --git a/sound/direct_sound_samples/cry_wailord.aif b/sound/direct_sound_samples/cries/wailord.aif similarity index 100% rename from sound/direct_sound_samples/cry_wailord.aif rename to sound/direct_sound_samples/cries/wailord.aif diff --git a/sound/direct_sound_samples/cry_walrein.aif b/sound/direct_sound_samples/cries/walrein.aif similarity index 100% rename from sound/direct_sound_samples/cry_walrein.aif rename to sound/direct_sound_samples/cries/walrein.aif diff --git a/sound/direct_sound_samples/cry_wartortle.aif b/sound/direct_sound_samples/cries/wartortle.aif similarity index 100% rename from sound/direct_sound_samples/cry_wartortle.aif rename to sound/direct_sound_samples/cries/wartortle.aif diff --git a/sound/direct_sound_samples/cry_weedle.aif b/sound/direct_sound_samples/cries/weedle.aif similarity index 100% rename from sound/direct_sound_samples/cry_weedle.aif rename to sound/direct_sound_samples/cries/weedle.aif diff --git a/sound/direct_sound_samples/cry_weepinbell.aif b/sound/direct_sound_samples/cries/weepinbell.aif similarity index 100% rename from sound/direct_sound_samples/cry_weepinbell.aif rename to sound/direct_sound_samples/cries/weepinbell.aif diff --git a/sound/direct_sound_samples/cry_weezing.aif b/sound/direct_sound_samples/cries/weezing.aif similarity index 100% rename from sound/direct_sound_samples/cry_weezing.aif rename to sound/direct_sound_samples/cries/weezing.aif diff --git a/sound/direct_sound_samples/cry_whiscash.aif b/sound/direct_sound_samples/cries/whiscash.aif similarity index 100% rename from sound/direct_sound_samples/cry_whiscash.aif rename to sound/direct_sound_samples/cries/whiscash.aif diff --git a/sound/direct_sound_samples/cry_whismur.aif b/sound/direct_sound_samples/cries/whismur.aif similarity index 100% rename from sound/direct_sound_samples/cry_whismur.aif rename to sound/direct_sound_samples/cries/whismur.aif diff --git a/sound/direct_sound_samples/cry_wigglytuff.aif b/sound/direct_sound_samples/cries/wigglytuff.aif similarity index 100% rename from sound/direct_sound_samples/cry_wigglytuff.aif rename to sound/direct_sound_samples/cries/wigglytuff.aif diff --git a/sound/direct_sound_samples/cry_wingull.aif b/sound/direct_sound_samples/cries/wingull.aif similarity index 100% rename from sound/direct_sound_samples/cry_wingull.aif rename to sound/direct_sound_samples/cries/wingull.aif diff --git a/sound/direct_sound_samples/cry_wobbuffet.aif b/sound/direct_sound_samples/cries/wobbuffet.aif similarity index 100% rename from sound/direct_sound_samples/cry_wobbuffet.aif rename to sound/direct_sound_samples/cries/wobbuffet.aif diff --git a/sound/direct_sound_samples/cry_wooper.aif b/sound/direct_sound_samples/cries/wooper.aif similarity index 100% rename from sound/direct_sound_samples/cry_wooper.aif rename to sound/direct_sound_samples/cries/wooper.aif diff --git a/sound/direct_sound_samples/cry_wurmple.aif b/sound/direct_sound_samples/cries/wurmple.aif similarity index 100% rename from sound/direct_sound_samples/cry_wurmple.aif rename to sound/direct_sound_samples/cries/wurmple.aif diff --git a/sound/direct_sound_samples/cry_wynaut.aif b/sound/direct_sound_samples/cries/wynaut.aif similarity index 100% rename from sound/direct_sound_samples/cry_wynaut.aif rename to sound/direct_sound_samples/cries/wynaut.aif diff --git a/sound/direct_sound_samples/cry_xatu.aif b/sound/direct_sound_samples/cries/xatu.aif similarity index 100% rename from sound/direct_sound_samples/cry_xatu.aif rename to sound/direct_sound_samples/cries/xatu.aif diff --git a/sound/direct_sound_samples/cry_yanma.aif b/sound/direct_sound_samples/cries/yanma.aif similarity index 100% rename from sound/direct_sound_samples/cry_yanma.aif rename to sound/direct_sound_samples/cries/yanma.aif diff --git a/sound/direct_sound_samples/cry_zangoose.aif b/sound/direct_sound_samples/cries/zangoose.aif similarity index 100% rename from sound/direct_sound_samples/cry_zangoose.aif rename to sound/direct_sound_samples/cries/zangoose.aif diff --git a/sound/direct_sound_samples/cry_zapdos.aif b/sound/direct_sound_samples/cries/zapdos.aif similarity index 100% rename from sound/direct_sound_samples/cry_zapdos.aif rename to sound/direct_sound_samples/cries/zapdos.aif diff --git a/sound/direct_sound_samples/cry_zigzagoon.aif b/sound/direct_sound_samples/cries/zigzagoon.aif similarity index 100% rename from sound/direct_sound_samples/cry_zigzagoon.aif rename to sound/direct_sound_samples/cries/zigzagoon.aif diff --git a/sound/direct_sound_samples/cry_zubat.aif b/sound/direct_sound_samples/cries/zubat.aif similarity index 100% rename from sound/direct_sound_samples/cry_zubat.aif rename to sound/direct_sound_samples/cries/zubat.aif diff --git a/sound/direct_sound_samples/cry_none.aif b/sound/direct_sound_samples/cry_none.aif deleted file mode 100644 index 44bb79c3c..000000000 Binary files a/sound/direct_sound_samples/cry_none.aif and /dev/null differ diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc index 00bb2cbb0..3eb050e7c 100644 --- a/sound/voice_groups.inc +++ b/sound/voice_groups.inc @@ -993,785 +993,7 @@ voicegroup128:: voice_square_1 60, 0, 0, 2, 0, 0, 15, 0 voice_noise_alt 60, 0, 0, 0, 1, 12, 0 -gCryTable:: - cry Cry_Bulbasaur - cry Cry_Ivysaur - cry Cry_Venusaur - cry Cry_Charmander - cry Cry_Charmeleon - cry Cry_Charizard - cry Cry_Squirtle - cry Cry_Wartortle - cry Cry_Blastoise - cry Cry_Caterpie - cry Cry_Metapod - cry Cry_Butterfree - cry Cry_Weedle - cry Cry_Kakuna - cry Cry_Beedrill - cry Cry_Pidgey - cry Cry_Pidgeotto - cry Cry_Pidgeot - cry Cry_Rattata - cry Cry_Raticate - cry Cry_Spearow - cry Cry_Fearow - cry Cry_Ekans - cry Cry_Arbok - cry Cry_Pikachu - cry Cry_Raichu - cry Cry_Sandshrew - cry Cry_Sandslash - cry Cry_NidoranF - cry Cry_Nidorina - cry Cry_Nidoqueen - cry Cry_NidoranM - cry Cry_Nidorino - cry Cry_Nidoking - cry Cry_Clefairy - cry Cry_Clefable - cry Cry_Vulpix - cry Cry_Ninetales - cry Cry_Jigglypuff - cry Cry_Wigglytuff - cry Cry_Zubat - cry Cry_Golbat - cry Cry_Oddish - cry Cry_Gloom - cry Cry_Vileplume - cry Cry_Paras - cry Cry_Parasect - cry Cry_Venonat - cry Cry_Venomoth - cry Cry_Diglett - cry Cry_Dugtrio - cry Cry_Meowth - cry Cry_Persian - cry Cry_Psyduck - cry Cry_Golduck - cry Cry_Mankey - cry Cry_Primeape - cry Cry_Growlithe - cry Cry_Arcanine - cry Cry_Poliwag - cry Cry_Poliwhirl - cry Cry_Poliwrath - cry Cry_Abra - cry Cry_Kadabra - cry Cry_Alakazam - cry Cry_Machop - cry Cry_Machoke - cry Cry_Machamp - cry Cry_Bellsprout - cry Cry_Weepinbell - cry Cry_Victreebel - cry Cry_Tentacool - cry Cry_Tentacruel - cry Cry_Geodude - cry Cry_Graveler - cry Cry_Golem - cry Cry_Ponyta - cry Cry_Rapidash - cry Cry_Slowpoke - cry Cry_Slowbro - cry Cry_Magnemite - cry Cry_Magneton - cry Cry_Farfetchd - cry Cry_Doduo - cry Cry_Dodrio - cry Cry_Seel - cry Cry_Dewgong - cry Cry_Grimer - cry Cry_Muk - cry Cry_Shellder - cry Cry_Cloyster - cry Cry_Gastly - cry Cry_Haunter - cry Cry_Gengar - cry Cry_Onix - cry Cry_Drowzee - cry Cry_Hypno - cry Cry_Krabby - cry Cry_Kingler - cry Cry_Voltorb - cry Cry_Electrode - cry Cry_Exeggcute - cry Cry_Exeggutor - cry Cry_Cubone - cry Cry_Marowak - cry Cry_Hitmonlee - cry Cry_Hitmonchan - cry Cry_Lickitung - cry Cry_Koffing - cry Cry_Weezing - cry Cry_Rhyhorn - cry Cry_Rhydon - cry Cry_Chansey - cry Cry_Tangela - cry Cry_Kangaskhan - cry Cry_Horsea - cry Cry_Seadra - cry Cry_Goldeen - cry Cry_Seaking - cry Cry_Staryu - cry Cry_Starmie - cry Cry_MrMime - cry Cry_Scyther - cry Cry_Jynx - cry Cry_Electabuzz - cry Cry_Magmar - cry Cry_Pinsir - cry Cry_Tauros - cry Cry_Magikarp - cry Cry_Gyarados - cry Cry_Lapras - cry Cry_Ditto - cry Cry_Eevee - cry Cry_Vaporeon - cry Cry_Jolteon - cry Cry_Flareon - cry Cry_Porygon - cry Cry_Omanyte - cry Cry_Omastar - cry Cry_Kabuto - cry Cry_Kabutops - cry Cry_Aerodactyl - cry Cry_Snorlax - cry Cry_Articuno - cry Cry_Zapdos - cry Cry_Moltres - cry Cry_Dratini - cry Cry_Dragonair - cry Cry_Dragonite - cry Cry_Mewtwo - cry Cry_Mew - cry Cry_Chikorita - cry Cry_Bayleef - cry Cry_Meganium - cry Cry_Cyndaquil - cry Cry_Quilava - cry Cry_Typhlosion - cry Cry_Totodile - cry Cry_Croconaw - cry Cry_Feraligatr - cry Cry_Sentret - cry Cry_Furret - cry Cry_Hoothoot - cry Cry_Noctowl - cry Cry_Ledyba - cry Cry_Ledian - cry Cry_Spinarak - cry Cry_Ariados - cry Cry_Crobat - cry Cry_Chinchou - cry Cry_Lanturn - cry Cry_Pichu - cry Cry_Cleffa - cry Cry_Igglybuff - cry Cry_Togepi - cry Cry_Togetic - cry Cry_Natu - cry Cry_Xatu - cry Cry_Mareep - cry Cry_Flaaffy - cry Cry_Ampharos - cry Cry_Bellossom - cry Cry_Marill - cry Cry_Azumarill - cry Cry_Sudowoodo - cry Cry_Politoed - cry Cry_Hoppip - cry Cry_Skiploom - cry Cry_Jumpluff - cry Cry_Aipom - cry Cry_Sunkern - cry Cry_Sunflora - cry Cry_Yanma - cry Cry_Wooper - cry Cry_Quagsire - cry Cry_Espeon - cry Cry_Umbreon - cry Cry_Murkrow - cry Cry_Slowking - cry Cry_Misdreavus - cry Cry_Unown - cry Cry_Wobbuffet - cry Cry_Girafarig - cry Cry_Pineco - cry Cry_Forretress - cry Cry_Dunsparce - cry Cry_Gligar - cry Cry_Steelix - cry Cry_Snubbull - cry Cry_Granbull - cry Cry_Qwilfish - cry Cry_Scizor - cry Cry_Shuckle - cry Cry_Heracross - cry Cry_Sneasel - cry Cry_Teddiursa - cry Cry_Ursaring - cry Cry_Slugma - cry Cry_Magcargo - cry Cry_Swinub - cry Cry_Piloswine - cry Cry_Corsola - cry Cry_Remoraid - cry Cry_Octillery - cry Cry_Delibird - cry Cry_Mantine - cry Cry_Skarmory - cry Cry_Houndour - cry Cry_Houndoom - cry Cry_Kingdra - cry Cry_Phanpy - cry Cry_Donphan - cry Cry_Porygon2 - cry Cry_Stantler - cry Cry_Smeargle - cry Cry_Tyrogue - cry Cry_Hitmontop - cry Cry_Smoochum - cry Cry_Elekid - cry Cry_Magby - cry Cry_Miltank - cry Cry_Blissey - cry Cry_Raikou - cry Cry_Entei - cry Cry_Suicune - cry Cry_Larvitar - cry Cry_Pupitar - cry Cry_Tyranitar - cry Cry_Lugia - cry Cry_HoOh - cry Cry_Celebi - cry Cry_Kecleon - cry Cry_Roselia - cry Cry_Torkoal - cry Cry_Electrike - cry Cry_Manectric - cry Cry_Duskull - cry Cry_Latias - cry Cry_Wynaut - cry Cry_Seviper - cry Cry_Sharpedo - cry Cry_Zangoose - cry Cry_Azurill - cry Cry_Swablu - cry Cry_Altaria - cry Cry_Unused265 - cry Cry_Taillow - cry Cry_Swellow - cry Cry_Unused268 - cry Cry_Spinda - cry Cry_Torchic - cry Cry_Combusken - cry Cry_Blaziken - cry Cry_Treecko - cry Cry_Grovyle - cry Cry_Sceptile - cry Cry_Mudkip - cry Cry_Marshtomp - cry Cry_Swampert - cry Cry_Pelipper - cry Cry_Wingull - cry Cry_Banette - cry Cry_Shuppet - cry Cry_Lotad - cry Cry_Lombre - cry Cry_Ludicolo - cry Cry_Seedot - cry Cry_Nuzleaf - cry Cry_Shiftry - cry Cry_Carvanha - cry Cry_Wurmple - cry Cry_Silcoon - cry Cry_Beautifly - cry Cry_Cascoon - cry Cry_Dustox - cry Cry_Ralts - cry Cry_Kirlia - cry Cry_Gardevoir - cry Cry_Slakoth - cry Cry_Vigoroth - cry Cry_Slaking - cry Cry_Nincada - cry Cry_Ninjask - cry Cry_Shedinja - cry Cry_Makuhita - cry Cry_Hariyama - cry Cry_Nosepass - cry Cry_Glalie - cry Cry_Plusle - cry Cry_Minun - cry Cry_Surskit - cry Cry_Masquerain - cry Cry_Skitty - cry Cry_Delcatty - cry Cry_Gulpin - cry Cry_Swalot - cry Cry_Numel - cry Cry_Camerupt - cry Cry_Barboach - cry Cry_Whiscash - cry Cry_Corphish - cry Cry_Crawdaunt - cry Cry_Spoink - cry Cry_Grumpig - cry Cry_Trapinch - cry Cry_Vibrava - cry Cry_Flygon - cry Cry_Cacnea - cry Cry_Cacturne - cry Cry_Baltoy - cry Cry_Claydol - cry Cry_Lunatone - cry Cry_Solrock - cry Cry_Feebas - cry Cry_Milotic - cry Cry_Absol - cry Cry_Meditite - cry Cry_Medicham - cry Cry_Spheal - cry Cry_Sealeo - cry Cry_Walrein - cry Cry_Clamperl - cry Cry_Huntail - cry Cry_Gorebyss - cry Cry_Lileep - cry Cry_Cradily - cry Cry_Anorith - cry Cry_Armaldo - cry Cry_Beldum - cry Cry_Metang - cry Cry_Metagross - cry Cry_Bagon - cry Cry_Shelgon - cry Cry_Regirock - cry Cry_Regice - cry Cry_Registeel - cry Cry_Castform - cry Cry_Volbeat - cry Cry_Illumise - cry Cry_Poochyena - cry Cry_Mightyena - cry Cry_Dusclops - cry Cry_Sableye - cry Cry_Mawile - cry Cry_Aron - cry Cry_Lairon - cry Cry_Aggron - cry Cry_Relicanth - cry Cry_Luvdisc - cry Cry_Groudon - cry Cry_Kyogre - cry Cry_Rayquaza - cry Cry_Salamence - cry Cry_Breloom - cry Cry_Shroomish - cry Cry_Linoone - cry Cry_Tropius - cry Cry_Wailmer - cry Cry_Zigzagoon - cry Cry_Exploud - cry Cry_Loudred - cry Cry_Wailord - cry Cry_Whismur - cry Cry_Snorunt - cry Cry_Latios - cry Cry_Jirachi - cry Cry_Deoxys - cry Cry_Chimecho - -gCryTable_Reverse:: - cry_reverse Cry_Bulbasaur - cry_reverse Cry_Ivysaur - cry_reverse Cry_Venusaur - cry_reverse Cry_Charmander - cry_reverse Cry_Charmeleon - cry_reverse Cry_Charizard - cry_reverse Cry_Squirtle - cry_reverse Cry_Wartortle - cry_reverse Cry_Blastoise - cry_reverse Cry_Caterpie - cry_reverse Cry_Metapod - cry_reverse Cry_Butterfree - cry_reverse Cry_Weedle - cry_reverse Cry_Kakuna - cry_reverse Cry_Beedrill - cry_reverse Cry_Pidgey - cry_reverse Cry_Pidgeotto - cry_reverse Cry_Pidgeot - cry_reverse Cry_Rattata - cry_reverse Cry_Raticate - cry_reverse Cry_Spearow - cry_reverse Cry_Fearow - cry_reverse Cry_Ekans - cry_reverse Cry_Arbok - cry_reverse Cry_Pikachu - cry_reverse Cry_Raichu - cry_reverse Cry_Sandshrew - cry_reverse Cry_Sandslash - cry_reverse Cry_NidoranF - cry_reverse Cry_Nidorina - cry_reverse Cry_Nidoqueen - cry_reverse Cry_NidoranM - cry_reverse Cry_Nidorino - cry_reverse Cry_Nidoking - cry_reverse Cry_Clefairy - cry_reverse Cry_Clefable - cry_reverse Cry_Vulpix - cry_reverse Cry_Ninetales - cry_reverse Cry_Jigglypuff - cry_reverse Cry_Wigglytuff - cry_reverse Cry_Zubat - cry_reverse Cry_Golbat - cry_reverse Cry_Oddish - cry_reverse Cry_Gloom - cry_reverse Cry_Vileplume - cry_reverse Cry_Paras - cry_reverse Cry_Parasect - cry_reverse Cry_Venonat - cry_reverse Cry_Venomoth - cry_reverse Cry_Diglett - cry_reverse Cry_Dugtrio - cry_reverse Cry_Meowth - cry_reverse Cry_Persian - cry_reverse Cry_Psyduck - cry_reverse Cry_Golduck - cry_reverse Cry_Mankey - cry_reverse Cry_Primeape - cry_reverse Cry_Growlithe - cry_reverse Cry_Arcanine - cry_reverse Cry_Poliwag - cry_reverse Cry_Poliwhirl - cry_reverse Cry_Poliwrath - cry_reverse Cry_Abra - cry_reverse Cry_Kadabra - cry_reverse Cry_Alakazam - cry_reverse Cry_Machop - cry_reverse Cry_Machoke - cry_reverse Cry_Machamp - cry_reverse Cry_Bellsprout - cry_reverse Cry_Weepinbell - cry_reverse Cry_Victreebel - cry_reverse Cry_Tentacool - cry_reverse Cry_Tentacruel - cry_reverse Cry_Geodude - cry_reverse Cry_Graveler - cry_reverse Cry_Golem - cry_reverse Cry_Ponyta - cry_reverse Cry_Rapidash - cry_reverse Cry_Slowpoke - cry_reverse Cry_Slowbro - cry_reverse Cry_Magnemite - cry_reverse Cry_Magneton - cry_reverse Cry_Farfetchd - cry_reverse Cry_Doduo - cry_reverse Cry_Dodrio - cry_reverse Cry_Seel - cry_reverse Cry_Dewgong - cry_reverse Cry_Grimer - cry_reverse Cry_Muk - cry_reverse Cry_Shellder - cry_reverse Cry_Cloyster - cry_reverse Cry_Gastly - cry_reverse Cry_Haunter - cry_reverse Cry_Gengar - cry_reverse Cry_Onix - cry_reverse Cry_Drowzee - cry_reverse Cry_Hypno - cry_reverse Cry_Krabby - cry_reverse Cry_Kingler - cry_reverse Cry_Voltorb - cry_reverse Cry_Electrode - cry_reverse Cry_Exeggcute - cry_reverse Cry_Exeggutor - cry_reverse Cry_Cubone - cry_reverse Cry_Marowak - cry_reverse Cry_Hitmonlee - cry_reverse Cry_Hitmonchan - cry_reverse Cry_Lickitung - cry_reverse Cry_Koffing - cry_reverse Cry_Weezing - cry_reverse Cry_Rhyhorn - cry_reverse Cry_Rhydon - cry_reverse Cry_Chansey - cry_reverse Cry_Tangela - cry_reverse Cry_Kangaskhan - cry_reverse Cry_Horsea - cry_reverse Cry_Seadra - cry_reverse Cry_Goldeen - cry_reverse Cry_Seaking - cry_reverse Cry_Staryu - cry_reverse Cry_Starmie - cry_reverse Cry_MrMime - cry_reverse Cry_Scyther - cry_reverse Cry_Jynx - cry_reverse Cry_Electabuzz - cry_reverse Cry_Magmar - cry_reverse Cry_Pinsir - cry_reverse Cry_Tauros - cry_reverse Cry_Magikarp - cry_reverse Cry_Gyarados - cry_reverse Cry_Lapras - cry_reverse Cry_Ditto - cry_reverse Cry_Eevee - cry_reverse Cry_Vaporeon - cry_reverse Cry_Jolteon - cry_reverse Cry_Flareon - cry_reverse Cry_Porygon - cry_reverse Cry_Omanyte - cry_reverse Cry_Omastar - cry_reverse Cry_Kabuto - cry_reverse Cry_Kabutops - cry_reverse Cry_Aerodactyl - cry_reverse Cry_Snorlax - cry_reverse Cry_Articuno - cry_reverse Cry_Zapdos - cry_reverse Cry_Moltres - cry_reverse Cry_Dratini - cry_reverse Cry_Dragonair - cry_reverse Cry_Dragonite - cry_reverse Cry_Mewtwo - cry_reverse Cry_Mew - cry_reverse Cry_Chikorita - cry_reverse Cry_Bayleef - cry_reverse Cry_Meganium - cry_reverse Cry_Cyndaquil - cry_reverse Cry_Quilava - cry_reverse Cry_Typhlosion - cry_reverse Cry_Totodile - cry_reverse Cry_Croconaw - cry_reverse Cry_Feraligatr - cry_reverse Cry_Sentret - cry_reverse Cry_Furret - cry_reverse Cry_Hoothoot - cry_reverse Cry_Noctowl - cry_reverse Cry_Ledyba - cry_reverse Cry_Ledian - cry_reverse Cry_Spinarak - cry_reverse Cry_Ariados - cry_reverse Cry_Crobat - cry_reverse Cry_Chinchou - cry_reverse Cry_Lanturn - cry_reverse Cry_Pichu - cry_reverse Cry_Cleffa - cry_reverse Cry_Igglybuff - cry_reverse Cry_Togepi - cry_reverse Cry_Togetic - cry_reverse Cry_Natu - cry_reverse Cry_Xatu - cry_reverse Cry_Mareep - cry_reverse Cry_Flaaffy - cry_reverse Cry_Ampharos - cry_reverse Cry_Bellossom - cry_reverse Cry_Marill - cry_reverse Cry_Azumarill - cry_reverse Cry_Sudowoodo - cry_reverse Cry_Politoed - cry_reverse Cry_Hoppip - cry_reverse Cry_Skiploom - cry_reverse Cry_Jumpluff - cry_reverse Cry_Aipom - cry_reverse Cry_Sunkern - cry_reverse Cry_Sunflora - cry_reverse Cry_Yanma - cry_reverse Cry_Wooper - cry_reverse Cry_Quagsire - cry_reverse Cry_Espeon - cry_reverse Cry_Umbreon - cry_reverse Cry_Murkrow - cry_reverse Cry_Slowking - cry_reverse Cry_Misdreavus - cry_reverse Cry_Unown - cry_reverse Cry_Wobbuffet - cry_reverse Cry_Girafarig - cry_reverse Cry_Pineco - cry_reverse Cry_Forretress - cry_reverse Cry_Dunsparce - cry_reverse Cry_Gligar - cry_reverse Cry_Steelix - cry_reverse Cry_Snubbull - cry_reverse Cry_Granbull - cry_reverse Cry_Qwilfish - cry_reverse Cry_Scizor - cry_reverse Cry_Shuckle - cry_reverse Cry_Heracross - cry_reverse Cry_Sneasel - cry_reverse Cry_Teddiursa - cry_reverse Cry_Ursaring - cry_reverse Cry_Slugma - cry_reverse Cry_Magcargo - cry_reverse Cry_Swinub - cry_reverse Cry_Piloswine - cry_reverse Cry_Corsola - cry_reverse Cry_Remoraid - cry_reverse Cry_Octillery - cry_reverse Cry_Delibird - cry_reverse Cry_Mantine - cry_reverse Cry_Skarmory - cry_reverse Cry_Houndour - cry_reverse Cry_Houndoom - cry_reverse Cry_Kingdra - cry_reverse Cry_Phanpy - cry_reverse Cry_Donphan - cry_reverse Cry_Porygon2 - cry_reverse Cry_Stantler - cry_reverse Cry_Smeargle - cry_reverse Cry_Tyrogue - cry_reverse Cry_Hitmontop - cry_reverse Cry_Smoochum - cry_reverse Cry_Elekid - cry_reverse Cry_Magby - cry_reverse Cry_Miltank - cry_reverse Cry_Blissey - cry_reverse Cry_Raikou - cry_reverse Cry_Entei - cry_reverse Cry_Suicune - cry_reverse Cry_Larvitar - cry_reverse Cry_Pupitar - cry_reverse Cry_Tyranitar - cry_reverse Cry_Lugia - cry_reverse Cry_HoOh - cry_reverse Cry_Celebi - cry_reverse Cry_Kecleon - cry_reverse Cry_Roselia - cry_reverse Cry_Torkoal - cry_reverse Cry_Electrike - cry_reverse Cry_Manectric - cry_reverse Cry_Duskull - cry_reverse Cry_Latias - cry_reverse Cry_Wynaut - cry_reverse Cry_Seviper - cry_reverse Cry_Sharpedo - cry_reverse Cry_Zangoose - cry_reverse Cry_Azurill - cry_reverse Cry_Swablu - cry_reverse Cry_Altaria - cry_reverse Cry_Unused265 - cry_reverse Cry_Taillow - cry_reverse Cry_Swellow - cry_reverse Cry_Unused268 - cry_reverse Cry_Spinda - cry_reverse Cry_Torchic - cry_reverse Cry_Combusken - cry_reverse Cry_Blaziken - cry_reverse Cry_Treecko - cry_reverse Cry_Grovyle - cry_reverse Cry_Sceptile - cry_reverse Cry_Mudkip - cry_reverse Cry_Marshtomp - cry_reverse Cry_Swampert - cry_reverse Cry_Pelipper - cry_reverse Cry_Wingull - cry_reverse Cry_Banette - cry_reverse Cry_Shuppet - cry_reverse Cry_Lotad - cry_reverse Cry_Lombre - cry_reverse Cry_Ludicolo - cry_reverse Cry_Seedot - cry_reverse Cry_Nuzleaf - cry_reverse Cry_Shiftry - cry_reverse Cry_Carvanha - cry_reverse Cry_Wurmple - cry_reverse Cry_Silcoon - cry_reverse Cry_Beautifly - cry_reverse Cry_Cascoon - cry_reverse Cry_Dustox - cry_reverse Cry_Ralts - cry_reverse Cry_Kirlia - cry_reverse Cry_Gardevoir - cry_reverse Cry_Slakoth - cry_reverse Cry_Vigoroth - cry_reverse Cry_Slaking - cry_reverse Cry_Nincada - cry_reverse Cry_Ninjask - cry_reverse Cry_Shedinja - cry_reverse Cry_Makuhita - cry_reverse Cry_Hariyama - cry_reverse Cry_Nosepass - cry_reverse Cry_Glalie - cry_reverse Cry_Plusle - cry_reverse Cry_Minun - cry_reverse Cry_Surskit - cry_reverse Cry_Masquerain - cry_reverse Cry_Skitty - cry_reverse Cry_Delcatty - cry_reverse Cry_Gulpin - cry_reverse Cry_Swalot - cry_reverse Cry_Numel - cry_reverse Cry_Camerupt - cry_reverse Cry_Barboach - cry_reverse Cry_Whiscash - cry_reverse Cry_Corphish - cry_reverse Cry_Crawdaunt - cry_reverse Cry_Spoink - cry_reverse Cry_Grumpig - cry_reverse Cry_Trapinch - cry_reverse Cry_Vibrava - cry_reverse Cry_Flygon - cry_reverse Cry_Cacnea - cry_reverse Cry_Cacturne - cry_reverse Cry_Baltoy - cry_reverse Cry_Claydol - cry_reverse Cry_Lunatone - cry_reverse Cry_Solrock - cry_reverse Cry_Feebas - cry_reverse Cry_Milotic - cry_reverse Cry_Absol - cry_reverse Cry_Meditite - cry_reverse Cry_Medicham - cry_reverse Cry_Spheal - cry_reverse Cry_Sealeo - cry_reverse Cry_Walrein - cry_reverse Cry_Clamperl - cry_reverse Cry_Huntail - cry_reverse Cry_Gorebyss - cry_reverse Cry_Lileep - cry_reverse Cry_Cradily - cry_reverse Cry_Anorith - cry_reverse Cry_Armaldo - cry_reverse Cry_Beldum - cry_reverse Cry_Metang - cry_reverse Cry_Metagross - cry_reverse Cry_Bagon - cry_reverse Cry_Shelgon - cry_reverse Cry_Regirock - cry_reverse Cry_Regice - cry_reverse Cry_Registeel - cry_reverse Cry_Castform - cry_reverse Cry_Volbeat - cry_reverse Cry_Illumise - cry_reverse Cry_Poochyena - cry_reverse Cry_Mightyena - cry_reverse Cry_Dusclops - cry_reverse Cry_Sableye - cry_reverse Cry_Mawile - cry_reverse Cry_Aron - cry_reverse Cry_Lairon - cry_reverse Cry_Aggron - cry_reverse Cry_Relicanth - cry_reverse Cry_Luvdisc - cry_reverse Cry_Groudon - cry_reverse Cry_Kyogre - cry_reverse Cry_Rayquaza - cry_reverse Cry_Salamence - cry_reverse Cry_Breloom - cry_reverse Cry_Shroomish - cry_reverse Cry_Linoone - cry_reverse Cry_Tropius - cry_reverse Cry_Wailmer - cry_reverse Cry_Zigzagoon - cry_reverse Cry_Exploud - cry_reverse Cry_Loudred - cry_reverse Cry_Wailord - cry_reverse Cry_Whismur - cry_reverse Cry_Snorunt - cry_reverse Cry_Latios - cry_reverse Cry_Jirachi - cry_reverse Cry_Deoxys - cry_reverse Cry_Chimecho +.include "sound/cry_tables.inc" .align 2 voicegroup129:: diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 5eb053ec5..67aece9a1 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -9,51 +9,64 @@ #include "help_system.h" #include "m4a.h" -// Static type declarations +enum { + SCENE_ENSURE_CONNECT, + SCENE_TURN_OFF_POWER, + SCENE_TRANSMITTING, + SCENE_FOLLOW_INSTRUCT, + SCENE_TRANSMIT_FAILED, + SCENE_BEGIN, +}; -typedef struct { - u8 state; - u8 unk1; - u16 unk2; - struct MultiBootParam mb; -} berryfix_t; +enum { + STATE_BEGIN, + STATE_CONNECT, + STATE_TURN_OFF_POWER, + STATE_UNUSED, + STATE_INIT_MULTIBOOT, + STATE_MULTIBOOT, + STATE_TRANSMIT, + STATE_SUCCEEDED, + STATE_EXIT, + STATE_FAILED, + STATE_RETRY, +}; -// Static RAM declarations +const void *gMultibootStart; +int gMultibootStatus; +size_t gMultibootSize; +struct MultiBootParam gMultibootParam; -const void *gUnknown_3005EF0; -int gUnknown_3005EF4; -size_t gUnknown_3005EF8; -struct MultiBootParam gUnknown_3005F00; +static void CB2_BerryFix(void); +static void Task_BerryFixMain(u8 taskId); -// Static ROM declarations - -static void mb_berry_fix_maincb(void); -static void mb_berry_fix_task(u8 taskId); - -// .rodata - -static const void *const gUnknown_847A890[][3] = { - { +static const void *const sBerryFixGraphics[][3] = { + [SCENE_ENSURE_CONNECT] = { gBerryFixGameboy_Gfx, gBerryFixGameboy_Tilemap, gBerryFixGameboy_Pal - }, { + }, + [SCENE_TURN_OFF_POWER] = { gBerryFixGameboyLogo_Gfx, gBerryFixGameboyLogo_Tilemap, gBerryFixGameboyLogo_Pal - }, { + }, + [SCENE_TRANSMITTING] = { gBerryFixGbaTransfer_Gfx, gBerryFixGbaTransfer_Tilemap, gBerryFixGbaTransfer_Pal - }, { + }, + [SCENE_FOLLOW_INSTRUCT] = { gBerryFixGbaTransferHighlight_Gfx, gBerryFixGbaTransferHighlight_Tilemap, gBerryFixGbaTransferHighlight_Pal - }, { + }, + [SCENE_TRANSMIT_FAILED] = { gBerryFixGbaTransferError_Gfx, gBerryFixGbaTransferError_Tilemap, gBerryFixGbaTransferError_Pal - }, { + }, + [SCENE_BEGIN] = { gBerryFixWindow_Gfx, gBerryFixWindow_Tilemap, gBerryFixWindow_Pal @@ -63,22 +76,23 @@ static const void *const gUnknown_847A890[][3] = { extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3BF4]; extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; -// .text - -static void mb_berry_fix_print(int scene) +static void SetScene(int scene) { REG_DISPCNT = 0; REG_BG0HOFS = 0; REG_BG0VOFS = 0; REG_BLDCNT = 0; - LZ77UnCompVram(gUnknown_847A890[scene][0], (void *)BG_CHAR_ADDR(0)); - LZ77UnCompVram(gUnknown_847A890[scene][1], (void *)BG_SCREEN_ADDR(31)); - CpuCopy16(gUnknown_847A890[scene][2], (void *)BG_PLTT, 0x200); + LZ77UnCompVram(sBerryFixGraphics[scene][0], (void *)BG_CHAR_ADDR(0)); + LZ77UnCompVram(sBerryFixGraphics[scene][1], (void *)BG_SCREEN_ADDR(31)); + CpuCopy16(sBerryFixGraphics[scene][2], (void *)BG_PLTT, 0x200); REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(31) | BGCNT_TXT256x256; REG_DISPCNT = DISPCNT_BG0_ON; } -void mb_berry_fix_serve(void) // noreturn +#define tState data[0] +#define tTimer data[1] + +void CB2_InitBerryFixProgram(void) { u8 taskId; DisableInterrupts(0xFFFF); @@ -91,96 +105,99 @@ void mb_berry_fix_serve(void) // noreturn ResetTasks(); ScanlineEffect_Stop(); gHelpSystemEnabled = FALSE; - taskId = CreateTask(mb_berry_fix_task, 0); - gTasks[taskId].data[0] = 0; - SetMainCallback2(mb_berry_fix_maincb); + taskId = CreateTask(Task_BerryFixMain, 0); + gTasks[taskId].tState = STATE_BEGIN; + SetMainCallback2(CB2_BerryFix); } -static void mb_berry_fix_maincb(void) +static void CB2_BerryFix(void) { RunTasks(); } -static void mb_berry_fix_task(u8 taskId) +static void Task_BerryFixMain(u8 taskId) { s16 * data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { - case 0: - mb_berry_fix_print(5); - data[0] = 1; + case STATE_BEGIN: + SetScene(SCENE_BEGIN); + tState = STATE_CONNECT; break; - case 1: + case STATE_CONNECT: if (JOY_NEW(A_BUTTON)) { - mb_berry_fix_print(0); - data[0] = 2; + SetScene(SCENE_ENSURE_CONNECT); + tState = STATE_TURN_OFF_POWER; } break; - case 2: + case STATE_TURN_OFF_POWER: if (JOY_NEW(A_BUTTON)) { - mb_berry_fix_print(1); - data[0] = 4; + SetScene(SCENE_TURN_OFF_POWER); + tState = STATE_INIT_MULTIBOOT; } break; - case 4: - gUnknown_3005EF0 = gMultiBootProgram_BerryGlitchFix_Start; - gUnknown_3005EF8 = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start; - gUnknown_3005F00.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start; - gUnknown_3005F00.server_type = MULTIBOOT_SERVER_TYPE_NORMAL; - MultiBootInit(&gUnknown_3005F00); - data[1] = 0; - data[0] = 5; + case STATE_INIT_MULTIBOOT: + gMultibootStart = gMultiBootProgram_BerryGlitchFix_Start; + gMultibootSize = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start; + gMultibootParam.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start; + gMultibootParam.server_type = MULTIBOOT_SERVER_TYPE_NORMAL; + MultiBootInit(&gMultibootParam); + tTimer = 0; + tState = STATE_MULTIBOOT; break; - case 5: - if (gUnknown_3005F00.probe_count == 0 && gUnknown_3005F00.response_bit & 0x2 && gUnknown_3005F00.client_bit & 0x2) + case STATE_MULTIBOOT: + if (gMultibootParam.probe_count == 0 && gMultibootParam.response_bit & 0x2 && gMultibootParam.client_bit & 0x2) { - data[1]++; - if (data[1] > 180) + if (++tTimer > 180) { - mb_berry_fix_print(2); - MultiBootStartMaster(&gUnknown_3005F00, gUnknown_3005EF0 + MULTIBOOT_HEADER_SIZE, gUnknown_3005EF8 - MULTIBOOT_HEADER_SIZE, 4, 1); - data[1] = 0; - data[0] = 6; + SetScene(SCENE_TRANSMITTING); + MultiBootStartMaster(&gMultibootParam, gMultibootStart + MULTIBOOT_HEADER_SIZE, gMultibootSize - MULTIBOOT_HEADER_SIZE, 4, 1); + tTimer = 0; + tState = STATE_TRANSMIT; } else - gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); + { + gMultibootStatus = MultiBootMain(&gMultibootParam); + } } else { - data[1] = 0; - gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); + tTimer = 0; + gMultibootStatus = MultiBootMain(&gMultibootParam); } break; - case 6: - gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); - if (MultiBootCheckComplete(&gUnknown_3005F00)) + case STATE_TRANSMIT: + gMultibootStatus = MultiBootMain(&gMultibootParam); + if (MultiBootCheckComplete(&gMultibootParam)) { - mb_berry_fix_print(3); - data[0] = 7; + SetScene(SCENE_FOLLOW_INSTRUCT); + tState = STATE_SUCCEEDED; + } + else if (!(gMultibootParam.client_bit & 2)) + { + tState = STATE_FAILED; } - else if (!(gUnknown_3005F00.client_bit & 2)) - data[0] = 9; break; - case 7: - data[0] = 8; + case STATE_SUCCEEDED: + tState = STATE_EXIT; break; - case 8: + case STATE_EXIT: if (JOY_NEW(A_BUTTON)) { DestroyTask(taskId); DoSoftReset(); } break; - case 9: - mb_berry_fix_print(4); - data[0] = 10; + case STATE_FAILED: + SetScene(SCENE_TRANSMIT_FAILED); + tState = STATE_RETRY; break; - case 10: + case STATE_RETRY: if (JOY_NEW(A_BUTTON)) - data[0] = 0; + tState = STATE_BEGIN; break; } } diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 5e5c95067..b18e0cd4a 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -709,9 +709,9 @@ static void BerryPouchMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen } DestroyItemMenuIcon(sResources->itemMenuIconId ^ 1); if (sResources->listMenuNumItems != itemIndex) - sub_80989A0(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId); + CreateBerryPouchItemIcon(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId); else - sub_80989A0(ITEM_N_A, sResources->itemMenuIconId); + CreateBerryPouchItemIcon(ITEMS_COUNT, sResources->itemMenuIconId); sResources->itemMenuIconId ^= 1; PrintSelectedBerryDescription(itemIndex); } @@ -1074,7 +1074,7 @@ static void Task_BerryPouch_Use(u8 taskId) else ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); } - else if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1) + else if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_TYPE_PARTY_MENU) Task_Give_PrintThereIsNoPokemon(taskId); else ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); diff --git a/src/bg.c b/src/bg.c index 287569fa6..251f42616 100644 --- a/src/bg.c +++ b/src/bg.c @@ -600,58 +600,58 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op) switch (op) { - case 0: - default: - sGpuBgConfigs2[bg].bg_x = value; - break; - case 1: - sGpuBgConfigs2[bg].bg_x += value; - break; - case 2: - sGpuBgConfigs2[bg].bg_x -= value; - break; + case BG_COORD_SET: + default: + sGpuBgConfigs2[bg].bg_x = value; + break; + case BG_COORD_ADD: + sGpuBgConfigs2[bg].bg_x += value; + break; + case BG_COORD_SUB: + sGpuBgConfigs2[bg].bg_x -= value; + break; } mode = GetBgMode(); switch (bg) { - case 0: - temp1 = sGpuBgConfigs2[0].bg_x >> 0x8; - SetGpuReg(REG_OFFSET_BG0HOFS, temp1); - break; - case 1: - temp1 = sGpuBgConfigs2[1].bg_x >> 0x8; - SetGpuReg(REG_OFFSET_BG1HOFS, temp1); - break; - case 2: - if (mode == 0) - { - temp1 = sGpuBgConfigs2[2].bg_x >> 0x8; - SetGpuReg(REG_OFFSET_BG2HOFS, temp1); - } - else - { - temp1 = sGpuBgConfigs2[2].bg_x >> 0x10; - temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF; - SetGpuReg(REG_OFFSET_BG2X_H, temp1); - SetGpuReg(REG_OFFSET_BG2X_L, temp2); - } - break; - case 3: - if (mode == 0) - { - temp1 = sGpuBgConfigs2[3].bg_x >> 0x8; - SetGpuReg(REG_OFFSET_BG3HOFS, temp1); - } - else if (mode == 2) - { - temp1 = sGpuBgConfigs2[3].bg_x >> 0x10; - temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF; - SetGpuReg(REG_OFFSET_BG3X_H, temp1); - SetGpuReg(REG_OFFSET_BG3X_L, temp2); - } - break; + case 0: + temp1 = sGpuBgConfigs2[0].bg_x >> 0x8; + SetGpuReg(REG_OFFSET_BG0HOFS, temp1); + break; + case 1: + temp1 = sGpuBgConfigs2[1].bg_x >> 0x8; + SetGpuReg(REG_OFFSET_BG1HOFS, temp1); + break; + case 2: + if (mode == 0) + { + temp1 = sGpuBgConfigs2[2].bg_x >> 0x8; + SetGpuReg(REG_OFFSET_BG2HOFS, temp1); + } + else + { + temp1 = sGpuBgConfigs2[2].bg_x >> 0x10; + temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF; + SetGpuReg(REG_OFFSET_BG2X_H, temp1); + SetGpuReg(REG_OFFSET_BG2X_L, temp2); + } + break; + case 3: + if (mode == 0) + { + temp1 = sGpuBgConfigs2[3].bg_x >> 0x8; + SetGpuReg(REG_OFFSET_BG3HOFS, temp1); + } + else if (mode == 2) + { + temp1 = sGpuBgConfigs2[3].bg_x >> 0x10; + temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF; + SetGpuReg(REG_OFFSET_BG3X_H, temp1); + SetGpuReg(REG_OFFSET_BG3X_L, temp2); + } + break; } return sGpuBgConfigs2[bg].bg_x; @@ -679,58 +679,58 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op) switch (op) { - case 0: - default: - sGpuBgConfigs2[bg].bg_y = value; - break; - case 1: - sGpuBgConfigs2[bg].bg_y += value; - break; - case 2: - sGpuBgConfigs2[bg].bg_y -= value; - break; + case BG_COORD_SET: + default: + sGpuBgConfigs2[bg].bg_y = value; + break; + case BG_COORD_ADD: + sGpuBgConfigs2[bg].bg_y += value; + break; + case BG_COORD_SUB: + sGpuBgConfigs2[bg].bg_y -= value; + break; } mode = GetBgMode(); switch (bg) { - case 0: - temp1 = sGpuBgConfigs2[0].bg_y >> 0x8; - SetGpuReg(REG_OFFSET_BG0VOFS, temp1); - break; - case 1: - temp1 = sGpuBgConfigs2[1].bg_y >> 0x8; - SetGpuReg(REG_OFFSET_BG1VOFS, temp1); - break; - case 2: - if (mode == 0) - { - temp1 = sGpuBgConfigs2[2].bg_y >> 0x8; - SetGpuReg(REG_OFFSET_BG2VOFS, temp1); - } - else - { - temp1 = sGpuBgConfigs2[2].bg_y >> 0x10; - temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF; - SetGpuReg(REG_OFFSET_BG2Y_H, temp1); - SetGpuReg(REG_OFFSET_BG2Y_L, temp2); - } - break; - case 3: - if (mode == 0) - { - temp1 = sGpuBgConfigs2[3].bg_y >> 0x8; - SetGpuReg(REG_OFFSET_BG3VOFS, temp1); - } - else if (mode == 2) - { - temp1 = sGpuBgConfigs2[3].bg_y >> 0x10; - temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF; - SetGpuReg(REG_OFFSET_BG3Y_H, temp1); - SetGpuReg(REG_OFFSET_BG3Y_L, temp2); - } - break; + case 0: + temp1 = sGpuBgConfigs2[0].bg_y >> 0x8; + SetGpuReg(REG_OFFSET_BG0VOFS, temp1); + break; + case 1: + temp1 = sGpuBgConfigs2[1].bg_y >> 0x8; + SetGpuReg(REG_OFFSET_BG1VOFS, temp1); + break; + case 2: + if (mode == 0) + { + temp1 = sGpuBgConfigs2[2].bg_y >> 0x8; + SetGpuReg(REG_OFFSET_BG2VOFS, temp1); + } + else + { + temp1 = sGpuBgConfigs2[2].bg_y >> 0x10; + temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF; + SetGpuReg(REG_OFFSET_BG2Y_H, temp1); + SetGpuReg(REG_OFFSET_BG2Y_L, temp2); + } + break; + case 3: + if (mode == 0) + { + temp1 = sGpuBgConfigs2[3].bg_y >> 0x8; + SetGpuReg(REG_OFFSET_BG3VOFS, temp1); + } + else if (mode == 2) + { + temp1 = sGpuBgConfigs2[3].bg_y >> 0x10; + temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF; + SetGpuReg(REG_OFFSET_BG3Y_H, temp1); + SetGpuReg(REG_OFFSET_BG3Y_L, temp2); + } + break; } return sGpuBgConfigs2[bg].bg_y; diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h new file mode 100644 index 000000000..1fd403366 --- /dev/null +++ b/src/data/item_icon_table.h @@ -0,0 +1,379 @@ +static const void *const sItemIconTable[ITEMS_COUNT + 1][2] = +{ + [ITEM_NONE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_MASTER_BALL] = {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette}, + [ITEM_ULTRA_BALL] = {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette}, + [ITEM_GREAT_BALL] = {gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette}, + [ITEM_POKE_BALL] = {gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette}, + [ITEM_SAFARI_BALL] = {gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette}, + [ITEM_NET_BALL] = {gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette}, + [ITEM_DIVE_BALL] = {gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette}, + [ITEM_NEST_BALL] = {gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette}, + [ITEM_REPEAT_BALL] = {gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, + [ITEM_TIMER_BALL] = {gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, + [ITEM_LUXURY_BALL] = {gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, + [ITEM_PREMIER_BALL] = {gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, + [ITEM_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette}, + [ITEM_ANTIDOTE] = {gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette}, + [ITEM_BURN_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette}, + [ITEM_ICE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette}, + [ITEM_AWAKENING] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette}, + [ITEM_PARALYZE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette}, + [ITEM_FULL_RESTORE] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette}, + [ITEM_MAX_POTION] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette}, + [ITEM_HYPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette}, + [ITEM_SUPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette}, + [ITEM_FULL_HEAL] = {gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette}, + [ITEM_REVIVE] = {gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, + [ITEM_MAX_REVIVE] = {gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, + [ITEM_FRESH_WATER] = {gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette}, + [ITEM_SODA_POP] = {gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette}, + [ITEM_LEMONADE] = {gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette}, + [ITEM_MOOMOO_MILK] = {gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette}, + [ITEM_ENERGY_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette}, + [ITEM_ENERGY_ROOT] = {gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette}, + [ITEM_HEAL_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette}, + [ITEM_REVIVAL_HERB] = {gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette}, + [ITEM_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette}, + [ITEM_MAX_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette}, + [ITEM_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette}, + [ITEM_MAX_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette}, + [ITEM_LAVA_COOKIE] = {gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, + [ITEM_BLUE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette}, + [ITEM_YELLOW_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette}, + [ITEM_RED_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette}, + [ITEM_BLACK_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette}, + [ITEM_WHITE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette}, + [ITEM_BERRY_JUICE] = {gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette}, + [ITEM_SACRED_ASH] = {gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette}, + [ITEM_SHOAL_SALT] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette}, + [ITEM_SHOAL_SHELL] = {gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, + [ITEM_RED_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette}, + [ITEM_BLUE_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette}, + [ITEM_YELLOW_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette}, + [ITEM_GREEN_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette}, + [ITEM_034] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_035] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_036] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_037] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_038] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_039] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_03A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_03B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_03C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_03D] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_03E] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_HP_UP] = {gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette}, + [ITEM_PROTEIN] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette}, + [ITEM_IRON] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette}, + [ITEM_CARBOS] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette}, + [ITEM_CALCIUM] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette}, + [ITEM_RARE_CANDY] = {gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette}, + [ITEM_PP_UP] = {gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette}, + [ITEM_ZINC] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette}, + [ITEM_PP_MAX] = {gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette}, + [ITEM_048] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_GUARD_SPEC] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette}, + [ITEM_DIRE_HIT] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette}, + [ITEM_X_ATTACK] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette}, + [ITEM_X_DEFEND] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette}, + [ITEM_X_SPEED] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette}, + [ITEM_X_ACCURACY] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette}, + [ITEM_X_SPECIAL] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette}, + [ITEM_POKE_DOLL] = {gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette}, + [ITEM_FLUFFY_TAIL] = {gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette}, + [ITEM_052] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_SUPER_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette}, + [ITEM_MAX_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette}, + [ITEM_ESCAPE_ROPE] = {gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette}, + [ITEM_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette}, + [ITEM_057] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_058] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_059] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_05A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_05B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_05C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_SUN_STONE] = {gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette}, + [ITEM_MOON_STONE] = {gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette}, + [ITEM_FIRE_STONE] = {gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette}, + [ITEM_THUNDER_STONE] = {gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette}, + [ITEM_WATER_STONE] = {gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette}, + [ITEM_LEAF_STONE] = {gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette}, + [ITEM_063] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_064] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_065] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_066] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_TINY_MUSHROOM] = {gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, + [ITEM_BIG_MUSHROOM] = {gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, + [ITEM_069] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_PEARL] = {gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, + [ITEM_BIG_PEARL] = {gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, + [ITEM_STARDUST] = {gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette}, + [ITEM_STAR_PIECE] = {gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette}, + [ITEM_NUGGET] = {gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette}, + [ITEM_HEART_SCALE] = {gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette}, + [ITEM_070] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_071] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_072] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_073] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_074] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_075] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_076] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_077] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_078] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_ORANGE_MAIL] = {gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette}, + [ITEM_HARBOR_MAIL] = {gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette}, + [ITEM_GLITTER_MAIL] = {gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette}, + [ITEM_MECH_MAIL] = {gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette}, + [ITEM_WOOD_MAIL] = {gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette}, + [ITEM_WAVE_MAIL] = {gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette}, + [ITEM_BEAD_MAIL] = {gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette}, + [ITEM_SHADOW_MAIL] = {gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette}, + [ITEM_TROPIC_MAIL] = {gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette}, + [ITEM_DREAM_MAIL] = {gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette}, + [ITEM_FAB_MAIL] = {gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette}, + [ITEM_RETRO_MAIL] = {gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette}, + [ITEM_CHERI_BERRY] = {gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette}, + [ITEM_CHESTO_BERRY] = {gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette}, + [ITEM_PECHA_BERRY] = {gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette}, + [ITEM_RAWST_BERRY] = {gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette}, + [ITEM_ASPEAR_BERRY] = {gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette}, + [ITEM_LEPPA_BERRY] = {gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette}, + [ITEM_ORAN_BERRY] = {gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette}, + [ITEM_PERSIM_BERRY] = {gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette}, + [ITEM_LUM_BERRY] = {gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette}, + [ITEM_SITRUS_BERRY] = {gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette}, + [ITEM_FIGY_BERRY] = {gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette}, + [ITEM_WIKI_BERRY] = {gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette}, + [ITEM_MAGO_BERRY] = {gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette}, + [ITEM_AGUAV_BERRY] = {gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette}, + [ITEM_IAPAPA_BERRY] = {gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette}, + [ITEM_RAZZ_BERRY] = {gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette}, + [ITEM_BLUK_BERRY] = {gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette}, + [ITEM_NANAB_BERRY] = {gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette}, + [ITEM_WEPEAR_BERRY] = {gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette}, + [ITEM_PINAP_BERRY] = {gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette}, + [ITEM_POMEG_BERRY] = {gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette}, + [ITEM_KELPSY_BERRY] = {gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette}, + [ITEM_QUALOT_BERRY] = {gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette}, + [ITEM_HONDEW_BERRY] = {gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette}, + [ITEM_GREPA_BERRY] = {gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette}, + [ITEM_TAMATO_BERRY] = {gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette}, + [ITEM_CORNN_BERRY] = {gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette}, + [ITEM_MAGOST_BERRY] = {gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette}, + [ITEM_RABUTA_BERRY] = {gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette}, + [ITEM_NOMEL_BERRY] = {gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette}, + [ITEM_SPELON_BERRY] = {gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette}, + [ITEM_PAMTRE_BERRY] = {gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette}, + [ITEM_WATMEL_BERRY] = {gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette}, + [ITEM_DURIN_BERRY] = {gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette}, + [ITEM_BELUE_BERRY] = {gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette}, + [ITEM_LIECHI_BERRY] = {gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette}, + [ITEM_GANLON_BERRY] = {gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette}, + [ITEM_SALAC_BERRY] = {gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette}, + [ITEM_PETAYA_BERRY] = {gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette}, + [ITEM_APICOT_BERRY] = {gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette}, + [ITEM_LANSAT_BERRY] = {gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette}, + [ITEM_STARF_BERRY] = {gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette}, + [ITEM_ENIGMA_BERRY] = {gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette}, + [ITEM_0B0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0B1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0B2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_BRIGHT_POWDER] = {gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette}, + [ITEM_WHITE_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette}, + [ITEM_MACHO_BRACE] = {gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette}, + [ITEM_EXP_SHARE] = {gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette}, + [ITEM_QUICK_CLAW] = {gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette}, + [ITEM_SOOTHE_BELL] = {gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette}, + [ITEM_MENTAL_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette}, + [ITEM_CHOICE_BAND] = {gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette}, + [ITEM_KINGS_ROCK] = {gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette}, + [ITEM_SILVER_POWDER] = {gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette}, + [ITEM_AMULET_COIN] = {gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette}, + [ITEM_CLEANSE_TAG] = {gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette}, + [ITEM_SOUL_DEW] = {gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette}, + [ITEM_DEEP_SEA_TOOTH] = {gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette}, + [ITEM_DEEP_SEA_SCALE] = {gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette}, + [ITEM_SMOKE_BALL] = {gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette}, + [ITEM_EVERSTONE] = {gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette}, + [ITEM_FOCUS_BAND] = {gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette}, + [ITEM_LUCKY_EGG] = {gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette}, + [ITEM_SCOPE_LENS] = {gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette}, + [ITEM_METAL_COAT] = {gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette}, + [ITEM_LEFTOVERS] = {gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette}, + [ITEM_DRAGON_SCALE] = {gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette}, + [ITEM_LIGHT_BALL] = {gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette}, + [ITEM_SOFT_SAND] = {gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette}, + [ITEM_HARD_STONE] = {gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette}, + [ITEM_MIRACLE_SEED] = {gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette}, + [ITEM_BLACK_GLASSES] = {gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, + [ITEM_BLACK_BELT] = {gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, + [ITEM_MAGNET] = {gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette}, + [ITEM_MYSTIC_WATER] = {gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette}, + [ITEM_SHARP_BEAK] = {gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette}, + [ITEM_POISON_BARB] = {gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette}, + [ITEM_NEVER_MELT_ICE] = {gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette}, + [ITEM_SPELL_TAG] = {gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette}, + [ITEM_TWISTED_SPOON] = {gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette}, + [ITEM_CHARCOAL] = {gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette}, + [ITEM_DRAGON_FANG] = {gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette}, + [ITEM_SILK_SCARF] = {gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette}, + [ITEM_UP_GRADE] = {gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette}, + [ITEM_SHELL_BELL] = {gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, + [ITEM_SEA_INCENSE] = {gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette}, + [ITEM_LAX_INCENSE] = {gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette}, + [ITEM_LUCKY_PUNCH] = {gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette}, + [ITEM_METAL_POWDER] = {gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette}, + [ITEM_THICK_CLUB] = {gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette}, + [ITEM_STICK] = {gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette}, + [ITEM_0E2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0E9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0EA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0EB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0EC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0ED] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0EE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0EF] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0F9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0FA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0FB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0FC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_0FD] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_RED_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette}, + [ITEM_BLUE_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette}, + [ITEM_PINK_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette}, + [ITEM_GREEN_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette}, + [ITEM_YELLOW_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette}, + [ITEM_MACH_BIKE] = {gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette}, + [ITEM_COIN_CASE] = {gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette}, + [ITEM_ITEMFINDER] = {gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette}, + [ITEM_OLD_ROD] = {gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette}, + [ITEM_GOOD_ROD] = {gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette}, + [ITEM_SUPER_ROD] = {gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette}, + [ITEM_SS_TICKET] = {gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette}, + [ITEM_CONTEST_PASS] = {gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette}, + [ITEM_10B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_WAILMER_PAIL] = {gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette}, + [ITEM_DEVON_GOODS] = {gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette}, + [ITEM_SOOT_SACK] = {gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette}, + [ITEM_BASEMENT_KEY] = {gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, + [ITEM_ACRO_BIKE] = {gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette}, + [ITEM_POKEBLOCK_CASE] = {gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette}, + [ITEM_LETTER] = {gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, + [ITEM_EON_TICKET] = {gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette}, + [ITEM_RED_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette}, + [ITEM_BLUE_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette}, + [ITEM_SCANNER] = {gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette}, + [ITEM_GO_GOGGLES] = {gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette}, + [ITEM_METEORITE] = {gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette}, + [ITEM_ROOM_1_KEY] = {gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + [ITEM_ROOM_2_KEY] = {gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + [ITEM_ROOM_4_KEY] = {gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + [ITEM_ROOM_6_KEY] = {gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + [ITEM_STORAGE_KEY] = {gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, + [ITEM_ROOT_FOSSIL] = {gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, + [ITEM_CLAW_FOSSIL] = {gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, + [ITEM_DEVON_SCOPE] = {gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette}, + [ITEM_TM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + [ITEM_TM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette}, + [ITEM_TM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + [ITEM_TM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, + [ITEM_TM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + [ITEM_TM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + [ITEM_TM09] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + [ITEM_TM10] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM11] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + [ITEM_TM12] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + [ITEM_TM13] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + [ITEM_TM14] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, + [ITEM_TM15] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM16] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM17] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM18] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + [ITEM_TM19] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + [ITEM_TM20] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM21] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM22] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, + [ITEM_TM23] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, + [ITEM_TM24] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + [ITEM_TM25] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + [ITEM_TM26] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, + [ITEM_TM27] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM28] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, + [ITEM_TM29] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM30] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette}, + [ITEM_TM31] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + [ITEM_TM32] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM33] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM34] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, + [ITEM_TM35] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + [ITEM_TM36] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, + [ITEM_TM37] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, + [ITEM_TM38] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + [ITEM_TM39] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, + [ITEM_TM40] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, + [ITEM_TM41] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + [ITEM_TM42] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM43] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM44] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM45] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_TM46] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + [ITEM_TM47] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, + [ITEM_TM48] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, + [ITEM_TM49] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, + [ITEM_TM50] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, + [ITEM_HM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_HM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, + [ITEM_HM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + [ITEM_HM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_HM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, + [ITEM_HM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, + [ITEM_HM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + [ITEM_HM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, + [ITEM_15B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_15C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, + [ITEM_OAKS_PARCEL] = {gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette}, + [ITEM_POKE_FLUTE] = {gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette}, + [ITEM_SECRET_KEY] = {gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette}, + [ITEM_BIKE_VOUCHER] = {gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette}, + [ITEM_GOLD_TEETH] = {gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette}, + [ITEM_OLD_AMBER] = {gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette}, + [ITEM_CARD_KEY] = {gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette}, + [ITEM_LIFT_KEY] = {gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, + [ITEM_HELIX_FOSSIL] = {gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, + [ITEM_DOME_FOSSIL] = {gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, + [ITEM_SILPH_SCOPE] = {gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette}, + [ITEM_BICYCLE] = {gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette}, + [ITEM_TOWN_MAP] = {gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette}, + [ITEM_VS_SEEKER] = {gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette}, + [ITEM_FAME_CHECKER] = {gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette}, + [ITEM_TM_CASE] = {gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette}, + [ITEM_BERRY_POUCH] = {gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette}, + [ITEM_TEACHY_TV] = {gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette}, + [ITEM_TRI_PASS] = {gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette}, + [ITEM_RAINBOW_PASS] = {gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette}, + [ITEM_TEA] = {gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette}, + [ITEM_MYSTIC_TICKET] = {gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette}, + [ITEM_AURORA_TICKET] = {gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette}, + [ITEM_POWDER_JAR] = {gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette}, + [ITEM_RUBY] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette}, + [ITEM_SAPPHIRE] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette}, + [ITEMS_COUNT] = {gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette} +}; diff --git a/src/data/items.json b/src/data/items.json index 48d614a80..9527febe7 100644 --- a/src/data/items.json +++ b/src/data/items.json @@ -10,7 +10,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -218,7 +218,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -234,7 +234,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -250,7 +250,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -266,7 +266,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -282,7 +282,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -298,7 +298,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -314,7 +314,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -330,7 +330,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -346,7 +346,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -362,7 +362,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -378,7 +378,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -394,7 +394,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -410,7 +410,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -426,7 +426,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -442,7 +442,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -458,7 +458,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -474,7 +474,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -490,7 +490,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -506,7 +506,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -522,7 +522,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -538,7 +538,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -554,7 +554,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Ether", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Ether", @@ -570,7 +570,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Ether", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Ether", @@ -586,7 +586,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Ether", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Ether", @@ -602,7 +602,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Ether", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Ether", @@ -618,7 +618,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -634,7 +634,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -650,7 +650,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -666,7 +666,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -682,8 +682,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, - "fieldUseFunc": "FieldUseFunc_BlackFlute", + "type": "ITEM_TYPE_PARTY_MENU", + "fieldUseFunc": "FieldUseFunc_BlackWhiteFlute", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -698,8 +698,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, - "fieldUseFunc": "FieldUseFunc_BlackFlute", + "type": "ITEM_TYPE_PARTY_MENU", + "fieldUseFunc": "FieldUseFunc_BlackWhiteFlute", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -714,7 +714,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -730,7 +730,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_SacredAsh", "battleUsage": 0, "battleUseFunc": "NULL", @@ -746,7 +746,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -762,7 +762,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -778,7 +778,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -794,7 +794,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -810,7 +810,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -826,7 +826,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -842,7 +842,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -858,7 +858,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -874,7 +874,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -890,7 +890,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -906,7 +906,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -922,7 +922,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -938,7 +938,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -954,7 +954,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -970,7 +970,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -986,7 +986,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1002,7 +1002,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1018,7 +1018,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1034,7 +1034,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1050,7 +1050,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1066,7 +1066,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1082,7 +1082,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1098,7 +1098,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_RareCandy", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1114,7 +1114,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_PpUp", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1130,7 +1130,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1146,7 +1146,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_PpUp", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1162,7 +1162,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1178,10 +1178,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1194,10 +1194,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1210,10 +1210,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1226,10 +1226,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1242,10 +1242,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1258,10 +1258,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1274,10 +1274,10 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, - "battleUseFunc": "BattleUseFunc_GuardSpec", + "battleUseFunc": "BattleUseFunc_StatBooster", "secondaryId": 0 }, { @@ -1290,7 +1290,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, "battleUseFunc": "BattleUseFunc_PokeDoll", @@ -1306,7 +1306,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 2, "battleUseFunc": "BattleUseFunc_PokeDoll", @@ -1322,7 +1322,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1338,8 +1338,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, - "fieldUseFunc": "FieldUseFunc_SuperRepel", + "type": "ITEM_TYPE_BAG_MENU", + "fieldUseFunc": "FieldUseFunc_Repel", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -1354,8 +1354,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, - "fieldUseFunc": "FieldUseFunc_SuperRepel", + "type": "ITEM_TYPE_BAG_MENU", + "fieldUseFunc": "FieldUseFunc_Repel", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -1370,7 +1370,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 2, + "type": "ITEM_TYPE_FIELD", "fieldUseFunc": "ItemUseOutOfBattle_EscapeRope", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1386,8 +1386,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, - "fieldUseFunc": "FieldUseFunc_SuperRepel", + "type": "ITEM_TYPE_BAG_MENU", + "fieldUseFunc": "FieldUseFunc_Repel", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -1402,7 +1402,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1418,7 +1418,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1434,7 +1434,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1450,7 +1450,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1466,7 +1466,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1482,7 +1482,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1498,7 +1498,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1514,7 +1514,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1530,7 +1530,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1546,7 +1546,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1562,7 +1562,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1578,7 +1578,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_EvoItem", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1594,7 +1594,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1610,7 +1610,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1626,7 +1626,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1642,7 +1642,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1658,7 +1658,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1674,7 +1674,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1690,7 +1690,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1706,7 +1706,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1722,7 +1722,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1738,7 +1738,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1754,7 +1754,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1770,7 +1770,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1786,7 +1786,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1802,7 +1802,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1818,7 +1818,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1834,7 +1834,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1850,7 +1850,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1866,7 +1866,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1882,7 +1882,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1898,7 +1898,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1914,7 +1914,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1930,7 +1930,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -1946,8 +1946,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -1962,8 +1962,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 1 @@ -1978,8 +1978,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 2 @@ -1994,8 +1994,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 3 @@ -2010,8 +2010,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 4 @@ -2026,8 +2026,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 5 @@ -2042,8 +2042,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 6 @@ -2058,8 +2058,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 7 @@ -2074,8 +2074,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 8 @@ -2090,8 +2090,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 9 @@ -2106,8 +2106,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 10 @@ -2122,8 +2122,8 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 0, - "fieldUseFunc": "FieldUseFunc_OrangeMail", + "type": "ITEM_TYPE_MAIL", + "fieldUseFunc": "FieldUseFunc_Mail", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 11 @@ -2138,7 +2138,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2154,7 +2154,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2170,7 +2170,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2186,7 +2186,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2202,7 +2202,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2218,7 +2218,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Ether", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Ether", @@ -2234,7 +2234,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2250,7 +2250,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2266,7 +2266,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2282,7 +2282,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "FieldUseFunc_Medicine", "battleUsage": 1, "battleUseFunc": "BattleUseFunc_Medicine", @@ -2298,7 +2298,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2314,7 +2314,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2330,7 +2330,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2346,7 +2346,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2362,7 +2362,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2378,7 +2378,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2394,7 +2394,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2410,7 +2410,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2426,7 +2426,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2442,7 +2442,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2458,7 +2458,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2474,7 +2474,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2490,7 +2490,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2506,7 +2506,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2522,7 +2522,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2538,7 +2538,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2554,7 +2554,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2570,7 +2570,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2586,7 +2586,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2602,7 +2602,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2618,7 +2618,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2634,7 +2634,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2650,7 +2650,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2666,7 +2666,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2682,7 +2682,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2698,7 +2698,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2714,7 +2714,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2730,7 +2730,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2746,7 +2746,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2762,7 +2762,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2778,7 +2778,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2794,7 +2794,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2810,7 +2810,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_BERRY_POUCH", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "ItemUseOutOfBattle_EnigmaBerry", "battleUsage": 1, "battleUseFunc": "ItemUseInBattle_EnigmaBerry", @@ -2826,7 +2826,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2842,7 +2842,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2858,7 +2858,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2874,7 +2874,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2890,7 +2890,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2906,7 +2906,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2922,7 +2922,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2938,7 +2938,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2954,7 +2954,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2970,7 +2970,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -2986,7 +2986,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3002,7 +3002,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3018,7 +3018,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3034,7 +3034,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3050,7 +3050,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3066,7 +3066,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3082,7 +3082,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3098,7 +3098,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3114,7 +3114,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3130,7 +3130,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3146,7 +3146,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3162,7 +3162,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3178,7 +3178,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3194,7 +3194,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3210,7 +3210,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3226,7 +3226,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3242,7 +3242,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3258,7 +3258,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3274,7 +3274,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3290,7 +3290,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3306,7 +3306,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3322,7 +3322,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3338,7 +3338,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3354,7 +3354,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3370,7 +3370,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3386,7 +3386,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3402,7 +3402,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3418,7 +3418,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3434,7 +3434,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3450,7 +3450,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3466,7 +3466,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3482,7 +3482,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3498,7 +3498,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3514,7 +3514,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3530,7 +3530,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3546,7 +3546,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3562,7 +3562,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3578,7 +3578,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3594,7 +3594,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3610,7 +3610,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3626,7 +3626,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3642,7 +3642,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3658,7 +3658,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3674,7 +3674,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3690,7 +3690,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3706,7 +3706,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3722,7 +3722,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3738,7 +3738,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3754,7 +3754,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3770,7 +3770,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3786,7 +3786,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3802,7 +3802,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3818,7 +3818,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3834,7 +3834,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3850,7 +3850,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3866,7 +3866,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3882,7 +3882,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3898,7 +3898,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3914,7 +3914,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3930,7 +3930,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3946,7 +3946,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3962,7 +3962,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3978,7 +3978,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -3994,7 +3994,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4010,7 +4010,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4026,7 +4026,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4042,7 +4042,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4058,7 +4058,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4074,7 +4074,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4090,7 +4090,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4106,7 +4106,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4122,7 +4122,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4138,7 +4138,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4154,8 +4154,8 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_MachBike", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Bike", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -4170,7 +4170,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_CoinCase", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4186,7 +4186,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, + "type": "ITEM_TYPE_FIELD", "fieldUseFunc": "ItemUseOutOfBattle_Itemfinder", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4202,11 +4202,11 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_OldRod", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Rod", "battleUsage": 0, "battleUseFunc": "NULL", - "secondaryId": 0 + "secondaryId": "OLD_ROD" }, { "english": "GOOD ROD", @@ -4218,11 +4218,11 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_OldRod", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Rod", "battleUsage": 0, "battleUseFunc": "NULL", - "secondaryId": 1 + "secondaryId": "GOOD_ROD" }, { "english": "SUPER ROD", @@ -4234,11 +4234,11 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_OldRod", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Rod", "battleUsage": 0, "battleUseFunc": "NULL", - "secondaryId": 2 + "secondaryId": "SUPER_ROD" }, { "english": "S.S. TICKET", @@ -4250,7 +4250,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4266,7 +4266,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4282,7 +4282,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4298,7 +4298,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4314,7 +4314,7 @@ "importance": 2, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4330,7 +4330,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4346,7 +4346,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4362,8 +4362,8 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_MachBike", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Bike", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 1 @@ -4378,7 +4378,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4394,7 +4394,7 @@ "importance": 2, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4410,7 +4410,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4426,7 +4426,7 @@ "importance": 2, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4442,7 +4442,7 @@ "importance": 2, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4458,7 +4458,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4474,7 +4474,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4490,7 +4490,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4506,7 +4506,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4522,7 +4522,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4538,7 +4538,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4554,7 +4554,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4570,7 +4570,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4586,7 +4586,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4602,7 +4602,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4618,7 +4618,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4634,7 +4634,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4651,7 +4651,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4668,7 +4668,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4685,7 +4685,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4702,7 +4702,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4719,7 +4719,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4736,7 +4736,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4753,7 +4753,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4770,7 +4770,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4787,7 +4787,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4804,7 +4804,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4821,7 +4821,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4838,7 +4838,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4855,7 +4855,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4872,7 +4872,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4889,7 +4889,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4906,7 +4906,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4923,7 +4923,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4940,7 +4940,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4957,7 +4957,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4974,7 +4974,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -4991,7 +4991,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5008,7 +5008,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5025,7 +5025,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5042,7 +5042,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5059,7 +5059,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5076,7 +5076,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5093,7 +5093,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5110,7 +5110,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5127,7 +5127,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5144,7 +5144,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5161,7 +5161,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5178,7 +5178,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5195,7 +5195,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5212,7 +5212,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5229,7 +5229,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5246,7 +5246,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5263,7 +5263,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5280,7 +5280,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5297,7 +5297,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5314,7 +5314,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5331,7 +5331,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5348,7 +5348,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5365,7 +5365,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5382,7 +5382,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5399,7 +5399,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5416,7 +5416,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5433,7 +5433,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5450,7 +5450,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5467,7 +5467,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5484,7 +5484,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5501,7 +5501,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5518,7 +5518,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5535,7 +5535,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5552,7 +5552,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5569,7 +5569,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5586,7 +5586,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5603,7 +5603,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_TM_CASE", - "type": 1, + "type": "ITEM_TYPE_PARTY_MENU", "fieldUseFunc": "NULL", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5620,7 +5620,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5636,7 +5636,7 @@ "importance": 0, "exitsBagOnUse": 0, "pocket": "POCKET_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5652,7 +5652,7 @@ "importance": 2, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5668,7 +5668,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_PokeFlute", "battleUsage": 2, "battleUseFunc": "BattleUseFunc_PokeFlute", @@ -5684,7 +5684,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5700,7 +5700,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5716,7 +5716,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5732,7 +5732,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5748,7 +5748,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5764,7 +5764,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5780,7 +5780,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5796,7 +5796,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5812,7 +5812,7 @@ "importance": 1, "exitsBagOnUse": 0, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5828,8 +5828,8 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, - "fieldUseFunc": "FieldUseFunc_MachBike", + "type": "ITEM_TYPE_FIELD", + "fieldUseFunc": "FieldUseFunc_Bike", "battleUsage": 0, "battleUseFunc": "NULL", "secondaryId": 0 @@ -5844,7 +5844,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_TownMap", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5860,7 +5860,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, + "type": "ITEM_TYPE_FIELD", "fieldUseFunc": "FieldUseFunc_VsSeeker", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5876,7 +5876,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_FameChecker", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5892,7 +5892,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_TmCase", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5908,7 +5908,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_BerryPouch", "battleUsage": 3, "battleUseFunc": "BattleUseFunc_BerryPouch", @@ -5924,7 +5924,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 2, + "type": "ITEM_TYPE_FIELD", "fieldUseFunc": "FieldUseFunc_TeachyTv", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5940,7 +5940,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5956,7 +5956,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5972,7 +5972,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -5988,7 +5988,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -6004,7 +6004,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -6020,7 +6020,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_PowderJar", "battleUsage": 0, "battleUseFunc": "NULL", @@ -6036,7 +6036,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", @@ -6052,7 +6052,7 @@ "importance": 1, "exitsBagOnUse": 1, "pocket": "POCKET_KEY_ITEMS", - "type": 4, + "type": "ITEM_TYPE_BAG_MENU", "fieldUseFunc": "FieldUseFunc_OakStopsYou", "battleUsage": 0, "battleUseFunc": "NULL", diff --git a/src/data/tilesets/graphics.h b/src/data/tilesets/graphics.h new file mode 100644 index 000000000..f82df8a6e --- /dev/null +++ b/src/data/tilesets/graphics.h @@ -0,0 +1,1407 @@ +const u32 gTilesetTiles_PalletTown[] = INCBIN_U32("data/tilesets/secondary/pallet_town/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PalletTown[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pallet_town/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_ViridianCity[] = INCBIN_U32("data/tilesets/secondary/viridian_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_ViridianCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PewterCity[] = INCBIN_U32("data/tilesets/secondary/pewter_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PewterCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CeruleanCity[] = INCBIN_U32("data/tilesets/secondary/cerulean_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CeruleanCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_LavenderTown[] = INCBIN_U32("data/tilesets/secondary/lavender_town/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_LavenderTown[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavender_town/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_VermilionCity[] = INCBIN_U32("data/tilesets/secondary/vermilion_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_VermilionCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CeladonCity[] = INCBIN_U32("data/tilesets/secondary/celadon_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CeladonCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_FuchsiaCity[] = INCBIN_U32("data/tilesets/secondary/fuchsia_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_FuchsiaCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CinnabarIsland[] = INCBIN_U32("data/tilesets/secondary/cinnabar_island/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CinnabarIsland[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_island/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_IndigoPlateau[] = INCBIN_U32("data/tilesets/secondary/indigo_plateau/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_IndigoPlateau[][16] = +{ + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/indigo_plateau/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SaffronCity[] = INCBIN_U32("data/tilesets/secondary/saffron_city/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SaffronCity[][16] = +{ + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_city/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Building[] = INCBIN_U32("data/tilesets/primary/building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Building[][16] = +{ + INCBIN_U16("data/tilesets/primary/building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Mart[] = INCBIN_U32("data/tilesets/secondary/mart/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Mart[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mart/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mart/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonCenter[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Cave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dummy1[] = INCBIN_U32("data/tilesets/secondary/dummy_1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dummy1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Museum[] = INCBIN_U32("data/tilesets/secondary/museum/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Museum[][16] = +{ + INCBIN_U16("data/tilesets/secondary/museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/museum/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/tiles.4bpp"); + +const u16 gTilesetPalettes_CableClub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BikeShop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lab[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lab/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_HoennBuilding[] = INCBIN_U32("data/tilesets/secondary/hoenn_building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_HoennBuilding[][16] = +{ + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/hoenn_building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GameCorner[] = INCBIN_U32("data/tilesets/secondary/game_corner/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_GameCorner[][16] = +{ + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/game_corner/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PewterGym[] = INCBIN_U32("data/tilesets/secondary/pewter_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PewterGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pewter_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CeruleanGym[] = INCBIN_U32("data/tilesets/secondary/cerulean_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CeruleanGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_VermilionGym[] = INCBIN_U32("data/tilesets/secondary/vermilion_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_VermilionGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/vermilion_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CeladonGym[] = INCBIN_U32("data/tilesets/secondary/celadon_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CeladonGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/celadon_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_FuchsiaGym[] = INCBIN_U32("data/tilesets/secondary/fuchsia_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_FuchsiaGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fuchsia_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SaffronGym[] = INCBIN_U32("data/tilesets/secondary/saffron_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SaffronGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/saffron_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CinnabarGym[] = INCBIN_U32("data/tilesets/secondary/cinnabar_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CinnabarGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cinnabar_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_ViridianGym[] = INCBIN_U32("data/tilesets/secondary/viridian_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_ViridianGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SSAnne[] = INCBIN_U32("data/tilesets/secondary/ss_anne/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SSAnne[][16] = +{ + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/ss_anne/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dummy2[] = INCBIN_U32("data/tilesets/secondary/dummy_2/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dummy2[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_2/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_ViridianForest[] = INCBIN_U32("data/tilesets/secondary/viridian_forest/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_ViridianForest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/viridian_forest/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_UnusedGatehouse1[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_UnusedGatehouse1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RockTunnel[] = INCBIN_U32("data/tilesets/secondary/rock_tunnel/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RockTunnel[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rock_tunnel/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_DiglettsCave[] = INCBIN_U32("data/tilesets/secondary/digletts_cave/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_DiglettsCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/digletts_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeafoamIslands[] = INCBIN_U32("data/tilesets/secondary/seafoam_islands/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeafoamIslands[][16] = +{ + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/seafoam_islands/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_UnusedGatehouse2[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_2/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_UnusedGatehouse2[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CeruleanCave[] = INCBIN_U32("data/tilesets/secondary/cerulean_cave/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_CeruleanCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cerulean_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GenericBuilding2[] = INCBIN_U32("data/tilesets/secondary/generic_building_2/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_GenericBuilding2[][16] = +{ + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building_2/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PowerPlant[] = INCBIN_U32("data/tilesets/secondary/power_plant/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PowerPlant[][16] = +{ + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/power_plant/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeaCottage[] = INCBIN_U32("data/tilesets/secondary/sea_cottage/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeaCottage[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sea_cottage/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SilphCo[] = INCBIN_U32("data/tilesets/secondary/condominiums/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SilphCo[][16] = +{ + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/condominiums/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_UndergroundPath[] = INCBIN_U32("data/tilesets/secondary/underground_path/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_UndergroundPath[][16] = +{ + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/underground_path/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonTower[] = INCBIN_U32("data/tilesets/secondary/pokemon_tower/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonTower[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_tower/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SafariZoneBuilding[] = INCBIN_U32("data/tilesets/secondary/safari_zone_building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SafariZoneBuilding[][16] = +{ + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/safari_zone_building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonMansion[] = INCBIN_U32("data/tilesets/secondary/pokemon_mansion/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonMansion[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_mansion/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RestaurantHotel[] = INCBIN_U32("data/tilesets/secondary/restaurant_hotel/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RestaurantHotel[][16] = +{ + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/restaurant_hotel/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_School[] = INCBIN_U32("data/tilesets/secondary/school/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_School[][16] = +{ + INCBIN_U16("data/tilesets/secondary/school/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/school/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_FanClubDaycare[] = INCBIN_U32("data/tilesets/secondary/fan_club_daycare/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_FanClubDaycare[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fan_club_daycare/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BurgledHouse[] = INCBIN_U32("data/tilesets/secondary/burgled_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BurgledHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/burgled_house/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dummy3[] = INCBIN_U32("data/tilesets/secondary/dummy_3/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dummy3[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_3/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dummy4[] = INCBIN_U32("data/tilesets/secondary/dummy_4/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dummy4[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dummy_4/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MtEmber[] = INCBIN_U32("data/tilesets/secondary/mt_ember/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MtEmber[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mt_ember/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BerryForest[] = INCBIN_U32("data/tilesets/secondary/berry_forest/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BerryForest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/berry_forest/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_NavelRock[][16] = +{ + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TanobyRuins[] = INCBIN_U32("data/tilesets/secondary/tanoby_ruins/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TanobyRuins[][16] = +{ + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/tanoby_ruins/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeviiIslands123[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_123/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeviiIslands123[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_123/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeviiIslands45[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_45/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeviiIslands45[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_45/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeviiIslands67[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_67/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeviiIslands67[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sevii_islands_67/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TrainerTower[] = INCBIN_U32("data/tilesets/secondary/trainer_tower/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TrainerTower[][16] = +{ + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_tower/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_IslandHarbor[][16] = +{ + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonLeague[] = INCBIN_U32("data/tilesets/secondary/pokemon_league/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonLeague[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_league/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_HallOfFame[] = INCBIN_U32("data/tilesets/secondary/hall_of_fame/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_HallOfFame[][16] = +{ + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/hall_of_fame/palettes/15.gbapal"), +}; diff --git a/src/data/tilesets/headers.h b/src/data/tilesets/headers.h new file mode 100644 index 000000000..2e4ddb901 --- /dev/null +++ b/src/data/tilesets/headers.h @@ -0,0 +1,748 @@ +const struct Tileset gTileset_General = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_General, + .palettes = gTilesetPalettes_General, + .metatiles = gMetatiles_General, + .metatileAttributes = gMetatileAttributes_General, + .callback = InitTilesetAnim_General, +}; + +const struct Tileset gTileset_PalletTown = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PalletTown, + .palettes = gTilesetPalettes_PalletTown, + .metatiles = gMetatiles_PalletTown, + .metatileAttributes = gMetatileAttributes_PalletTown, + .callback = NULL, +}; + +const struct Tileset gTileset_ViridianCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_ViridianCity, + .palettes = gTilesetPalettes_ViridianCity, + .metatiles = gMetatiles_ViridianCity, + .metatileAttributes = gMetatileAttributes_ViridianCity, + .callback = NULL, +}; + +const struct Tileset gTileset_PewterCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PewterCity, + .palettes = gTilesetPalettes_PewterCity, + .metatiles = gMetatiles_PewterCity, + .metatileAttributes = gMetatileAttributes_PewterCity, + .callback = NULL, +}; + +const struct Tileset gTileset_CeruleanCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CeruleanCity, + .palettes = gTilesetPalettes_CeruleanCity, + .metatiles = gMetatiles_CeruleanCity, + .metatileAttributes = gMetatileAttributes_CeruleanCity, + .callback = NULL, +}; + +const struct Tileset gTileset_LavenderTown = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_LavenderTown, + .palettes = gTilesetPalettes_LavenderTown, + .metatiles = gMetatiles_LavenderTown, + .metatileAttributes = gMetatileAttributes_LavenderTown, + .callback = NULL, +}; + +const struct Tileset gTileset_VermilionCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_VermilionCity, + .palettes = gTilesetPalettes_VermilionCity, + .metatiles = gMetatiles_VermilionCity, + .metatileAttributes = gMetatileAttributes_VermilionCity, + .callback = NULL, +}; + +const struct Tileset gTileset_CeladonCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CeladonCity, + .palettes = gTilesetPalettes_CeladonCity, + .metatiles = gMetatiles_CeladonCity, + .metatileAttributes = gMetatileAttributes_CeladonCity, + .callback = InitTilesetAnim_CeladonCity, +}; + +const struct Tileset gTileset_FuchsiaCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_FuchsiaCity, + .palettes = gTilesetPalettes_FuchsiaCity, + .metatiles = gMetatiles_FuchsiaCity, + .metatileAttributes = gMetatileAttributes_FuchsiaCity, + .callback = NULL, +}; + +const struct Tileset gTileset_CinnabarIsland = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CinnabarIsland, + .palettes = gTilesetPalettes_CinnabarIsland, + .metatiles = gMetatiles_CinnabarIsland, + .metatileAttributes = gMetatileAttributes_CinnabarIsland, + .callback = NULL, +}; + +const struct Tileset gTileset_IndigoPlateau = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_IndigoPlateau, + .palettes = gTilesetPalettes_IndigoPlateau, + .metatiles = gMetatiles_IndigoPlateau, + .metatileAttributes = gMetatileAttributes_IndigoPlateau, + .callback = NULL, +}; + +const struct Tileset gTileset_SaffronCity = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SaffronCity, + .palettes = gTilesetPalettes_SaffronCity, + .metatiles = gMetatiles_SaffronCity, + .metatileAttributes = gMetatileAttributes_SaffronCity, + .callback = NULL, +}; + +const struct Tileset gTileset_Building = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_Building, + .palettes = gTilesetPalettes_Building, + .metatiles = gMetatiles_Building, + .metatileAttributes = gMetatileAttributes_Building, + .callback = NULL, +}; + +const struct Tileset gTileset_Mart = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Mart, + .palettes = gTilesetPalettes_Mart, + .metatiles = gMetatiles_Mart, + .metatileAttributes = gMetatileAttributes_Mart, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonCenter = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonCenter, + .palettes = gTilesetPalettes_PokemonCenter, + .metatiles = gMetatiles_PokemonCenter, + .metatileAttributes = gMetatileAttributes_PokemonCenter, + .callback = NULL, +}; + +const struct Tileset gTileset_Cave = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Cave, + .palettes = gTilesetPalettes_Cave, + .metatiles = gMetatiles_Cave, + .metatileAttributes = gMetatileAttributes_Cave, + .callback = NULL, +}; + +const struct Tileset gTileset_Dummy1 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dummy1, + .palettes = gTilesetPalettes_Dummy1, + .metatiles = gMetatiles_Dummy1, + .metatileAttributes = gMetatileAttributes_Dummy1, + .callback = NULL, +}; + +const struct Tileset gTileset_Museum = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Museum, + .palettes = gTilesetPalettes_Museum, + .metatiles = gMetatiles_Museum, + .metatileAttributes = gMetatileAttributes_Museum, + .callback = NULL, +}; + +const struct Tileset gTileset_CableClub = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CableClub, + .palettes = gTilesetPalettes_CableClub, + .metatiles = gMetatiles_CableClub, + .metatileAttributes = gMetatileAttributes_CableClub, + .callback = NULL, +}; + +const struct Tileset gTileset_BikeShop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BikeShop, + .palettes = gTilesetPalettes_BikeShop, + .metatiles = gMetatiles_BikeShop, + .metatileAttributes = gMetatileAttributes_BikeShop, + .callback = NULL, +}; + +const struct Tileset gTileset_GenericBuilding1 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_GenericBuilding1, + .palettes = gTilesetPalettes_GenericBuilding1, + .metatiles = gMetatiles_GenericBuilding1, + .metatileAttributes = gMetatileAttributes_GenericBuilding1, + .callback = NULL, +}; + +const struct Tileset gTileset_Lab = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lab, + .palettes = gTilesetPalettes_Lab, + .metatiles = gMetatiles_Lab, + .metatileAttributes = gMetatileAttributes_Lab, + .callback = NULL, +}; + +const struct Tileset gTileset_FuchsiaGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_FuchsiaGym, + .palettes = gTilesetPalettes_FuchsiaGym, + .metatiles = gMetatiles_FuchsiaGym, + .metatileAttributes = gMetatileAttributes_FuchsiaGym, + .callback = NULL, +}; + +const struct Tileset gTileset_ViridianGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_ViridianGym, + .palettes = gTilesetPalettes_ViridianGym, + .metatiles = gMetatiles_ViridianGym, + .metatileAttributes = gMetatileAttributes_ViridianGym, + .callback = NULL, +}; + +const struct Tileset gTileset_HoennBuilding = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_HoennBuilding, + .palettes = gTilesetPalettes_HoennBuilding, + .metatiles = gMetatiles_HoennBuilding, + .metatileAttributes = gMetatileAttributes_HoennBuilding, + .callback = NULL, +}; + +const struct Tileset gTileset_GameCorner = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_GameCorner, + .palettes = gTilesetPalettes_GameCorner, + .metatiles = gMetatiles_GameCorner, + .metatileAttributes = gMetatileAttributes_GameCorner, + .callback = NULL, +}; + +const struct Tileset gTileset_PewterGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PewterGym, + .palettes = gTilesetPalettes_PewterGym, + .metatiles = gMetatiles_PewterGym, + .metatileAttributes = gMetatileAttributes_PewterGym, + .callback = NULL, +}; + +const struct Tileset gTileset_CeruleanGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CeruleanGym, + .palettes = gTilesetPalettes_CeruleanGym, + .metatiles = gMetatiles_CeruleanGym, + .metatileAttributes = gMetatileAttributes_CeruleanGym, + .callback = NULL, +}; + +const struct Tileset gTileset_VermilionGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_VermilionGym, + .palettes = gTilesetPalettes_VermilionGym, + .metatiles = gMetatiles_VermilionGym, + .metatileAttributes = gMetatileAttributes_VermilionGym, + .callback = InitTilesetAnim_VermilionGym, +}; + +const struct Tileset gTileset_CeladonGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CeladonGym, + .palettes = gTilesetPalettes_CeladonGym, + .metatiles = gMetatiles_CeladonGym, + .metatileAttributes = gMetatileAttributes_CeladonGym, + .callback = InitTilesetAnim_CeladonGym, +}; + +const struct Tileset gTileset_SaffronGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SaffronGym, + .palettes = gTilesetPalettes_SaffronGym, + .metatiles = gMetatiles_SaffronGym, + .metatileAttributes = gMetatileAttributes_SaffronGym, + .callback = NULL, +}; + +const struct Tileset gTileset_CinnabarGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CinnabarGym, + .palettes = gTilesetPalettes_CinnabarGym, + .metatiles = gMetatiles_CinnabarGym, + .metatileAttributes = gMetatileAttributes_CinnabarGym, + .callback = NULL, +}; + +const struct Tileset gTileset_SSAnne = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SSAnne, + .palettes = gTilesetPalettes_SSAnne, + .metatiles = gMetatiles_SSAnne, + .metatileAttributes = gMetatileAttributes_SSAnne, + .callback = NULL, +}; + +const struct Tileset gTileset_Dummy2 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dummy2, + .palettes = gTilesetPalettes_Dummy2, + .metatiles = gMetatiles_Dummy2, + .metatileAttributes = gMetatileAttributes_Dummy2, + .callback = NULL, +}; + +const struct Tileset gTileset_ViridianForest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_ViridianForest, + .palettes = gTilesetPalettes_ViridianForest, + .metatiles = gMetatiles_ViridianForest, + .metatileAttributes = gMetatileAttributes_ViridianForest, + .callback = NULL, +}; + +const struct Tileset gTileset_UnusedGatehouse1 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_UnusedGatehouse1, + .palettes = gTilesetPalettes_UnusedGatehouse1, + .metatiles = gMetatiles_UnusedGatehouse1, + .metatileAttributes = gMetatileAttributes_UnusedGatehouse1, + .callback = NULL, +}; + +const struct Tileset gTileset_RockTunnel = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RockTunnel, + .palettes = gTilesetPalettes_RockTunnel, + .metatiles = gMetatiles_RockTunnel, + .metatileAttributes = gMetatileAttributes_RockTunnel, + .callback = NULL, +}; + +const struct Tileset gTileset_DiglettsCave = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_DiglettsCave, + .palettes = gTilesetPalettes_DiglettsCave, + .metatiles = gMetatiles_DiglettsCave, + .metatileAttributes = gMetatileAttributes_DiglettsCave, + .callback = NULL, +}; + +const struct Tileset gTileset_SeafoamIslands = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeafoamIslands, + .palettes = gTilesetPalettes_SeafoamIslands, + .metatiles = gMetatiles_SeafoamIslands, + .metatileAttributes = gMetatileAttributes_SeafoamIslands, + .callback = NULL, +}; + +const struct Tileset gTileset_UnusedGatehouse2 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_UnusedGatehouse2, + .palettes = gTilesetPalettes_UnusedGatehouse2, + .metatiles = gMetatiles_UnusedGatehouse2, + .metatileAttributes = gMetatileAttributes_UnusedGatehouse2, + .callback = NULL, +}; + +const struct Tileset gTileset_CeruleanCave = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CeruleanCave, + .palettes = gTilesetPalettes_CeruleanCave, + .metatiles = gMetatiles_CeruleanCave, + .metatileAttributes = gMetatileAttributes_CeruleanCave, + .callback = NULL, +}; + +const struct Tileset gTileset_DepartmentStore = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_DepartmentStore, + .palettes = gTilesetPalettes_DepartmentStore, + .metatiles = gMetatiles_DepartmentStore, + .metatileAttributes = gMetatileAttributes_DepartmentStore, + .callback = NULL, +}; + +const struct Tileset gTileset_GenericBuilding2 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_GenericBuilding2, + .palettes = gTilesetPalettes_GenericBuilding2, + .metatiles = gMetatiles_GenericBuilding2, + .metatileAttributes = gMetatileAttributes_GenericBuilding2, + .callback = NULL, +}; + +const struct Tileset gTileset_PowerPlant = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PowerPlant, + .palettes = gTilesetPalettes_PowerPlant, + .metatiles = gMetatiles_PowerPlant, + .metatileAttributes = gMetatileAttributes_PowerPlant, + .callback = NULL, +}; + +const struct Tileset gTileset_SeaCottage = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeaCottage, + .palettes = gTilesetPalettes_SeaCottage, + .metatiles = gMetatiles_SeaCottage, + .metatileAttributes = gMetatileAttributes_SeaCottage, + .callback = NULL, +}; + +const struct Tileset gTileset_SilphCo = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SilphCo, + .palettes = gTilesetPalettes_SilphCo, + .metatiles = gMetatiles_SilphCo, + .metatileAttributes = gMetatileAttributes_SilphCo, + .callback = InitTilesetAnim_SilphCo, +}; + +const struct Tileset gTileset_UndergroundPath = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_UndergroundPath, + .palettes = gTilesetPalettes_UndergroundPath, + .metatiles = gMetatiles_UndergroundPath, + .metatileAttributes = gMetatileAttributes_UndergroundPath, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonTower = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonTower, + .palettes = gTilesetPalettes_PokemonTower, + .metatiles = gMetatiles_PokemonTower, + .metatileAttributes = gMetatileAttributes_PokemonTower, + .callback = NULL, +}; + +const struct Tileset gTileset_SafariZoneBuilding = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SafariZoneBuilding, + .palettes = gTilesetPalettes_SafariZoneBuilding, + .metatiles = gMetatiles_SafariZoneBuilding, + .metatileAttributes = gMetatileAttributes_SafariZoneBuilding, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonMansion = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonMansion, + .palettes = gTilesetPalettes_PokemonMansion, + .metatiles = gMetatiles_PokemonMansion, + .metatileAttributes = gMetatileAttributes_PokemonMansion, + .callback = NULL, +}; + +const struct Tileset gTileset_RestaurantHotel = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RestaurantHotel, + .palettes = gTilesetPalettes_RestaurantHotel, + .metatiles = gMetatiles_RestaurantHotel, + .metatileAttributes = gMetatileAttributes_RestaurantHotel, + .callback = NULL, +}; + +const struct Tileset gTileset_School = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_School, + .palettes = gTilesetPalettes_School, + .metatiles = gMetatiles_School, + .metatileAttributes = gMetatileAttributes_School, + .callback = NULL, +}; + +const struct Tileset gTileset_FanClubDaycare = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_FanClubDaycare, + .palettes = gTilesetPalettes_FanClubDaycare, + .metatiles = gMetatiles_FanClubDaycare, + .metatileAttributes = gMetatileAttributes_FanClubDaycare, + .callback = NULL, +}; + +const struct Tileset gTileset_Condominiums = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SilphCo, + .palettes = gTilesetPalettes_SilphCo, + .metatiles = gMetatiles_Condominiums, + .metatileAttributes = gMetatileAttributes_Condominiums, + .callback = NULL, +}; + +const struct Tileset gTileset_BurgledHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BurgledHouse, + .palettes = gTilesetPalettes_BurgledHouse, + .metatiles = gMetatiles_BurgledHouse, + .metatileAttributes = gMetatileAttributes_BurgledHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_Dummy3 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dummy3, + .palettes = gTilesetPalettes_Dummy3, + .metatiles = gMetatiles_Dummy3, + .metatileAttributes = gMetatileAttributes_Dummy3, + .callback = NULL, +}; + +const struct Tileset gTileset_Dummy4 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dummy4, + .palettes = gTilesetPalettes_Dummy4, + .metatiles = gMetatiles_Dummy4, + .metatileAttributes = gMetatileAttributes_Dummy4, + .callback = NULL, +}; + +const struct Tileset gTileset_MtEmber = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MtEmber, + .palettes = gTilesetPalettes_MtEmber, + .metatiles = gMetatiles_MtEmber, + .metatileAttributes = gMetatileAttributes_MtEmber, + .callback = InitTilesetAnim_MtEmber, +}; + +const struct Tileset gTileset_BerryForest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BerryForest, + .palettes = gTilesetPalettes_BerryForest, + .metatiles = gMetatiles_BerryForest, + .metatileAttributes = gMetatileAttributes_BerryForest, + .callback = NULL, +}; + +const struct Tileset gTileset_NavelRock = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_NavelRock, + .palettes = gTilesetPalettes_NavelRock, + .metatiles = gMetatiles_NavelRock, + .metatileAttributes = gMetatileAttributes_NavelRock, + .callback = NULL, +}; + +const struct Tileset gTileset_TanobyRuins = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TanobyRuins, + .palettes = gTilesetPalettes_TanobyRuins, + .metatiles = gMetatiles_TanobyRuins, + .metatileAttributes = gMetatileAttributes_TanobyRuins, + .callback = NULL, +}; + +const struct Tileset gTileset_SeviiIslands123 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeviiIslands123, + .palettes = gTilesetPalettes_SeviiIslands123, + .metatiles = gMetatiles_SeviiIslands123, + .metatileAttributes = gMetatileAttributes_SeviiIslands123, + .callback = NULL, +}; + +const struct Tileset gTileset_SeviiIslands45 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeviiIslands45, + .palettes = gTilesetPalettes_SeviiIslands45, + .metatiles = gMetatiles_SeviiIslands45, + .metatileAttributes = gMetatileAttributes_SeviiIslands45, + .callback = NULL, +}; + +const struct Tileset gTileset_SeviiIslands67 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeviiIslands67, + .palettes = gTilesetPalettes_SeviiIslands67, + .metatiles = gMetatiles_SeviiIslands67, + .metatileAttributes = gMetatileAttributes_SeviiIslands67, + .callback = NULL, +}; + +const struct Tileset gTileset_TrainerTower = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TrainerTower, + .palettes = gTilesetPalettes_TrainerTower, + .metatiles = gMetatiles_TrainerTower, + .metatileAttributes = gMetatileAttributes_TrainerTower, + .callback = NULL, +}; + +const struct Tileset gTileset_IslandHarbor = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_IslandHarbor, + .palettes = gTilesetPalettes_IslandHarbor, + .metatiles = gMetatiles_IslandHarbor, + .metatileAttributes = gMetatileAttributes_IslandHarbor, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonLeague = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonLeague, + .palettes = gTilesetPalettes_PokemonLeague, + .metatiles = gMetatiles_PokemonLeague, + .metatileAttributes = gMetatileAttributes_PokemonLeague, + .callback = NULL, +}; + +const struct Tileset gTileset_HallOfFame = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_HallOfFame, + .palettes = gTilesetPalettes_HallOfFame, + .metatiles = gMetatiles_HallOfFame, + .metatileAttributes = gMetatileAttributes_HallOfFame, + .callback = NULL, +}; + diff --git a/src/data/tilesets/metatiles.h b/src/data/tilesets/metatiles.h new file mode 100644 index 000000000..a9f267159 --- /dev/null +++ b/src/data/tilesets/metatiles.h @@ -0,0 +1,203 @@ +const u16 gMetatiles_General[] = INCBIN_U16("data/tilesets/primary/general/metatiles.bin"); +const u32 gMetatileAttributes_General[] = INCBIN_U32("data/tilesets/primary/general/metatile_attributes.bin"); + +const u16 gMetatiles_PalletTown[] = INCBIN_U16("data/tilesets/secondary/pallet_town/metatiles.bin"); +const u32 gMetatileAttributes_PalletTown[] = INCBIN_U32("data/tilesets/secondary/pallet_town/metatile_attributes.bin"); + +const u16 gMetatiles_ViridianCity[] = INCBIN_U16("data/tilesets/secondary/viridian_city/metatiles.bin"); +const u32 gMetatileAttributes_ViridianCity[] = INCBIN_U32("data/tilesets/secondary/viridian_city/metatile_attributes.bin"); + +const u16 gMetatiles_PewterCity[] = INCBIN_U16("data/tilesets/secondary/pewter_city/metatiles.bin"); +const u32 gMetatileAttributes_PewterCity[] = INCBIN_U32("data/tilesets/secondary/pewter_city/metatile_attributes.bin"); + +const u16 gMetatiles_CeruleanCity[] = INCBIN_U16("data/tilesets/secondary/cerulean_city/metatiles.bin"); +const u32 gMetatileAttributes_CeruleanCity[] = INCBIN_U32("data/tilesets/secondary/cerulean_city/metatile_attributes.bin"); + +const u16 gMetatiles_LavenderTown[] = INCBIN_U16("data/tilesets/secondary/lavender_town/metatiles.bin"); +const u32 gMetatileAttributes_LavenderTown[] = INCBIN_U32("data/tilesets/secondary/lavender_town/metatile_attributes.bin"); + +const u16 gMetatiles_VermilionCity[] = INCBIN_U16("data/tilesets/secondary/vermilion_city/metatiles.bin"); +const u32 gMetatileAttributes_VermilionCity[] = INCBIN_U32("data/tilesets/secondary/vermilion_city/metatile_attributes.bin"); + +const u16 gMetatiles_CeladonCity[] = INCBIN_U16("data/tilesets/secondary/celadon_city/metatiles.bin"); +const u32 gMetatileAttributes_CeladonCity[] = INCBIN_U32("data/tilesets/secondary/celadon_city/metatile_attributes.bin"); + +const u16 gMetatiles_FuchsiaCity[] = INCBIN_U16("data/tilesets/secondary/fuchsia_city/metatiles.bin"); +const u32 gMetatileAttributes_FuchsiaCity[] = INCBIN_U32("data/tilesets/secondary/fuchsia_city/metatile_attributes.bin"); + +const u16 gMetatiles_CinnabarIsland[] = INCBIN_U16("data/tilesets/secondary/cinnabar_island/metatiles.bin"); +const u32 gMetatileAttributes_CinnabarIsland[] = INCBIN_U32("data/tilesets/secondary/cinnabar_island/metatile_attributes.bin"); + +const u16 gMetatiles_IndigoPlateau[] = INCBIN_U16("data/tilesets/secondary/indigo_plateau/metatiles.bin"); +const u32 gMetatileAttributes_IndigoPlateau[] = INCBIN_U32("data/tilesets/secondary/indigo_plateau/metatile_attributes.bin"); + +const u16 gMetatiles_SaffronCity[] = INCBIN_U16("data/tilesets/secondary/saffron_city/metatiles.bin"); +const u32 gMetatileAttributes_SaffronCity[] = INCBIN_U32("data/tilesets/secondary/saffron_city/metatile_attributes.bin"); + +const u16 gMetatiles_PewterGym[] = INCBIN_U16("data/tilesets/secondary/pewter_gym/metatiles.bin"); +const u32 gMetatileAttributes_PewterGym[] = INCBIN_U32("data/tilesets/secondary/pewter_gym/metatile_attributes.bin"); + +const u16 gMetatiles_CeruleanGym[] = INCBIN_U16("data/tilesets/secondary/cerulean_gym/metatiles.bin"); +const u32 gMetatileAttributes_CeruleanGym[] = INCBIN_U32("data/tilesets/secondary/cerulean_gym/metatile_attributes.bin"); + +const u16 gMetatiles_VermilionGym[] = INCBIN_U16("data/tilesets/secondary/vermilion_gym/metatiles.bin"); +const u32 gMetatileAttributes_VermilionGym[] = INCBIN_U32("data/tilesets/secondary/vermilion_gym/metatile_attributes.bin"); + +const u16 gMetatiles_CeladonGym[] = INCBIN_U16("data/tilesets/secondary/celadon_gym/metatiles.bin"); +const u32 gMetatileAttributes_CeladonGym[] = INCBIN_U32("data/tilesets/secondary/celadon_gym/metatile_attributes.bin"); + +const u16 gMetatiles_FuchsiaGym[] = INCBIN_U16("data/tilesets/secondary/fuchsia_gym/metatiles.bin"); +const u32 gMetatileAttributes_FuchsiaGym[] = INCBIN_U32("data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin"); + +const u16 gMetatiles_SaffronGym[] = INCBIN_U16("data/tilesets/secondary/saffron_gym/metatiles.bin"); +const u32 gMetatileAttributes_SaffronGym[] = INCBIN_U32("data/tilesets/secondary/saffron_gym/metatile_attributes.bin"); + +const u16 gMetatiles_CinnabarGym[] = INCBIN_U16("data/tilesets/secondary/cinnabar_gym/metatiles.bin"); +const u32 gMetatileAttributes_CinnabarGym[] = INCBIN_U32("data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin"); + +const u16 gMetatiles_ViridianGym[] = INCBIN_U16("data/tilesets/secondary/viridian_gym/metatiles.bin"); +const u32 gMetatileAttributes_ViridianGym[] = INCBIN_U32("data/tilesets/secondary/viridian_gym/metatile_attributes.bin"); + +const u16 gMetatiles_Building[] = INCBIN_U16("data/tilesets/primary/building/metatiles.bin"); +const u32 gMetatileAttributes_Building[] = INCBIN_U32("data/tilesets/primary/building/metatile_attributes.bin"); + +const u16 gMetatiles_Dummy1[] = INCBIN_U16("data/tilesets/secondary/dummy_1/metatiles.bin"); +const u32 gMetatileAttributes_Dummy1[] = INCBIN_U32("data/tilesets/secondary/dummy_1/metatile_attributes.bin"); + +const u16 gMetatiles_HoennBuilding[] = INCBIN_U16("data/tilesets/secondary/hoenn_building/metatiles.bin"); +const u32 gMetatileAttributes_HoennBuilding[] = INCBIN_U32("data/tilesets/secondary/hoenn_building/metatile_attributes.bin"); + +const u16 gMetatiles_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatiles.bin"); +const u32 gMetatileAttributes_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/metatile_attributes.bin"); + +const u16 gMetatiles_Mart[] = INCBIN_U16("data/tilesets/secondary/mart/metatiles.bin"); +const u32 gMetatileAttributes_Mart[] = INCBIN_U32("data/tilesets/secondary/mart/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatiles.bin"); +const u32 gMetatileAttributes_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/metatile_attributes.bin"); + +const u16 gMetatiles_GenericBuilding1[] = INCBIN_U16("data/tilesets/secondary/generic_building_1/metatiles.bin"); +const u32 gMetatileAttributes_GenericBuilding1[] = INCBIN_U32("data/tilesets/secondary/generic_building_1/metatile_attributes.bin"); + +const u16 gMetatiles_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatiles.bin"); +const u32 gMetatileAttributes_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/metatile_attributes.bin"); + +const u16 gMetatiles_GameCorner[] = INCBIN_U16("data/tilesets/secondary/game_corner/metatiles.bin"); +const u32 gMetatileAttributes_GameCorner[] = INCBIN_U32("data/tilesets/secondary/game_corner/metatile_attributes.bin"); + +const u16 gMetatiles_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatiles.bin"); +const u32 gMetatileAttributes_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/metatile_attributes.bin"); + +const u16 gMetatiles_SSAnne[] = INCBIN_U16("data/tilesets/secondary/ss_anne/metatiles.bin"); +const u32 gMetatileAttributes_SSAnne[] = INCBIN_U32("data/tilesets/secondary/ss_anne/metatile_attributes.bin"); + +const u16 gMetatiles_Dummy2[] = INCBIN_U16("data/tilesets/secondary/dummy_2/metatiles.bin"); +const u32 gMetatileAttributes_Dummy2[] = INCBIN_U32("data/tilesets/secondary/dummy_2/metatile_attributes.bin"); + +const u16 gMetatiles_ViridianForest[] = INCBIN_U16("data/tilesets/secondary/viridian_forest/metatiles.bin"); +const u32 gMetatileAttributes_ViridianForest[] = INCBIN_U32("data/tilesets/secondary/viridian_forest/metatile_attributes.bin"); + +const u16 gMetatiles_UnusedGatehouse1[] = INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/metatiles.bin"); +const u32 gMetatileAttributes_UnusedGatehouse1[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_1/metatile_attributes.bin"); + +const u16 gMetatiles_RockTunnel[] = INCBIN_U16("data/tilesets/secondary/rock_tunnel/metatiles.bin"); +const u32 gMetatileAttributes_RockTunnel[] = INCBIN_U32("data/tilesets/secondary/rock_tunnel/metatile_attributes.bin"); + +const u16 gMetatiles_DiglettsCave[] = INCBIN_U16("data/tilesets/secondary/digletts_cave/metatiles.bin"); +const u32 gMetatileAttributes_DiglettsCave[] = INCBIN_U32("data/tilesets/secondary/digletts_cave/metatile_attributes.bin"); + +const u16 gMetatiles_SeafoamIslands[] = INCBIN_U16("data/tilesets/secondary/seafoam_islands/metatiles.bin"); +const u32 gMetatileAttributes_SeafoamIslands[] = INCBIN_U32("data/tilesets/secondary/seafoam_islands/metatile_attributes.bin"); + +const u16 gMetatiles_UnusedGatehouse2[] = INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/metatiles.bin"); +const u32 gMetatileAttributes_UnusedGatehouse2[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_2/metatile_attributes.bin"); + +const u16 gMetatiles_CeruleanCave[] = INCBIN_U16("data/tilesets/secondary/cerulean_cave/metatiles.bin"); +const u32 gMetatileAttributes_CeruleanCave[] = INCBIN_U32("data/tilesets/secondary/cerulean_cave/metatile_attributes.bin"); + +const u16 gMetatiles_DepartmentStore[] = INCBIN_U16("data/tilesets/secondary/department_store/metatiles.bin"); +const u32 gMetatileAttributes_DepartmentStore[] = INCBIN_U32("data/tilesets/secondary/department_store/metatile_attributes.bin"); + +const u16 gMetatiles_GenericBuilding2[] = INCBIN_U16("data/tilesets/secondary/generic_building_2/metatiles.bin"); +const u32 gMetatileAttributes_GenericBuilding2[] = INCBIN_U32("data/tilesets/secondary/generic_building_2/metatile_attributes.bin"); + +const u16 gMetatiles_PowerPlant[] = INCBIN_U16("data/tilesets/secondary/power_plant/metatiles.bin"); +const u32 gMetatileAttributes_PowerPlant[] = INCBIN_U32("data/tilesets/secondary/power_plant/metatile_attributes.bin"); + +const u16 gMetatiles_SeaCottage[] = INCBIN_U16("data/tilesets/secondary/sea_cottage/metatiles.bin"); +const u32 gMetatileAttributes_SeaCottage[] = INCBIN_U32("data/tilesets/secondary/sea_cottage/metatile_attributes.bin"); + +const u16 gMetatiles_SilphCo[] = INCBIN_U16("data/tilesets/secondary/silph_co/metatiles.bin"); +const u32 gMetatileAttributes_SilphCo[] = INCBIN_U32("data/tilesets/secondary/silph_co/metatile_attributes.bin"); + +const u16 gMetatiles_UndergroundPath[] = INCBIN_U16("data/tilesets/secondary/underground_path/metatiles.bin"); +const u32 gMetatileAttributes_UndergroundPath[] = INCBIN_U32("data/tilesets/secondary/underground_path/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonTower[] = INCBIN_U16("data/tilesets/secondary/pokemon_tower/metatiles.bin"); +const u32 gMetatileAttributes_PokemonTower[] = INCBIN_U32("data/tilesets/secondary/pokemon_tower/metatile_attributes.bin"); + +const u16 gMetatiles_SafariZoneBuilding[] = INCBIN_U16("data/tilesets/secondary/safari_zone_building/metatiles.bin"); +const u32 gMetatileAttributes_SafariZoneBuilding[] = INCBIN_U32("data/tilesets/secondary/safari_zone_building/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonMansion[] = INCBIN_U16("data/tilesets/secondary/pokemon_mansion/metatiles.bin"); +const u32 gMetatileAttributes_PokemonMansion[] = INCBIN_U32("data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin"); + +const u16 gMetatiles_Museum[] = INCBIN_U16("data/tilesets/secondary/museum/metatiles.bin"); +const u32 gMetatileAttributes_Museum[] = INCBIN_U32("data/tilesets/secondary/museum/metatile_attributes.bin"); + +const u16 gMetatiles_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatiles.bin"); +const u32 gMetatileAttributes_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/metatile_attributes.bin"); + +const u16 gMetatiles_RestaurantHotel[] = INCBIN_U16("data/tilesets/secondary/restaurant_hotel/metatiles.bin"); +const u32 gMetatileAttributes_RestaurantHotel[] = INCBIN_U32("data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin"); + +const u16 gMetatiles_School[] = INCBIN_U16("data/tilesets/secondary/school/metatiles.bin"); +const u32 gMetatileAttributes_School[] = INCBIN_U32("data/tilesets/secondary/school/metatile_attributes.bin"); + +const u16 gMetatiles_FanClubDaycare[] = INCBIN_U16("data/tilesets/secondary/fan_club_daycare/metatiles.bin"); +const u32 gMetatileAttributes_FanClubDaycare[] = INCBIN_U32("data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin"); + +const u16 gMetatiles_Condominiums[] = INCBIN_U16("data/tilesets/secondary/condominiums/metatiles.bin"); +const u32 gMetatileAttributes_Condominiums[] = INCBIN_U32("data/tilesets/secondary/condominiums/metatile_attributes.bin"); + +const u16 gMetatiles_BurgledHouse[] = INCBIN_U16("data/tilesets/secondary/burgled_house/metatiles.bin"); +const u32 gMetatileAttributes_BurgledHouse[] = INCBIN_U32("data/tilesets/secondary/burgled_house/metatile_attributes.bin"); + +const u16 gMetatiles_Dummy3[] = INCBIN_U16("data/tilesets/secondary/dummy_3/metatiles.bin"); +const u32 gMetatileAttributes_Dummy3[] = INCBIN_U32("data/tilesets/secondary/dummy_3/metatile_attributes.bin"); + +const u16 gMetatiles_Dummy4[] = INCBIN_U16("data/tilesets/secondary/dummy_4/metatiles.bin"); +const u32 gMetatileAttributes_Dummy4[] = INCBIN_U32("data/tilesets/secondary/dummy_4/metatile_attributes.bin"); + +const u16 gMetatiles_MtEmber[] = INCBIN_U16("data/tilesets/secondary/mt_ember/metatiles.bin"); +const u32 gMetatileAttributes_MtEmber[] = INCBIN_U32("data/tilesets/secondary/mt_ember/metatile_attributes.bin"); + +const u16 gMetatiles_BerryForest[] = INCBIN_U16("data/tilesets/secondary/berry_forest/metatiles.bin"); +const u32 gMetatileAttributes_BerryForest[] = INCBIN_U32("data/tilesets/secondary/berry_forest/metatile_attributes.bin"); + +const u16 gMetatiles_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatiles.bin"); +const u32 gMetatileAttributes_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/metatile_attributes.bin"); + +const u16 gMetatiles_TanobyRuins[] = INCBIN_U16("data/tilesets/secondary/tanoby_ruins/metatiles.bin"); +const u32 gMetatileAttributes_TanobyRuins[] = INCBIN_U32("data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin"); + +const u16 gMetatiles_SeviiIslands123[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_123/metatiles.bin"); +const u32 gMetatileAttributes_SeviiIslands123[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin"); + +const u16 gMetatiles_SeviiIslands45[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_45/metatiles.bin"); +const u32 gMetatileAttributes_SeviiIslands45[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin"); + +const u16 gMetatiles_SeviiIslands67[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_67/metatiles.bin"); +const u32 gMetatileAttributes_SeviiIslands67[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin"); + +const u16 gMetatiles_TrainerTower[] = INCBIN_U16("data/tilesets/secondary/trainer_tower/metatiles.bin"); +const u32 gMetatileAttributes_TrainerTower[] = INCBIN_U32("data/tilesets/secondary/trainer_tower/metatile_attributes.bin"); + +const u16 gMetatiles_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatiles.bin"); +const u32 gMetatileAttributes_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonLeague[] = INCBIN_U16("data/tilesets/secondary/pokemon_league/metatiles.bin"); +const u32 gMetatileAttributes_PokemonLeague[] = INCBIN_U32("data/tilesets/secondary/pokemon_league/metatile_attributes.bin"); + +const u16 gMetatiles_HallOfFame[] = INCBIN_U16("data/tilesets/secondary/hall_of_fame/metatiles.bin"); +const u32 gMetatileAttributes_HallOfFame[] = INCBIN_U32("data/tilesets/secondary/hall_of_fame/metatile_attributes.bin"); diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c index 3f7128513..d012896bd 100644 --- a/src/digit_obj_util.c +++ b/src/digit_obj_util.c @@ -64,9 +64,9 @@ static const u8 sTilesPerImage[4][4] = } }; -const u16 gUnknown_8479668[] = INCBIN_U16("graphics/misc/unk_8479688.gbapal"); -const u32 gUnknown_8479688[] = INCBIN_U32("graphics/misc/unk_8479688.4bpp.lz"); -const u32 gUnknown_8479748[] = INCBIN_U32("graphics/misc/unk_8479748.4bpp.lz"); +const u16 gMinigameDigits_Pal[] = INCBIN_U16("graphics/misc/minigame_digits.gbapal"); +const u32 gMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits.4bpp.lz"); +static const u32 sUnusedMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits_unused.4bpp.lz"); // code bool32 DigitObjUtil_Init(u32 count) diff --git a/src/diploma.c b/src/diploma.c index 160540ccd..3edd1836a 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -12,40 +12,54 @@ struct Diploma { - u8 state; - u8 gfxStep; - u8 callbackStep; + u8 mainState; + u8 gfxState; + u8 initState; u16 tilemapBuffer[0x800]; }; -static EWRAM_DATA struct Diploma *gDiploma = NULL; +enum { + WIN_TEXT, + WIN_COUNT +}; -static void DiplomaBgInit(void); +enum { + BG_TEXT, + BG_DIPLOMA, +}; + +static EWRAM_DATA struct Diploma *sDiploma = NULL; + +static void DiplomaReset(void); static void DiplomaPrintText(void); -static u8 DiplomaLoadGfx(void); -static void DiplomaVblankHandler(void); +static bool8 DiplomaLoadGfx(void); +static void DiplomaInitScreen(void); static void CB2_Diploma(void); -static void Task_WaitForExit(u8); +static void Task_HandleDiplomaInput(u8); static void Task_DiplomaInit(u8); -static void Task_DiplomaReturnToOverworld(u8); +static void Task_DiplomaExit(u8); static const u32 sDiplomaGfx[] = INCBIN_U32("graphics/diploma/diploma.4bpp.lz"); static const u32 sDiplomaTilemap[] = INCBIN_U32("graphics/diploma/diploma.bin.lz"); static const u16 sDiplomaPal[] = INCBIN_U16("graphics/diploma/diploma.gbapal"); -static const u8 gUnknown_8415994[] = _("{HIGHLIGHT TRANSPARENT}プレイヤー"); -static const u8 gUnknown_841599D[] = _("{HIGHLIGHT TRANSPARENT}さま"); -static const u8 gUnknown_84159A3[] = _("{HIGHLIGHT TRANSPARENT}ホウエン"); -static const u8 gUnknown_84159AB[] = _("{HIGHLIGHT TRANSPARENT}ぜんこく"); -static const u8 gUnknown_84159B3[] = _("{HIGHLIGHT TRANSPARENT}     ポケモンずかんを\nみごと かんせい させた\nいだいなこうせきを たたえ\nここに しょうめい します"); -static const u8 gUnknown_84159ED[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}ゲームフリーク"); -static const u8 gUnknown_84159FB[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}"); +// Leftover text from RSE (some of which is also unused there) +static const u8 sText_Player[] = _("{HIGHLIGHT TRANSPARENT}プレイヤー"); +static const u8 sText_Sama[] = _("{HIGHLIGHT TRANSPARENT}さま"); +static const u8 sText_Hoenn[] = _("{HIGHLIGHT TRANSPARENT}ホウエン"); +static const u8 sText_National[] = _("{HIGHLIGHT TRANSPARENT}ぜんこく"); +static const u8 sText_CertifiesPokedexComplete[] = _("{HIGHLIGHT TRANSPARENT}     ポケモンずかんを\n" + "みごと かんせい させた\n" + "いだいなこうせきを たたえ\n" + "ここに しょうめい します"); +static const u8 sText_GameFreak[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}ゲームフリーク"); +static const u8 sText_Empty[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}"); -static const ALIGNED(4) u8 gUnknown_8415A04[3] = {0, 2, 3}; +static const ALIGNED(4) u8 sTextColors[3] = {0, 2, 3}; -static const struct BgTemplate gUnknown_8415A08[] = { +static const struct BgTemplate sBgTemplates[] = { { - .bg = 0, + .bg = BG_TEXT, .charBaseIndex = 0, .mapBaseIndex = 31, .screenSize = 0, @@ -53,7 +67,7 @@ static const struct BgTemplate gUnknown_8415A08[] = { .priority = 0, .baseTile = 1, }, { - .bg = 1, + .bg = BG_DIPLOMA, .charBaseIndex = 1, .mapBaseIndex = 29, .screenSize = 1, @@ -63,19 +77,20 @@ static const struct BgTemplate gUnknown_8415A08[] = { } }; -static const struct WindowTemplate gUnknown_8415A10[] = { - { - .bg = 0, +static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = { + [WIN_TEXT] = { + .bg = BG_TEXT, .tilemapLeft = 0, .tilemapTop = 2, .width = 29, .height = 16, .paletteNum = 15, .baseBlock = 0x000 - }, DUMMY_WIN_TEMPLATE + }, + [WIN_COUNT] = DUMMY_WIN_TEMPLATE }; -static void VCBC_DiplomaOam(void) +static void VBlankCB_Diploma(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -84,11 +99,11 @@ static void VCBC_DiplomaOam(void) void CB2_ShowDiploma(void) { - gDiploma = AllocZeroed(sizeof(*gDiploma)); - gDiploma->state = 0; - gDiploma->gfxStep = 0; - gDiploma->callbackStep = 0; - DiplomaBgInit(); + sDiploma = AllocZeroed(sizeof(*sDiploma)); + sDiploma->mainState = 0; + sDiploma->gfxState = 0; + sDiploma->initState = 0; + DiplomaReset(); CreateTask(Task_DiplomaInit, 0); SetMainCallback2(CB2_Diploma); } @@ -103,91 +118,81 @@ static void CB2_Diploma(void) static void Task_DiplomaInit(u8 taskId) { - switch (gDiploma->callbackStep) + switch (sDiploma->initState) { case 0: SetVBlankCallback(NULL); break; case 1: - DiplomaVblankHandler(); + DiplomaInitScreen(); break; case 2: if (!DiplomaLoadGfx()) - { return; - } break; case 3: - CopyToBgTilemapBuffer(1, sDiplomaTilemap, 0, 0); + CopyToBgTilemapBuffer(BG_DIPLOMA, sDiplomaTilemap, 0, 0); break; case 4: if (HasAllMons()) - { SetGpuReg(REG_OFFSET_BG1HOFS, 0x100); - } else - { SetGpuReg(REG_OFFSET_BG1HOFS, 0); - } break; case 5: DiplomaPrintText(); break; case 6: - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(BG_TEXT); + CopyBgTilemapBufferToVram(BG_DIPLOMA); break; case 7: BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); break; case 8: - SetVBlankCallback(VCBC_DiplomaOam); + SetVBlankCallback(VBlankCB_Diploma); break; default: if (gPaletteFade.active) - { break; - } PlayFanfareByFanfareNum(FANFARE_OBTAIN_BADGE); - gTasks[taskId].func = Task_WaitForExit; + gTasks[taskId].func = Task_HandleDiplomaInput; } - gDiploma->callbackStep++; + sDiploma->initState++; } -static void Task_WaitForExit(u8 taskId) +static void Task_HandleDiplomaInput(u8 taskId) { - switch (gDiploma->state) + switch (sDiploma->mainState) { case 0: - if (WaitFanfare(0)) - { - gDiploma->state++; - } + if (WaitFanfare(FALSE)) + sDiploma->mainState++; break; case 1: if (JOY_NEW(A_BUTTON)) { BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); - gDiploma->state++; + sDiploma->mainState++; } break; case 2: - Task_DiplomaReturnToOverworld(taskId); + Task_DiplomaExit(taskId); break; } } -static void Task_DiplomaReturnToOverworld(u8 taskId) +static void Task_DiplomaExit(u8 taskId) { if (gPaletteFade.active) return; DestroyTask(taskId); FreeAllWindowBuffers(); - FREE_AND_SET_NULL(gDiploma); + FREE_AND_SET_NULL(sDiploma); SetMainCallback2(CB2_ReturnToFieldFromDiploma); } -static void DiplomaBgInit(void) +static void DiplomaReset(void) { ResetSpriteData(); ResetPaletteFade(); @@ -196,7 +201,7 @@ static void DiplomaBgInit(void) ScanlineEffect_Stop(); } -static void DiplomaVblankHandler(void) +static void DiplomaInitScreen(void) { void *vram = (void *)VRAM; DmaClearLarge16(3, vram, VRAM_SIZE, 0x1000); @@ -204,71 +209,67 @@ static void DiplomaVblankHandler(void) DmaClear16(3, (void *)PLTT, PLTT_SIZE); SetGpuReg(REG_OFFSET_DISPCNT, 0); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_8415A08, 2); - 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); - InitWindows(gUnknown_8415A10); + InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); + ChangeBgX(0, 0, BG_COORD_SET); + ChangeBgY(0, 0, BG_COORD_SET); + ChangeBgX(1, 0, BG_COORD_SET); + ChangeBgY(1, 0, BG_COORD_SET); + ChangeBgX(2, 0, BG_COORD_SET); + ChangeBgY(2, 0, BG_COORD_SET); + ChangeBgX(3, 0, BG_COORD_SET); + ChangeBgY(3, 0, BG_COORD_SET); + InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); - SetBgTilemapBuffer(1, gDiploma->tilemapBuffer); - ShowBg(0); - ShowBg(1); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20); + SetBgTilemapBuffer(BG_DIPLOMA, sDiploma->tilemapBuffer); + ShowBg(BG_TEXT); + ShowBg(BG_DIPLOMA); + FillBgTilemapBufferRect_Palette0(BG_TEXT, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_DIPLOMA, 0, 0, 0, 30, 20); } -static u8 DiplomaLoadGfx(void) +static bool8 DiplomaLoadGfx(void) { - switch (gDiploma->gfxStep) + switch (sDiploma->gfxState) { case 0: ResetTempTileDataBuffers(); break; case 1: - DecompressAndCopyTileDataToVram(1, sDiplomaGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_DIPLOMA, sDiplomaGfx, 0, 0, 0); break; case 2: - if (!(FreeTempTileDataBuffersIfPossible() == 1)) - { - break; - } - return 0; + if (FreeTempTileDataBuffersIfPossible() == TRUE) + return FALSE; + break; case 3: - LoadPalette(sDiplomaPal, 0, 0x40); + LoadPalette(sDiplomaPal, 0, sizeof(sDiplomaPal)); + // fallthrough default: - return 1; + // Finished + return TRUE; } - gDiploma->gfxStep++; - return 0; + sDiploma->gfxState++; + return FALSE; } static void DiplomaPrintText(void) { - u8 arr[160]; + u8 str[160]; u32 width; DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName); if (HasAllMons()) - { DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_Diploma_National); - } else - { DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_Diploma_Kanto); - } - FillWindowPixelBuffer(0, 0); - DynamicPlaceholderTextUtil_ExpandPlaceholders(arr, gText_Diploma_Player); - width = GetStringWidth(FONT_2, arr, -1); - AddTextPrinterParameterized3(0, FONT_2, 120 - (width / 2), 4, gUnknown_8415A04, -1, arr); - DynamicPlaceholderTextUtil_ExpandPlaceholders(arr, gText_Diploma_ThisDocument); - width = GetStringWidth(FONT_2, arr, -1); - AddTextPrinterParameterized3(0, FONT_2, 120 - (width / 2), 0x1E, gUnknown_8415A04, -1, arr); - AddTextPrinterParameterized3(0, FONT_2, 120, 105, gUnknown_8415A04, 0, gText_Diploma_GameFreak); - PutWindowTilemap(0); + FillWindowPixelBuffer(WIN_TEXT, PIXEL_FILL(0)); + DynamicPlaceholderTextUtil_ExpandPlaceholders(str, gText_Diploma_Player); + width = GetStringWidth(FONT_2, str, -1); + AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120 - (width / 2), 4, sTextColors, TEXT_SKIP_DRAW, str); + DynamicPlaceholderTextUtil_ExpandPlaceholders(str, gText_Diploma_ThisDocument); + width = GetStringWidth(FONT_2, str, -1); + AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120 - (width / 2), 30, sTextColors, TEXT_SKIP_DRAW, str); + AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120, 105, sTextColors, 0, gText_Diploma_GameFreak); + PutWindowTilemap(WIN_TEXT); } diff --git a/src/event_data.c b/src/event_data.c index f5ec179e0..ac227177d 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -141,13 +141,13 @@ void ResetMysteryEventFlags(void) void ResetMysteryEventVars(void) { VarSet(VAR_EVENT_PICHU_SLOT, 0); - VarSet(VAR_0x40B6, 0); - VarSet(VAR_0x40B7, 0); - VarSet(VAR_0x40B8, 0); - VarSet(VAR_0x40B9, 0); - VarSet(VAR_0x40BA, 0); - VarSet(VAR_0x40BB, 0); - VarSet(VAR_0x40BC, 0); + VarSet(VAR_MYSTERY_GIFT_1, 0); + VarSet(VAR_MYSTERY_GIFT_2, 0); + VarSet(VAR_MYSTERY_GIFT_3, 0); + VarSet(VAR_MYSTERY_GIFT_4, 0); + VarSet(VAR_MYSTERY_GIFT_5, 0); + VarSet(VAR_MYSTERY_GIFT_6, 0); + VarSet(VAR_MYSTERY_GIFT_7, 0); VarSet(VAR_ALTERING_CAVE_WILD_SET, 0); } diff --git a/src/field_camera.c b/src/field_camera.c index a7a9e7376..6f3f0979b 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -225,7 +225,7 @@ void DrawDoorMetatileAt(int x, int y, const u16 *tiles) static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y) { u16 metatileId = MapGridGetMetatileIdAt(x, y); - u16 *metatiles; + const u16 *metatiles; if (metatileId > NUM_METATILES_TOTAL) metatileId = 0; diff --git a/src/fieldmap.c b/src/fieldmap.c index 1b50b8277..c2362f6b9 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -431,7 +431,7 @@ void MapGridSetMetatileImpassabilityAt(s32 x, s32 y, bool32 impassable) static u32 GetAttributeByMetatileIdAndMapLayout(const struct MapLayout *mapLayout, u16 metatile, u8 attributeType) { - u32 * attributes; + const u32 * attributes; if (metatile < NUM_METATILES_IN_PRIMARY) { @@ -891,17 +891,17 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1 if (tileset->isSecondary == FALSE) { LoadPalette(&black, destOffset, 2); - LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); + LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2); ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); + LoadPalette(tileset->palettes[NUM_PALS_IN_PRIMARY], destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } else { - LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size); + LoadCompressedPalette((const u32 *)tileset->palettes, destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } } diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index 0d25953af..4678c84bd 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -41,6 +41,6 @@ static void StartDigFieldEffect(void) u8 taskId; FieldEffectActiveListRemove(FLDEFF_USE_DIG); - taskId = CreateTask(sub_80A1C44, 8); + taskId = CreateTask(Task_UseDigEscapeRopeOnField, 8); gTasks[taskId].data[0] = 0; } diff --git a/src/graphics.c b/src/graphics.c index d677561de..440083539 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1116,12 +1116,12 @@ const u32 gUnknown_8E83444[] = INCBIN_U32("graphics/item_menu/bag_tilemap2.bin.l const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal) const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl) -const u32 gUnknown_8E8362C[] = INCBIN_U32("graphics/interface/unk_8E8362C.4bpp.lz"); -const u32 gUnknown_8E83DBC[] = INCBIN_U32("graphics/interface/unk_8E83DBC.4bpp.lz"); -const u32 gUnknown_8E84560[] = INCBIN_U32("graphics/interface/unk_8E84560.gbapal.lz"); +const u32 gBagMale_Gfx[] = INCBIN_U32("graphics/interface/bag_male.4bpp.lz"); +const u32 gBagFemale_Gfx[] = INCBIN_U32("graphics/interface/bag_female.4bpp.lz"); +const u32 gBag_Pal[] = INCBIN_U32("graphics/interface/bag.gbapal.lz"); -const u32 gFile_graphics_interface_bag_swap_sheet[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz"); -const u32 gFile_graphics_interface_bag_swap_palette[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz"); +const u32 gSwapLine_Gfx[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz"); +const u32 gSwapLine_Pal[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz"); const u32 gUnknown_8E845D8[] = INCBIN_U32("graphics/tm_case/unk_8E845D8.4bpp.lz"); const u32 gUnknown_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz"); diff --git a/src/intro.c b/src/intro.c index 471cc4fcd..f3621b143 100644 --- a/src/intro.c +++ b/src/intro.c @@ -7,6 +7,7 @@ #include "new_menu_helpers.h" #include "link.h" #include "menu.h" +#include "random.h" #include "save.h" #include "new_game.h" #include "title_screen.h" @@ -16,6 +17,114 @@ #include "constants/songs.h" #include "constants/sound.h" +/* + The intro is grouped into the following scenes + - Copyright screen + - GF Logo + Scene 1. Brief close up shot of grass + Scene 2. A panning wide shot followed by a close-up of Gengar/Nidorino + Scene 3. A fight between Gengar/Nidorino + + After this it progresses to the title screen +*/ + +enum { + GFXTAG_STAR, + GFXTAG_SPARKLES_SMALL, + GFXTAG_SPARKLES_BIG, + GFXTAG_GF_LOGO, + GFXTAG_PRESENTS, + GFXTAG_SCENE3_NIDORINO, + GFXTAG_SCENE2_GENGAR, + GFXTAG_SCENE2_NIDORINO, + GFXTAG_SCENE3_GRASS, + GFXTAG_SCENE3_GENGAR, + GFXTAG_SCENE3_SWIPE, + GFXTAG_SCENE3_RECOIL_DUST, +}; + +enum { + PALTAG_STAR, + PALTAG_SPARKLES, + PALTAG_UNUSED_2, + PALTAG_GF, + PALTAG_UNUSED_4, + PALTAG_UNUSED_5, + PALTAG_GENGAR, + PALTAG_NIDORINO, + PALTAG_SCENE3_GRASS, + PALTAG_UNUSED_9, + PALTAG_SCENE3_SWIPE, + PALTAG_SCENE3_RECOIL_DUST, +}; + +// Background IDs for Game Freak logo scene +enum { + BG_GF_TEXT_LOGO = 2, + BG_GF_BACKGROUND +}; + + +// Background IDs for Scene 1 +enum { + BG_SCENE1_GRASS, + BG_SCENE1_BACKGROUND, + BG_SCENE1_UNUSED1, + BG_SCENE1_UNUSED2 +}; + +#define PALSLOT_SCENE1_GRASS 1 +#define PALSLOT_SCENE1_BG 2 + +// Background IDs for Scene 2 +enum { + BG_SCENE2_PLANTS, + BG_SCENE2_NIDORINO, + BG_SCENE2_GENGAR, + BG_SCENE2_BACKGROUND // Bg for wide shot on upper half, close up on lower half +}; + +// Background IDs for Scene 3 +enum { + BG_SCENE3_GENGAR, + BG_SCENE3_BACKGROUND, + BG_SCENE3_UNUSED1, + BG_SCENE3_UNUSED2 +}; + +enum { + ANIM_NIDORINO_NORMAL, + ANIM_NIDORINO_CRY, + ANIM_NIDORINO_CROUCH, + ANIM_NIDORINO_HOP, + ANIM_NIDORINO_ATTACK, +}; + +enum { + ANIM_SPARKLE_LOOP, + ANIM_SPARKLE_ONCE, +}; + +enum { + ANIM_SWIPE_TOP, + ANIM_SWIPE_BOTTOM, +}; + +enum { + AFFINEANIM_NORMAL, + AFFINEANIM_ZOOM, +}; + +// Window ids for sWindowTemplates (only one) +enum { + WIN_GF_TEXT_LOGO, + WIN_COUNT +}; + +#define NUM_GENGAR_BACK_SPRITES 4 + +#define COLOSSEUM_GAME_CODE 0x65366347 // "Gc6e" in ASCII + struct IntroSequenceData; typedef void (*IntroCallback)(struct IntroSequenceData *); @@ -26,40 +135,42 @@ struct IntroSequenceData u8 state; u8 taskId; bool8 gengarAttackLanded; - u16 data[6]; + u16 data[5]; // [0] and [1] are set but never read, the rest are unused + u16 timer; struct Sprite *gameFreakLogoArtSprite; - struct Sprite *nidorinoAnimSprite; - struct Sprite *gengarStaticSprite; - struct Sprite *nidorinoStaticSprite; - struct Sprite *grassSprite; - struct Sprite *gengarBackSpriteArray[4]; - u8 filler_0038[0x4]; - u8 gamefreakLogoArtSpriteTiles[0x400]; - u8 gamefreakTextBitmap[0x400]; - u8 filler_083C[0x2080]; + struct Sprite *scene3NidorinoSprite; + struct Sprite *scene2GengarSprite; + struct Sprite *scene2NidorinoSprite; + struct Sprite *scene3GrassSprite; + struct Sprite *scene3GengarSprites[NUM_GENGAR_BACK_SPRITES]; + u8 unused0[4]; + u8 gameFreakLogoGfx[0x400]; + u8 gameFreakTextGfx[0x400]; + u8 unused1[0x2080]; }; // size: 0x28BC static EWRAM_DATA struct GcmbStruct sGcmb = {0}; -static EWRAM_DATA u16 gUnknown_203AB00 = 0; -static EWRAM_DATA u16 gUnknown_203AB02 = 0; -static EWRAM_DATA u16 gUnknown_203AB04 = 0; -static EWRAM_DATA u16 gUnknown_203AB06 = 0; -static EWRAM_DATA u16 gUnknown_203AB08 = 0; -static EWRAM_DATA u16 gUnknown_203AB0A = 0; -static EWRAM_DATA u16 gUnknown_203AB0C = 0; -static EWRAM_DATA u16 sLargeStarXSpeed = 0; -static EWRAM_DATA u16 sLargeStarYSpeed = 0; -static EWRAM_DATA u16 sTrailingSparklesXmodMask = 0; -static EWRAM_DATA u16 sUnusedVarRelatedToGameFreakStars = 0; -static EWRAM_DATA u16 sTrailingSparklesSpawnRate = 0; -static EWRAM_DATA u16 sTrailingSparklesFlickerStartTime = 0; -static EWRAM_DATA u16 sTrailingSparklesDestroySpriteTime = 0; -static EWRAM_DATA u16 sTrailingSparklesGravityShift = 0; -static EWRAM_DATA u16 sTrailingSparklesXspeed = 0; -static EWRAM_DATA u16 sTrailingSparklesYspeed = 0; -static EWRAM_DATA u16 sTrailingSparklesXprecision = 0; -static EWRAM_DATA u16 sTrailingSparklesYprecision = 0; +static EWRAM_DATA u16 sUnusedScene3Var0 = 0; // Set but never read +static EWRAM_DATA u16 sUnusedScene3Var1 = 0; // Set but never read +static EWRAM_DATA u16 sNidorinoJumpMult = 0; +static EWRAM_DATA u16 sNidorinoAnimDelayTime = 0; +static EWRAM_DATA u16 sNidorinoJumpDiv = 0; +static EWRAM_DATA u16 sNidorinoRecoilReturnTime = 0; +static EWRAM_DATA u16 sNidorinoUnusedVar = 0; // Set but never read +static EWRAM_DATA u16 sStarSpeedX = 0; +static EWRAM_DATA u16 sStarSpeedY = 0; +static EWRAM_DATA u16 sStarSparklesXmodMask = 0; +static EWRAM_DATA u16 sStarSparklesUnusedVar = 0; // Set but never read +static EWRAM_DATA u16 sStarSparklesSpawnRate = 0; +static EWRAM_DATA u16 sStarSparklesFlickerStartTime = 0; +static EWRAM_DATA u16 sStarSparklesDestroySpriteTime = 0; +static EWRAM_DATA u16 sStarSparklesGravityShift = 0; +static EWRAM_DATA u16 sStarSparklesXspeed = 0; +static EWRAM_DATA u16 sStarSparklesYspeed = 0; +static EWRAM_DATA u16 sStarSparklesXprecision = 0; +static EWRAM_DATA u16 sStarSparklesYprecision = 0; +// General static void CB2_SetUpIntro(void); static void CB2_Intro(void); static void VBlankCB_Intro(void); @@ -68,121 +179,132 @@ static void StartIntroSequence(void); static void Task_CallIntroCallback(u8 taskId); static void SetIntroCB(struct IntroSequenceData * ptr, IntroCallback cb); static void IntroCB_Init(struct IntroSequenceData * ptr); -static void IntroCB_OpenWin1ToTheaterDimensions(struct IntroSequenceData * ptr); -static void IntroCB_GameFreakStar(struct IntroSequenceData * ptr); -static void IntroCB_GameFreakScene_RevealGameFreakText(struct IntroSequenceData * ptr); -static void IntroCB_GameFreakScene_CreateGameFreakLogo(struct IntroSequenceData * ptr); -static void IntroCB_FightScene(struct IntroSequenceData * ptr); -static void Task_FightScene1_GrassyFieldAnim(u8 taskId); -static void FightScene1_SignalEndGrassyFieldAnim(void); -static void Task_FightScene1_ZoomEffect(u8 taskId); -static void IntroCB_FightScene2(struct IntroSequenceData * ptr); -static void Task_FightScene2_CameraHorizPanEffect(u8 taskId); -static void Task_FightScene2_CameraVertPanEffect(u8 taskId); -static void CreateMonStaticSprites(struct IntroSequenceData * ptr); -static void DestroyStaticMonSprites(struct IntroSequenceData * ptr); -static void IntroCB_FightScene3(struct IntroSequenceData * ptr); -static void FightScene3_StartBg1Scroll(void); -static void Task_FightScene3_ForestBgScroll(u8 taskId); -static void CreateGrassSprite(struct IntroSequenceData * ptr); +static void LoadFightSceneSpriteGraphics(void); +static void IntroCB_ExitToTitleScreen(struct IntroSequenceData * ptr); + +// GF scene +static void IntroCB_GF_OpenWindow(struct IntroSequenceData * ptr); +static void IntroCB_GF_Star(struct IntroSequenceData * ptr); +static void IntroCB_GF_RevealName(struct IntroSequenceData * ptr); +static void IntroCB_GF_RevealLogo(struct IntroSequenceData * ptr); +static void GFScene_LoadGfxCreateStar(void); +static void GFScene_StartNameSparklesSmall(void); +static void GFScene_StartNameSparklesBig(void); +static void GFScene_Task_NameSparklesSmall(u8 taskId); +static void GFScene_Task_NameSparklesBig(u8 taskId); +static struct Sprite *GFScene_CreateLogoSprite(void); +static void GFScene_CreatePresentsSprite(void); +static void SpriteCB_Star(struct Sprite *sprite); +static void SpriteCB_SparklesSmall_Star(struct Sprite *sprite); +static void SpriteCB_SparklesSmall_Name(struct Sprite *sprite); +static void SpriteCB_SparklesBig(struct Sprite *sprite); + +// Scene 1 +static void IntroCB_Scene1(struct IntroSequenceData * ptr); +static void Scene1_Task_AnimateGrass(u8 taskId); +static void Scene1_StartGrassScrolling(void); +static void Scene1_Task_BgZoom(u8 taskId); + +// Scene 2 +static void IntroCB_Scene2(struct IntroSequenceData * ptr); +static void Scene2_Task_PanForest(u8 taskId); +static void Scene2_Task_PanMons(u8 taskId); +static void Scene2_CreateMonSprites(struct IntroSequenceData * ptr); +static void Scene2_DestroyMonSprites(struct IntroSequenceData * ptr); + +// Scene 3 +static void IntroCB_Scene3_Entrance(struct IntroSequenceData * ptr); +static void IntroCB_Scene3_Fight(struct IntroSequenceData * ptr); +static void Scene3_StartBgScroll(void); +static void Scene3_Task_GengarBounce(u8 taskId); +static void Scene3_CreateGrassSprite(struct IntroSequenceData * ptr); +static void Scene3_CreateGengarSprite(struct IntroSequenceData * ptr); +static void Scene3_StartNidorinoCry(struct IntroSequenceData * ptr); +static void Scene3_StartNidorinoHop(struct Sprite *sprite, u16 time, s16 targetX, u8 heightShift); +static void Scene3_StartGengarAttack(struct IntroSequenceData * ptr); +static void Scene3_Task_GengarAttack(u8 taskId); +static void Scene3_NidorinoZoom(struct IntroSequenceData * ptr); +static void Scene3_GengarZoom(struct IntroSequenceData * ptr); +static void Scene3_CreateGengarSwipeSprites(void); +static void Scene3_Task_GengarEnter(u8 taskId); +static void Scene3_CreateNidorinoSprite(struct IntroSequenceData * ptr); +static void Scene3_StartNidorinoEntrance(struct Sprite *sprite, s16 xStart, s16 xEnd, u16 speed); +static void Scene3_SpriteCB_NidorinoEnter(struct Sprite *sprite); +static bool32 Scene3_IsNidorinoEntering(struct IntroSequenceData * ptr); +static void Scene3_StartNidorinoRecoil(struct IntroSequenceData * ptr); +static bool8 Scene3_NidorinoAnimIsRunning(struct IntroSequenceData * ptr); +static void CreateNidorinoRecoilDustSprites(s16 x, s16 y, s16 seed); +static void Scene3_StartNidorinoAttack(struct IntroSequenceData * ptr); static void SpriteCB_Grass(struct Sprite *sprite); -static void IntroCB_FightScene4(struct IntroSequenceData * ptr); -static void CreateGengarBackSprite(struct IntroSequenceData * ptr); -static void FightScene4_StartNidorinoAffineAnim(struct IntroSequenceData * ptr); -static void FightScene4_StartGengarAffineAnim(struct IntroSequenceData * ptr); -static void IntroCB_CleanUp(struct IntroSequenceData * ptr); -static void GameFreakScene_LoadGfxCreateStar(void); -static void GameFreakScene_StartTrailingSparkleSpawner(void); -static void Task_GameFreakScene_TrailingSparkleSpawner(u8 taskId); -static void GameFreakScene_StartRevealGameFreakTextSparklesSpawner(void); -static void Task_RevealGameFreakTextSparklesSpawner(u8 taskId); -static struct Sprite *CreateGameFreakLogoArtSprite(void); -static void FightScene4_StartGengarAttack(struct IntroSequenceData * ptr); -static void Task_FightScene4_GengarAttack(u8 taskId); -static void FightScene4_CreateGengarSwipeSprites(void); static void SpriteCB_GengarSwipe(struct Sprite *sprite); -static void Task_FightScene3_Bg0Scroll(u8 taskId); -static void SpriteCB_LargeStar(struct Sprite *sprite); -static void SpriteCB_TrailingSparkles(struct Sprite *sprite); -static void SpriteCB_TrailingSparkles2(struct Sprite *sprite); -static void SpriteCB_RevealGameFreakTextSparkles(struct Sprite *sprite); -static void CreateNidorinoAnimSprite(struct IntroSequenceData * ptr); -static void StartNidorinoAnimSpriteSlideIn(struct Sprite *sprite, s16 x0, s16 x1, u16 speed); -static void SpriteCB_NidorinoAnimSpriteSlideIn(struct Sprite *sprite); -static bool32 IsNidorinoAnimSpriteSlideInRunning(struct IntroSequenceData * ptr); -static void FightScene4_NidorinoRearsUp(struct IntroSequenceData * ptr); -static void SpriteCB_NidorinoRearsUp(struct Sprite *sprite); -static void FightScene4_StartNidorinoRecoilAnim(struct IntroSequenceData * ptr); +static void SpriteCB_RecoilDust(struct Sprite *sprite); +static void SpriteCB_NidorinoCry(struct Sprite *sprite); static void SpriteCB_NidorinoRecoil(struct Sprite *sprite); -static bool8 FightScene4_NidorinoAnimIsRunning(struct IntroSequenceData * ptr); -static void CreateNidorinoRecoilDustSprites(s16 a1, s16 a2, s16 a3); -static void SpriteCB_NidorinoRecoilDust(struct Sprite *sprite); -static void StartSpriteHopToPosAnim(struct Sprite *sprite, u16 a1, s16 a2, u8 a3); -static void SpriteCB_HopToPos(struct Sprite *sprite); -static void StartNidorinoAnim_LaunchSelfAtGengarAnim(struct IntroSequenceData * ptr); -static void SpriteCB_NidorinoAnim_LaunchSelfAtGengar(struct Sprite *sprite); -static void LoadFightSceneSpriteTilesAndPals(void); -#if REVISION >= 1 -static void Rev1_GameFreakScene_CreatePresentsText(void); -#else -#define Rev1_GameFreakScene_CreatePresentsText() -#endif +static void SpriteCB_NidorinoHop(struct Sprite *sprite); +static void SpriteCB_NidorinoAttack(struct Sprite *sprite); extern const u32 gMultiBootProgram_PokemonColosseum_Start[]; +extern const u32 gMultiBootProgram_PokemonColosseum_End[]; -static const u16 sCopyrightGraphicsPal[] = INCBIN_U16("graphics/intro/unk_8402260.gbapal"); -static const u8 sCopyrightGraphicsTiles[] = INCBIN_U8("graphics/intro/unk_8402280.4bpp.lz"); -static const u8 sCopyrightGraphicsMap[] = INCBIN_U8("graphics/intro/unk_84024E4.bin.lz"); -static const u16 sBg3Pal_GameFreakPresents[] = INCBIN_U16("graphics/intro/unk_8402630.gbapal"); -static const u8 sBg3Tiles_GameFreakPresents[] = INCBIN_U8("graphics/intro/unk_8402650.4bpp.lz"); -static const u8 sBg3Map_GameFreakPresents[] = INCBIN_U8("graphics/intro/unk_8402668.bin.lz"); -static const u16 sSpritePals_GameFreakPresents[] = INCBIN_U16("graphics/intro/unk_840270C.gbapal"); -static const u8 sBlit_GameFreakText[] = INCBIN_U8("graphics/intro/unk_840272C.4bpp.lz"); -static const u32 sSpriteTiles_GameFreakLogoArt[] = INCBIN_U32("graphics/intro/unk_84028F8.4bpp.lz"); -static const u16 sSpritePals_LargeStar[] = INCBIN_U16("graphics/intro/unk_8402A64.gbapal"); -static const u32 sSpriteTiles_LargeStar[] = INCBIN_U32("graphics/intro/unk_8402A64.4bpp.lz"); -static const u16 sSpritePals_Sparkles[] = INCBIN_U16("graphics/intro/unk_8402ADC.gbapal"); -static const u32 sSpriteTiles_TrailingSparkles[] = INCBIN_U32("graphics/intro/unk_8402ADC.4bpp.lz"); -static const u32 sSpriteTiles_RevealGameFreakTextSparkles[] = INCBIN_U32("graphics/intro/unk_8402B2C.4bpp.lz"); -static const u32 sSpriteTiles_PresentsText[] = INCBIN_U32("graphics/intro/unk_8402CD4.4bpp.lz"); -static const u16 sBg0Pal_FightScene1[] = INCBIN_U16("graphics/intro/unk_8402D34.gbapal"); -static const u8 sBg0Tiles_FightScene1[] = INCBIN_U8("graphics/intro/unk_8402D54.4bpp.lz"); -static const u8 sBg0Map_FightScene1[] = INCBIN_U8("graphics/intro/unk_8403FE8.bin.lz"); -static const u16 sBg1Pal_FightScene1[] = INCBIN_U16("graphics/intro/unk_84048CC.gbapal"); -static const u8 sBg1Tiles_FightScene1[] = INCBIN_U8("graphics/intro/unk_84048EC.4bpp.lz"); -static const u8 sBg1Map_FightScene1[] = INCBIN_U8("graphics/intro/unk_8404F7C.bin.lz"); -static const u16 sBg3Pal_FightScene2[] = INCBIN_U16("graphics/intro/unk_84053B4.gbapal"); -static const u8 sBg3Tiles_FightScene2[] = INCBIN_U8("graphics/intro/unk_8405414.4bpp.lz"); -static const u8 sBg3Map_FightScene2[] = INCBIN_U8("graphics/intro/unk_8405890.bin.lz"); -static const u16 sBg0Pal_FightScene2[] = INCBIN_U16("graphics/intro/unk_8405B08.gbapal"); -static const u8 sBg0Tiles_FightScene2[] = INCBIN_U8("graphics/intro/unk_8405B28.4bpp.lz"); -static const u8 sBg0Map_FightScene2[] = INCBIN_U8("graphics/intro/unk_8405CDC.bin.lz"); -static const u16 sSpritePals_Gengar[] = INCBIN_U16("graphics/intro/unk_8405DA4.gbapal"); -static const u8 sBg2Tiles_FightScene2[] = INCBIN_U8("graphics/intro/unk_8405DC4.4bpp.lz"); -static const u8 sBg2Map_FightScene2[] = INCBIN_U8("graphics/intro/unk_840644C.bin.lz"); -static const u16 sBg1Pal_FightScene2[] = INCBIN_U16("graphics/intro/unk_8406634.gbapal"); -static const u8 sBg1Tiles_FightScene2[] = INCBIN_U8("graphics/intro/unk_8406654.4bpp.lz"); -static const u8 sBg1Map_FightScene2[] = INCBIN_U8("graphics/intro/unk_84071D0.bin.lz"); -static const u16 sBg1Pal_FightScene3[] = INCBIN_U16("graphics/intro/unk_8407430.gbapal"); -static const u8 sBg1Tiles_FightScene3[] = INCBIN_U8("graphics/intro/unk_8407470.4bpp.lz"); -static const u8 sBg1Map_FightScene3[] = INCBIN_U8("graphics/intro/unk_8407A50.bin.lz"); -static const u8 sBg0Tiles_FightScene3[] = INCBIN_U8("graphics/intro/unk_8407B9C.4bpp.lz"); -static const u8 sBg0Map_FightScene3[] = INCBIN_U8("graphics/intro/unk_8408D98.bin.lz"); -static const u32 sSpriteTiles_GengarStatic[] = INCBIN_U32("graphics/intro/unk_840926C.4bpp.lz"); -static const u16 sSpritePals_Nidorino[] = INCBIN_U16("graphics/intro/unk_84096AC.gbapal"); -static const u32 sSpriteTiles_NidorinoStatic[] = INCBIN_U32("graphics/intro/unk_84096CC.4bpp.lz"); -static const u16 sSpritePals_Grass[] = INCBIN_U16("graphics/intro/unk_8409A1C.gbapal"); -static const u32 sSpriteTiles_Grass[] = INCBIN_U32("graphics/intro/unk_8409A3C.4bpp.lz"); -static const u32 sSpriteTiles_GengarBack[] = INCBIN_U32("graphics/intro/unk_8409D20.4bpp.lz"); -static const u32 sSpriteTiles_NidorinoAnim[] = INCBIN_U32("graphics/intro/unk_840A3E4.4bpp.lz"); -static const u16 sSpritePals_GengarSwipe[] = INCBIN_U16("graphics/intro/unk_840B834.gbapal"); -static const u16 sSpritePals_NidorinoRecoilDust[] = INCBIN_U16("graphics/intro/unk_840B854.gbapal"); -static const u32 sSpriteTiles_GengarSwipe[] = INCBIN_U32("graphics/intro/unk_840B874.4bpp.lz"); -static const u32 sSpriteTiles_NidorinoRecoilDust[] = INCBIN_U32("graphics/intro/unk_840BAE0.4bpp.lz"); +static const u16 sCopyright_Pal[] = INCBIN_U16("graphics/intro/copyright.gbapal"); +static const u8 sCopyright_Gfx[] = INCBIN_U8( "graphics/intro/copyright.4bpp.lz"); +static const u8 sCopyright_Map[] = INCBIN_U8( "graphics/intro/copyright.bin.lz"); + +// Game Freak +static const u16 sGameFreakBg_Pal[] = INCBIN_U16("graphics/intro/game_freak/bg.gbapal"); +static const u8 sGameFreakBg_Gfx[] = INCBIN_U8( "graphics/intro/game_freak/bg.4bpp.lz"); +static const u8 sGameFreakBg_Map[] = INCBIN_U8( "graphics/intro/game_freak/bg.bin.lz"); +static const u16 sGameFreakLogo_Pal[] = INCBIN_U16("graphics/intro/game_freak/logo.gbapal"); +static const u8 sGameFreakText_Gfx[] = INCBIN_U8( "graphics/intro/game_freak/game_freak.4bpp.lz"); +static const u32 sGameFreakLogo_Gfx[] = INCBIN_U32("graphics/intro/game_freak/logo.4bpp.lz"); +static const u16 sStar_Pal[] = INCBIN_U16("graphics/intro/game_freak/star.gbapal"); +static const u32 sStar_Gfx[] = INCBIN_U32("graphics/intro/game_freak/star.4bpp.lz"); +static const u16 sSparkles_Pal[] = INCBIN_U16("graphics/intro/game_freak/sparkles.gbapal"); +static const u32 sSparklesSmall_Gfx[] = INCBIN_U32("graphics/intro/game_freak/sparkles_small.4bpp.lz"); +static const u32 sSparklesBig_Gfx[] = INCBIN_U32("graphics/intro/game_freak/sparkles_big.4bpp.lz"); +static const u32 sPresents_Gfx[] = INCBIN_U32("graphics/intro/game_freak/presents.4bpp.lz"); + +// Scene 1 (Grass close up) +static const u16 sScene1_Grass_Pal[] = INCBIN_U16("graphics/intro/scene_1/grass.gbapal"); +static const u8 sScene1_Grass_Gfx[] = INCBIN_U8( "graphics/intro/scene_1/grass.4bpp.lz"); +static const u8 sScene1_Grass_Map[] = INCBIN_U8( "graphics/intro/scene_1/grass.bin.lz"); +static const u16 sScene1_Bg_Pal[] = INCBIN_U16("graphics/intro/scene_1/bg.gbapal"); +static const u8 sScene1_Bg_Gfx[] = INCBIN_U8( "graphics/intro/scene_1/bg.4bpp.lz"); +static const u8 sScene1_Bg_Map[] = INCBIN_U8( "graphics/intro/scene_1/bg.bin.lz"); + +// Scenes 2 and 3 (Gengar and Nidorino) +static const u16 sScene2_Bg_Pal[] = INCBIN_U16("graphics/intro/scene_2/bg.gbapal"); +static const u8 sScene2_Bg_Gfx[] = INCBIN_U8( "graphics/intro/scene_2/bg.4bpp.lz"); +static const u8 sScene2_Bg_Map[] = INCBIN_U8( "graphics/intro/scene_2/bg.bin.lz"); +static const u16 sScene2_Plants_Pal[] = INCBIN_U16("graphics/intro/scene_2/plants.gbapal"); // Unused +static const u8 sScene2_Plants_Gfx[] = INCBIN_U8( "graphics/intro/scene_2/plants.4bpp.lz"); +static const u8 sScene2_Plants_Map[] = INCBIN_U8( "graphics/intro/scene_2/plants.bin.lz"); +static const u16 sGengar_Pal[] = INCBIN_U16("graphics/intro/gengar.gbapal"); // Used by multiple scenes +static const u8 sScene2_GengarClose_Gfx[] = INCBIN_U8( "graphics/intro/scene_2/gengar_close.4bpp.lz"); +static const u8 sScene2_GengarClose_Map[] = INCBIN_U8( "graphics/intro/scene_2/gengar_close.bin.lz"); +static const u16 sScene2_NidorinoClose_Pal[] = INCBIN_U16("graphics/intro/scene_2/nidorino_close.gbapal"); +static const u8 sScene2_NidorinoClose_Gfx[] = INCBIN_U8( "graphics/intro/scene_2/nidorino_close.4bpp.lz"); +static const u8 sScene2_NidorinoClose_Map[] = INCBIN_U8( "graphics/intro/scene_2/nidorino_close.bin.lz"); +static const u16 sScene3_Bg_Pal[] = INCBIN_U16("graphics/intro/scene_3/bg.gbapal"); +static const u8 sScene3_Bg_Gfx[] = INCBIN_U8( "graphics/intro/scene_3/bg.4bpp.lz"); +static const u8 sScene3_Bg_Map[] = INCBIN_U8( "graphics/intro/scene_3/bg.bin.lz"); +static const u8 sScene3_GengarAnim_Gfx[] = INCBIN_U8( "graphics/intro/scene_3/gengar_anim.4bpp.lz"); +static const u8 sScene3_GengarAnim_Map[] = INCBIN_U8( "graphics/intro/scene_3/gengar_anim.bin.lz"); +static const u32 sScene2_Gengar_Gfx[] = INCBIN_U32("graphics/intro/scene_2/gengar.4bpp.lz"); +static const u16 sNidorino_Pal[] = INCBIN_U16("graphics/intro/nidorino.gbapal"); // Used by multiple scenes +static const u32 sScene2_Nidorino_Gfx[] = INCBIN_U32("graphics/intro/scene_2/nidorino.4bpp.lz"); +static const u16 sScene3_Grass_Pal[] = INCBIN_U16("graphics/intro/scene_3/grass.gbapal"); +static const u32 sScene3_Grass_Gfx[] = INCBIN_U32("graphics/intro/scene_3/grass.4bpp.lz"); +static const u32 sScene3_GengarStatic_Gfx[] = INCBIN_U32("graphics/intro/scene_3/gengar_static.4bpp.lz"); +static const u32 sScene3_Nidorino_Gfx[] = INCBIN_U32("graphics/intro/scene_3/nidorino.4bpp.lz"); +static const u16 sScene3_Swipe_Pal[] = INCBIN_U16("graphics/intro/scene_3/swipe.gbapal"); +static const u16 sScene3_RecoilDust_Pal[] = INCBIN_U16("graphics/intro/scene_3/recoil_dust.gbapal"); +static const u32 sScene3_Swipe_Gfx[] = INCBIN_U32("graphics/intro/scene_3/swipe.4bpp.lz"); +static const u32 sScene3_RecoilDust_Gfx[] = INCBIN_U32("graphics/intro/scene_3/recoil_dust.4bpp.lz"); static const struct BgTemplate sBgTemplates_GameFreakScene[] = { { - .bg = 3, + .bg = BG_GF_BACKGROUND, .charBaseIndex = 3, .mapBaseIndex = 31, .screenSize = 0, @@ -190,7 +312,7 @@ static const struct BgTemplate sBgTemplates_GameFreakScene[] = { .priority = 3, .baseTile = 0x000 }, { - .bg = 2, + .bg = BG_GF_TEXT_LOGO, .charBaseIndex = 3, .mapBaseIndex = 30, .screenSize = 0, @@ -200,9 +322,9 @@ static const struct BgTemplate sBgTemplates_GameFreakScene[] = { } }; -static const struct BgTemplate sBgTemplates_FightScene1[] = { +static const struct BgTemplate sBgTemplates_Scene1[] = { { - .bg = 0, + .bg = BG_SCENE1_GRASS, .charBaseIndex = 0, .mapBaseIndex = 28, .screenSize = 2, @@ -210,7 +332,7 @@ static const struct BgTemplate sBgTemplates_FightScene1[] = { .priority = 0, .baseTile = 0x000 }, { - .bg = 1, + .bg = BG_SCENE1_BACKGROUND, .charBaseIndex = 1, .mapBaseIndex = 30, .screenSize = 2, @@ -220,9 +342,9 @@ static const struct BgTemplate sBgTemplates_FightScene1[] = { } }; -static const struct BgTemplate sBgTemplates_FightScene2[] = { +static const struct BgTemplate sBgTemplates_Scene2[] = { { - .bg = 3, + .bg = BG_SCENE2_BACKGROUND, .charBaseIndex = 1, .mapBaseIndex = 30, .screenSize = 2, @@ -230,7 +352,7 @@ static const struct BgTemplate sBgTemplates_FightScene2[] = { .priority = 3, .baseTile = 0x000 }, { - .bg = 0, + .bg = BG_SCENE2_PLANTS, .charBaseIndex = 0, .mapBaseIndex = 29, .screenSize = 0, @@ -238,7 +360,7 @@ static const struct BgTemplate sBgTemplates_FightScene2[] = { .priority = 0, .baseTile = 0x000 }, { - .bg = 2, + .bg = BG_SCENE2_GENGAR, .charBaseIndex = 3, .mapBaseIndex = 27, .screenSize = 0, @@ -246,7 +368,7 @@ static const struct BgTemplate sBgTemplates_FightScene2[] = { .priority = 2, .baseTile = 0x000 }, { - .bg = 1, + .bg = BG_SCENE2_NIDORINO, .charBaseIndex = 2, .mapBaseIndex = 28, .screenSize = 0, @@ -256,9 +378,9 @@ static const struct BgTemplate sBgTemplates_FightScene2[] = { } }; -static const struct BgTemplate sBgTemplates_FightScene3[] = { +static const struct BgTemplate sBgTemplates_Scene3[] = { { - .bg = 1, + .bg = BG_SCENE3_BACKGROUND, .charBaseIndex = 0, .mapBaseIndex = 29, .screenSize = 0, @@ -266,7 +388,7 @@ static const struct BgTemplate sBgTemplates_FightScene3[] = { .priority = 1, .baseTile = 0x000 }, { - .bg = 0, + .bg = BG_SCENE3_GENGAR, .charBaseIndex = 1, .mapBaseIndex = 30, .screenSize = 2, @@ -276,79 +398,80 @@ static const struct BgTemplate sBgTemplates_FightScene3[] = { } }; -static const struct WindowTemplate sWindowTemplate[] = { - { - .bg = 2, +static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = { + [WIN_GF_TEXT_LOGO] = { + .bg = BG_GF_TEXT_LOGO, .tilemapLeft = 6, .tilemapTop = 4, .width = 18, .height = 9, .paletteNum = 0xD, .baseBlock = 0x000 - }, DUMMY_WIN_TEMPLATE + }, + [WIN_COUNT] = DUMMY_WIN_TEMPLATE }; -static const u8 sGengarBackSpritePos2UpdateMods[][2] = { - {0x3f, 0x3f}, - {0x00, 0x3f}, - {0x3f, 0x00}, - {0x00, 0x00} +static const u8 sGengarZoomMatrixAnchors[NUM_GENGAR_BACK_SPRITES][2] = { + {63, 63}, + { 0, 63}, + {63, 0}, + { 0, 0} }; static const struct CompressedSpriteSheet sSpriteSheets_GameFreakScene[] = { - {sSpriteTiles_LargeStar, 0x0080, 0}, - {sSpriteTiles_TrailingSparkles, 0x0080, 1}, - {sSpriteTiles_RevealGameFreakTextSparkles, 0x0800, 2}, - {sSpriteTiles_GameFreakLogoArt, 0x0400, 3}, - {sSpriteTiles_PresentsText, 0x0100, 4} + {sStar_Gfx, 0x80, GFXTAG_STAR}, + {sSparklesSmall_Gfx, 0x80, GFXTAG_SPARKLES_SMALL}, + {sSparklesBig_Gfx, 0x800, GFXTAG_SPARKLES_BIG}, + {sGameFreakLogo_Gfx, 0x400, GFXTAG_GF_LOGO}, + {sPresents_Gfx, 0x100, GFXTAG_PRESENTS} }; static const struct SpritePalette sSpritePalettes_GameFreakScene[] = { - {sSpritePals_LargeStar, 0}, - {sSpritePals_Sparkles, 1}, - {sSpritePals_GameFreakPresents, 3}, + {sStar_Pal, PALTAG_STAR}, + {sSparkles_Pal, PALTAG_SPARKLES}, + {sGameFreakLogo_Pal, PALTAG_GF}, {0} }; -static const struct Coords16 sTrailingSparkleCoords[] = { - {0x0048, 0x0050}, - {0x0088, 0x004a}, - {0x00a8, 0x0050}, - {0x0078, 0x0050}, - {0x0068, 0x0056}, - {0x0058, 0x004a}, - {0x00b8, 0x004a}, - {0x0038, 0x0056}, - {0x0098, 0x0056} +static const struct Coords16 sTextSparkleCoords[] = { + { 72, 80}, + {136, 74}, + {168, 80}, + {120, 80}, + {104, 86}, + { 88, 74}, + {184, 74}, + { 56, 86}, + {152, 86} }; -static const struct OamData gOamData_840BC2C = { +static const struct OamData sOam_Star = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(16x16), .matrixNum = 0, - .size = ST_OAM_SIZE_1, + .size = SPRITE_SIZE(16x16), .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; -static const struct OamData gOamData_840BC34 = { +static const struct OamData sOam_SparklesSmall = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(8x8), .matrixNum = 0, - .size = ST_OAM_SIZE_0, + .size = SPRITE_SIZE(8x8), .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BC3C[] = { +static const union AnimCmd sAnim_SparklesSmall_Loop[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(2, 4), @@ -356,7 +479,7 @@ static const union AnimCmd gAnimCmd_840BC3C[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd gAnimCmd_840BC50[] = { +static const union AnimCmd sAnim_SparklesSmall_Once[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(2, 4), @@ -364,45 +487,45 @@ static const union AnimCmd gAnimCmd_840BC50[] = { ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BC64[] = { - gAnimCmd_840BC3C, - gAnimCmd_840BC50 +static const union AnimCmd *const sAnims_SparklesSmall[] = { + [ANIM_SPARKLE_LOOP] = sAnim_SparklesSmall_Loop, + [ANIM_SPARKLE_ONCE] = sAnim_SparklesSmall_Once }; -static const struct SpriteTemplate sSpriteTemplate_LargeStar = { - .tileTag = 0, - .paletteTag = 0, - .oam = &gOamData_840BC2C, +static const struct SpriteTemplate sSpriteTemplate_Star = { + .tileTag = GFXTAG_STAR, + .paletteTag = PALTAG_STAR, + .oam = &sOam_Star, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_LargeStar + .callback = SpriteCB_Star }; -static const struct SpriteTemplate sSpriteTemplate_TrailingSparkles = { - .tileTag = 1, - .paletteTag = 1, - .oam = &gOamData_840BC34, - .anims = gAnimCmdTable_840BC64, +static const struct SpriteTemplate sSpriteTemplate_SparklesSmall = { + .tileTag = GFXTAG_SPARKLES_SMALL, + .paletteTag = PALTAG_SPARKLES, + .oam = &sOam_SparklesSmall, + .anims = sAnims_SparklesSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_TrailingSparkles + .callback = SpriteCB_SparklesSmall_Star }; -static const struct OamData gOamData_840BC9C = { +static const struct OamData sOam_SparklesBig = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(32x32), .matrixNum = 0, - .size = ST_OAM_SIZE_2, + .size = SPRITE_SIZE(32x32), .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BCA4[] = { +static const union AnimCmd sAnim_SparklesBig[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(16, 8), ANIMCMD_FRAME(32, 8), @@ -410,314 +533,314 @@ static const union AnimCmd gAnimCmd_840BCA4[] = { ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BCB8[] = { - gAnimCmd_840BCA4 +static const union AnimCmd *const sAnims_SparklesBig[] = { + sAnim_SparklesBig }; -static const struct SpriteTemplate sSpriteTemplate_RevealGameFreakTextSparkles = { - .tileTag = 2, - .paletteTag = 1, - .oam = &gOamData_840BC9C, - .anims = gAnimCmdTable_840BCB8, +static const struct SpriteTemplate sSpriteTemplate_SparklesBig = { + .tileTag = GFXTAG_SPARKLES_BIG, + .paletteTag = PALTAG_SPARKLES, + .oam = &sOam_SparklesBig, + .anims = sAnims_SparklesBig, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_RevealGameFreakTextSparkles + .callback = SpriteCB_SparklesBig }; -static const struct OamData gOamData_840BCD4 = { +static const struct OamData sOam_GameFreakLogo = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_V_RECTANGLE, + .shape = SPRITE_SHAPE(32x64), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(32x64), .tileNum = 0x000, .priority = 3, .paletteNum = 0 }; static const struct SpriteTemplate sSpriteTemplate_GameFreakLogoArt = { - .tileTag = 3, - .paletteTag = 3, - .oam = &gOamData_840BCD4, + .tileTag = GFXTAG_GF_LOGO, + .paletteTag = PALTAG_GF, + .oam = &sOam_GameFreakLogo, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BCF4 = { +static const struct OamData sOam_PresentsText = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(32x8), .matrixNum = 0, - .size = ST_OAM_SIZE_1, + .size = SPRITE_SIZE(32x8), .tileNum = 0x000, .priority = 3, .paletteNum = 0 }; -static const struct SpriteTemplate sSpriteTemplate_PresentsText = { - .tileTag = 4, - .paletteTag = 3, - .oam = &gOamData_840BCF4, +static const struct SpriteTemplate sSpriteTemplate_Presents = { + .tileTag = GFXTAG_PRESENTS, + .paletteTag = PALTAG_GF, + .oam = &sOam_PresentsText, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BD14 = { +static const struct OamData sOam_Scene3_Nidorino = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(64x64), .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BD1C[] = { +static const union AnimCmd sAnim_Scene3_Nidorino_Normal[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BD24[] = { +static const union AnimCmd sAnim_Scene3_Nidorino_Cry[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BD2C[] = { +static const union AnimCmd sAnim_Scene3_Nidorino_Crouch[] = { ANIMCMD_FRAME(128, 1), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BD34[] = { +static const union AnimCmd sAnim_Scene3_Nidorino_Hop[] = { ANIMCMD_FRAME(192, 1), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BD3C[] = { +static const union AnimCmd sAnim_Scene3_Nidorino_Attack[] = { ANIMCMD_FRAME(256, 1), ANIMCMD_END }; -static const union AnimCmd *const sAnimTable_NidorinoAnim[] = { - gAnimCmd_840BD1C, - gAnimCmd_840BD24, - gAnimCmd_840BD2C, - gAnimCmd_840BD34, - gAnimCmd_840BD3C +static const union AnimCmd *const sAnims_Scene3_Nidorino[] = { + [ANIM_NIDORINO_NORMAL] = sAnim_Scene3_Nidorino_Normal, + [ANIM_NIDORINO_CRY] = sAnim_Scene3_Nidorino_Cry, + [ANIM_NIDORINO_CROUCH] = sAnim_Scene3_Nidorino_Crouch, + [ANIM_NIDORINO_HOP] = sAnim_Scene3_Nidorino_Hop, + [ANIM_NIDORINO_ATTACK] = sAnim_Scene3_Nidorino_Attack }; -static const union AffineAnimCmd gAffineAnimCmd_840BD58[] = { +static const union AffineAnimCmd sAffineAnim_Scene3_Mons_Normal[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd gAffineAnimCmd_840BD68[] = { +static const union AffineAnimCmd sAffineAnim_Scene3_Mons_Zoom[] = { AFFINEANIMCMD_FRAME(256, 256, 0, 0), AFFINEANIMCMD_FRAME(32, 32, 0, 8), AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const sAffineAnimTable_NidorinoAnim[] = { - gAffineAnimCmd_840BD58, - gAffineAnimCmd_840BD68 +static const union AffineAnimCmd *const sAffineAnims_Scene3_Mons[] = { + [AFFINEANIM_NORMAL] = sAffineAnim_Scene3_Mons_Normal, + [AFFINEANIM_ZOOM] = sAffineAnim_Scene3_Mons_Zoom }; -static const struct SpriteTemplate sSpriteTemplate_NidorinoAnim = { - .tileTag = 5, - .paletteTag = 7, - .oam = &gOamData_840BD14, - .anims = sAnimTable_NidorinoAnim, +static const struct SpriteTemplate sSpriteTemplate_Scene3_Nidorino = { + .tileTag = GFXTAG_SCENE3_NIDORINO, + .paletteTag = PALTAG_NIDORINO, + .oam = &sOam_Scene3_Nidorino, + .anims = sAnims_Scene3_Nidorino, .images = NULL, - .affineAnims = sAffineAnimTable_NidorinoAnim, + .affineAnims = sAffineAnims_Scene3_Mons, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BDA0 = { +static const struct OamData sOam_Scene2_Mons = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(64x64), .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; -static const struct SpriteTemplate sSpriteTemplate_NidorinoStatic = { - .tileTag = 7, - .paletteTag = 7, - .oam = &gOamData_840BDA0, +static const struct SpriteTemplate sSpriteTemplate_Scene2_Nidorino = { + .tileTag = GFXTAG_SCENE2_NIDORINO, + .paletteTag = PALTAG_NIDORINO, + .oam = &sOam_Scene2_Mons, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct SpriteTemplate sSpriteTemplate_GengarStatic = { - .tileTag = 6, - .paletteTag = 6, - .oam = &gOamData_840BDA0, +static const struct SpriteTemplate sSpriteTemplate_Scene2_Gengar = { + .tileTag = GFXTAG_SCENE2_GENGAR, + .paletteTag = PALTAG_GENGAR, + .oam = &sOam_Scene2_Mons, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BDD8 = { +static const struct OamData sOam_Grass = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(64x32), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(64x32), .tileNum = 0x000, .priority = 0, .paletteNum = 0 }; -static const union AnimCmd gAnimCmds_840BDE0[] = { +static const union AnimCmd sAnim_Grass_Static[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd gAnimCmds_840BDE8[] = { +static const union AnimCmd sAnim_Grass_Rustle[] = { ANIMCMD_FRAME(32, 4), ANIMCMD_FRAME(0, 4), ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BDF4[] = { - gAnimCmds_840BDE0, - gAnimCmds_840BDE8 +static const union AnimCmd *const sAnims_Grass[] = { + sAnim_Grass_Static, + sAnim_Grass_Rustle // Unused }; static const struct SpriteTemplate sSpriteTemplate_Grass = { - .tileTag = 8, - .paletteTag = 8, - .oam = &gOamData_840BDD8, - .anims = gAnimCmdTable_840BDF4, + .tileTag = GFXTAG_SCENE3_GRASS, + .paletteTag = PALTAG_SCENE3_GRASS, + .oam = &sOam_Grass, + .anims = sAnims_Grass, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BE14 = { +static const struct OamData sOam_Scene3_Gengar = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(64x64), .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BE1C[] = { +static const union AnimCmd sAnim_Scene3_Gengar_TopLeft[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BE24[] = { +static const union AnimCmd sAnim_Scene3_Gengar_TopRight[] = { ANIMCMD_FRAME(64, 0), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BE2C[] = { +static const union AnimCmd sAnim_Scene3_Gengar_BottomLeft[] = { ANIMCMD_FRAME(96, 0), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BE34[] = { +static const union AnimCmd sAnim_Scene3_Gengar_BottomRight[] = { ANIMCMD_FRAME(160, 0), ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BE3C[] = { - gAnimCmd_840BE1C, - gAnimCmd_840BE24, - gAnimCmd_840BE2C, - gAnimCmd_840BE34 +static const union AnimCmd *const sAnims_Scene3_Gengar[NUM_GENGAR_BACK_SPRITES] = { + sAnim_Scene3_Gengar_TopLeft, + sAnim_Scene3_Gengar_TopRight, + sAnim_Scene3_Gengar_BottomLeft, + sAnim_Scene3_Gengar_BottomRight }; -static const struct SpriteTemplate sSpriteTemplate_GengarBack = { - .tileTag = 9, - .paletteTag = 6, - .oam = &gOamData_840BE14, - .anims = gAnimCmdTable_840BE3C, +static const struct SpriteTemplate sSpriteTemplate_Scene3_Gengar = { + .tileTag = GFXTAG_SCENE3_GENGAR, + .paletteTag = PALTAG_GENGAR, + .oam = &sOam_Scene3_Gengar, + .anims = sAnims_Scene3_Gengar, .images = NULL, - .affineAnims = sAffineAnimTable_NidorinoAnim, + .affineAnims = sAffineAnims_Scene3_Mons, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_840BE64 = { +static const struct OamData sOam_Swipe = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_V_RECTANGLE, + .shape = SPRITE_SHAPE(32x64), .matrixNum = 0, - .size = ST_OAM_SIZE_3, + .size = SPRITE_SIZE(32x64), .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BE6C[] = { +static const union AnimCmd sAnim_Swipe_Top[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(32, 4), ANIMCMD_END }; -static const union AnimCmd gAnimCmd_840BE78[] = { +static const union AnimCmd sAnim_Swipe_Bottom[] = { ANIMCMD_FRAME(64, 8), ANIMCMD_FRAME(72, 4), ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BE84[] = { - gAnimCmd_840BE6C, - gAnimCmd_840BE78 +static const union AnimCmd *const sAnims_Swipe[] = { + [ANIM_SWIPE_TOP] = sAnim_Swipe_Top, + [ANIM_SWIPE_BOTTOM] = sAnim_Swipe_Bottom }; static const struct SpriteTemplate sSpriteTemplate_GengarSwipe = { - .tileTag = 10, - .paletteTag = 10, - .oam = &gOamData_840BE64, - .anims = gAnimCmdTable_840BE84, + .tileTag = GFXTAG_SCENE3_SWIPE, + .paletteTag = PALTAG_SCENE3_SWIPE, + .oam = &sOam_Swipe, + .anims = sAnims_Swipe, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_GengarSwipe }; -static const struct OamData gOamData_840BEA4 = { +static const struct OamData sOam_RecoilDust = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(16x16), .matrixNum = 0, - .size = ST_OAM_SIZE_1, + .size = SPRITE_SIZE(16x16), .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; -static const union AnimCmd gAnimCmd_840BEAC[] = { +static const union AnimCmd sAnim_RecoilDust[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(4, 10), ANIMCMD_FRAME(8, 10), @@ -725,41 +848,41 @@ static const union AnimCmd gAnimCmd_840BEAC[] = { ANIMCMD_END }; -static const union AnimCmd *const gAnimCmdTable_840BEC0[] = { - gAnimCmd_840BEAC +static const union AnimCmd *const sAnims_RecoilDust[] = { + sAnim_RecoilDust }; static const struct SpriteTemplate sSpriteTemplate_NidorinoRecoilDust = { - .tileTag = 11, - .paletteTag = 11, - .oam = &gOamData_840BEA4, - .anims = gAnimCmdTable_840BEC0, + .tileTag = GFXTAG_SCENE3_RECOIL_DUST, + .paletteTag = PALTAG_SCENE3_RECOIL_DUST, + .oam = &sOam_RecoilDust, + .anims = sAnims_RecoilDust, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_NidorinoRecoilDust + .callback = SpriteCB_RecoilDust }; static const struct CompressedSpriteSheet sFightSceneSpriteSheets[] = { - {sSpriteTiles_GengarStatic, 0x0800, 6}, - {sSpriteTiles_NidorinoStatic, 0x0800, 7}, - {sSpriteTiles_NidorinoAnim, 0x2800, 5}, - {sSpriteTiles_Grass, 0x0800, 8}, - {sSpriteTiles_GengarBack, 0x1800, 9}, - {sSpriteTiles_GengarSwipe, 0x0a00, 10}, - {sSpriteTiles_NidorinoRecoilDust, 0x0200, 11} + {sScene2_Gengar_Gfx, 0x800, GFXTAG_SCENE2_GENGAR}, + {sScene2_Nidorino_Gfx, 0x800, GFXTAG_SCENE2_NIDORINO}, + {sScene3_Nidorino_Gfx, 0x2800, GFXTAG_SCENE3_NIDORINO}, + {sScene3_Grass_Gfx, 0x800, GFXTAG_SCENE3_GRASS}, + {sScene3_GengarStatic_Gfx, 0x1800, GFXTAG_SCENE3_GENGAR}, + {sScene3_Swipe_Gfx, 0xA00, GFXTAG_SCENE3_SWIPE}, + {sScene3_RecoilDust_Gfx, 0x200, GFXTAG_SCENE3_RECOIL_DUST} }; // POTENTIAL UB -// This array is passed to LoadSpritePalettes in LoadFightSceneSpriteTilesAndPals. +// This array is passed to LoadSpritePalettes in LoadFightSceneSpriteGraphics. // LoadSpritePalettes uses a {0} entry to signal end of array. // Because such an entry is absent in this case, the function // continues reading into the next .rodata section. static const struct SpritePalette sFightSceneSpritePalettes[] = { - {sSpritePals_Gengar, 6}, - {sSpritePals_Nidorino, 7}, - {sSpritePals_Grass, 8}, - {sSpritePals_GengarSwipe, 10}, - {sSpritePals_NidorinoRecoilDust, 11}, + {sGengar_Pal, PALTAG_GENGAR}, + {sNidorino_Pal, PALTAG_NIDORINO}, + {sScene3_Grass_Pal, PALTAG_SCENE3_GRASS}, + {sScene3_Swipe_Pal, PALTAG_SCENE3_SWIPE}, + {sScene3_RecoilDust_Pal, PALTAG_SCENE3_RECOIL_DUST}, #ifdef BUGFIX {0} #endif @@ -778,19 +901,19 @@ static void CB2_WaitFadeBeforeSetUpIntro(void) SetMainCallback2(CB2_SetUpIntro); } -static void load_copyright_graphics(u16 charBase, u16 screenBase, u16 palOffset) +static void LoadCopyrightGraphics(u16 charBase, u16 screenBase, u16 palOffset) { - LZ77UnCompVram(sCopyrightGraphicsTiles, (void *)BG_VRAM + charBase); - LZ77UnCompVram(sCopyrightGraphicsMap, (void *)BG_VRAM + screenBase); - LoadPalette(sCopyrightGraphicsPal, palOffset, 0x20); + LZ77UnCompVram(sCopyright_Gfx, (void *)BG_VRAM + charBase); + LZ77UnCompVram(sCopyright_Map, (void *)BG_VRAM + screenBase); + LoadPalette(sCopyright_Pal, palOffset, sizeof(sCopyright_Pal)); } -static void SerialCb_CopyrightScreen(void) +static void SerialCB_CopyrightScreen(void) { GameCubeMultiBoot_HandleSerialInterrupt(&sGcmb); } -static bool8 RunCopyrightScreen(void) +static bool8 SetUpCopyrightScreen(void) { switch (gMain.state) { @@ -807,17 +930,17 @@ static bool8 RunCopyrightScreen(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT + sizeof(vu16), PLTT_SIZE - sizeof(vu16)); ResetPaletteFade(); - load_copyright_graphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, 0); + LoadCopyrightGraphics(0 * BG_CHAR_SIZE, 7 * BG_SCREEN_SIZE, 0); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); - BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, 0xFFFF); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_WHITEALPHA); SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(7)); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(VBlankCB_Copyright); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); - SetSerialCallback(SerialCb_CopyrightScreen); + SetSerialCallback(SerialCB_CopyrightScreen); GameCubeMultiBoot_Init(&sGcmb); // fallthrough default: @@ -841,11 +964,10 @@ static bool8 RunCopyrightScreen(void) { if (sGcmb.gcmb_field_2 == 2) { - // Gc6e - if (*((u32 *)0x020000AC) == 0x65366347) + if (*(u32 *)(EWRAM_START + 0xAC) == COLOSSEUM_GAME_CODE) { CpuCopy16(gMultiBootProgram_PokemonColosseum_Start, (void *)EWRAM_START, 0x28000); - *((u32 *)0x020000AC) = 0x65366347; + *(u32 *)(EWRAM_START + 0xAC) = COLOSSEUM_GAME_CODE; } GameCubeMultiBoot_ExecuteProgram(&sGcmb); } @@ -866,9 +988,9 @@ static bool8 RunCopyrightScreen(void) return TRUE; } -void c2_copyright_1(void) +void CB2_InitCopyrightScreenAfterBootup(void) { - if (!RunCopyrightScreen()) + if (!SetUpCopyrightScreen()) { ResetMenuAndMonGlobals(); Save_ResetSaveCounters(); @@ -879,9 +1001,9 @@ void c2_copyright_1(void) } } -void CB2_CopyrightScreen(void) +void CB2_InitCopyrightScreenAfterTitleScreen(void) { - RunCopyrightScreen(); + SetUpCopyrightScreen(); } static void CB2_SetUpIntro(void) @@ -905,13 +1027,13 @@ static void CB2_SetUpIntro(void) DmaFill16(3, 0, PLTT, PLTT_SIZE); FillPalette(RGB_BLACK, 0, 0x400); ResetBgsAndClearDma3BusyFlags(FALSE); - InitBgsFromTemplates(0, sBgTemplates_GameFreakScene, NELEMS(sBgTemplates_GameFreakScene)); + InitBgsFromTemplates(0, sBgTemplates_GameFreakScene, ARRAY_COUNT(sBgTemplates_GameFreakScene)); break; case 1: - LoadPalette(sBg3Pal_GameFreakPresents, 0x00, 0x20); - DecompressAndCopyTileDataToVram(3, sBg3Tiles_GameFreakPresents, 0, 0, 0); - DecompressAndCopyTileDataToVram(3, sBg3Map_GameFreakPresents, 0, 0, 1); - LoadPalette(sSpritePals_GameFreakPresents, 0xD0, 0x20); + LoadPalette(sGameFreakBg_Pal, 0x00, sizeof(sGameFreakBg_Pal)); + DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_GF_BACKGROUND, sGameFreakBg_Map, 0, 0, 1); + LoadPalette(sGameFreakLogo_Pal, 0xD0, sizeof(sGameFreakLogo_Pal)); break; case 2: if (!FreeTempTileDataBuffersIfPossible()) @@ -960,7 +1082,7 @@ static void Intro_ResetGpuRegs(void) static void StartIntroSequence(void) { - struct IntroSequenceData * ptr = Alloc(sizeof(struct IntroSequenceData)); + struct IntroSequenceData * ptr = Alloc(sizeof(*ptr)); SetIntroCB(ptr, IntroCB_Init); ptr->taskId = CreateTask(Task_CallIntroCallback, 3); SetWordTaskArg(ptr->taskId, 0, (uintptr_t)ptr); @@ -975,8 +1097,11 @@ static void SetIntroCB(struct IntroSequenceData * ptr, IntroCallback cb) static void Task_CallIntroCallback(u8 taskId) { struct IntroSequenceData * ptr = (void *)GetWordTaskArg(taskId, 0); - if (JOY_NEW(A_BUTTON | START_BUTTON | SELECT_BUTTON) && ptr->callback != IntroCB_CleanUp) - SetIntroCB(ptr, IntroCB_CleanUp); + + // End intro early if player presses A/Start/Select + if (JOY_NEW(A_BUTTON | START_BUTTON | SELECT_BUTTON) && ptr->callback != IntroCB_ExitToTitleScreen) + SetIntroCB(ptr, IntroCB_ExitToTitleScreen); + ptr->callback(ptr); } @@ -985,140 +1110,138 @@ static void IntroCB_Init(struct IntroSequenceData * this) switch (this->state) { case 0: - InitWindows(sWindowTemplate); - LZ77UnCompWram(sBlit_GameFreakText, this->gamefreakTextBitmap); - LZ77UnCompWram(sSpriteTiles_GameFreakLogoArt, this->gamefreakLogoArtSpriteTiles); - FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11); - FillWindowPixelBuffer(0, PIXEL_FILL(0)); - BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0, 40, 144, 16); - PutWindowTilemap(0); - CopyWindowToVram(0, COPYWIN_FULL); + InitWindows(sWindowTemplates); + LZ77UnCompWram(sGameFreakText_Gfx, this->gameFreakTextGfx); + LZ77UnCompWram(sGameFreakLogo_Gfx, this->gameFreakLogoGfx); + FillBgTilemapBufferRect(BG_GF_TEXT_LOGO, 0x000, 0, 0, 32, 32, 0x11); + FillWindowPixelBuffer(WIN_GF_TEXT_LOGO, PIXEL_FILL(0)); + BlitBitmapToWindow(WIN_GF_TEXT_LOGO, this->gameFreakTextGfx, 0, 40, 144, 16); + PutWindowTilemap(WIN_GF_TEXT_LOGO); + CopyWindowToVram(WIN_GF_TEXT_LOGO, COPYWIN_FULL); this->state++; break; case 1: if (!IsDma3ManagerBusyWithBgCopy()) - SetIntroCB(this, IntroCB_OpenWin1ToTheaterDimensions); + SetIntroCB(this, IntroCB_GF_OpenWindow); break; } } -static void IntroCB_OpenWin1ToTheaterDimensions(struct IntroSequenceData * this) +static void IntroCB_GF_OpenWindow(struct IntroSequenceData * this) { switch (this->state) { case 0: SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON); - SetGpuReg(REG_OFFSET_WININ, 0x3F00); - SetGpuReg(REG_OFFSET_WINOUT, 0x0000); - SetGpuReg(REG_OFFSET_WIN1H, 0x00F0); - SetGpuReg(REG_OFFSET_WIN1V, 0x0000); - this->data[5] = 0; + SetGpuReg(REG_OFFSET_WININ, WININ_WIN1_ALL); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_WIN1H, DISPLAY_WIDTH); + SetGpuReg(REG_OFFSET_WIN1V, 0); + this->timer = 0; this->state++; break; case 1: - ShowBg(3); - BlendPalettes(PALETTES_ALL, 0x00, RGB_BLACK); + ShowBg(BG_GF_BACKGROUND); + BlendPalettes(PALETTES_ALL, 0, RGB_BLACK); this->state++; break; case 2: - this->data[5] += 8; - if (this->data[5] >= 0x30) - this->data[5] = 0x30; - SetGpuReg(REG_OFFSET_WIN1V, ((0x50 - this->data[5]) << 8) | (0x50 + this->data[5])); - if (this->data[5] == 0x30) - SetIntroCB(this, IntroCB_GameFreakStar); + // Extend window height in both directions from midpoint until it reaches a narrow "theatric" view + this->timer += 8; + if (this->timer >= 48) + this->timer = 48; + SetGpuReg(REG_OFFSET_WIN1V, WIN_RANGE(DISPLAY_HEIGHT / 2 - this->timer, DISPLAY_HEIGHT / 2 + this->timer)); + if (this->timer == 48) + SetIntroCB(this, IntroCB_GF_Star); break; } } -static void IntroCB_GameFreakStar(struct IntroSequenceData * this) +static void IntroCB_GF_Star(struct IntroSequenceData * this) { switch (this->state) { case 0: PlaySE(MUS_GAME_FREAK); - GameFreakScene_LoadGfxCreateStar(); - this->data[5] = 0; + GFScene_LoadGfxCreateStar(); + this->timer = 0; this->state++; break; case 1: - this->data[5]++; - if (this->data[5] == 30) + if (++this->timer == 30) { - GameFreakScene_StartTrailingSparkleSpawner(); - this->data[5] = 0; + GFScene_StartNameSparklesSmall(); + this->timer = 0; this->state++; } break; case 2: - this->data[5]++; - if (this->data[5] == 90) - SetIntroCB(this, IntroCB_GameFreakScene_RevealGameFreakText); + this->timer++; + if (this->timer == 90) + SetIntroCB(this, IntroCB_GF_RevealName); break; } } -static void IntroCB_GameFreakScene_RevealGameFreakText(struct IntroSequenceData * this) +static void IntroCB_GF_RevealName(struct IntroSequenceData * this) { switch (this->state) { case 0: - GameFreakScene_StartRevealGameFreakTextSparklesSpawner(); - this->data[5] = 0; + GFScene_StartNameSparklesBig(); + this->timer = 0; this->state++; break; case 1: - this->data[5]++; - if (this->data[5] >= 40) + if (++this->timer >= 40) this->state++; break; case 2: - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); StartBlendTask(0, 16, 16, 0, 48, 0); this->state++; break; case 3: - ShowBg(2); + ShowBg(BG_GF_TEXT_LOGO); this->state++; break; case 4: if (!IsBlendTaskActive()) { SetGpuReg(REG_OFFSET_BLDCNT, 0); - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 5: - this->data[5]++; - if (this->data[5] > 50) - SetIntroCB(this, IntroCB_GameFreakScene_CreateGameFreakLogo); + if (++this->timer > 50) + SetIntroCB(this, IntroCB_GF_RevealLogo); break; } } -static void IntroCB_GameFreakScene_CreateGameFreakLogo(struct IntroSequenceData * this) +static void IntroCB_GF_RevealLogo(struct IntroSequenceData * this) { switch (this->state) { case 0: - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); StartBlendTask(0, 16, 16, 0, 16, 0); - this->data[0] = 0; - this->data[1] = 16; - this->data[5] = 0; + this->data[0] = 0; // Never read + this->data[1] = 16; // Never read + this->timer = 0; this->state++; break; case 1: - this->gameFreakLogoArtSprite = CreateGameFreakLogoArtSprite(); + this->gameFreakLogoArtSprite = GFScene_CreateLogoSprite(); this->state++; break; case 2: if (!IsBlendTaskActive()) { - BlitBitmapToWindow(0, this->gamefreakLogoArtSpriteTiles, 0x38, 0x06, 0x20, 0x40); - BlitBitmapToWindow(0, this->gamefreakTextBitmap, 0x00, 0x28, 0x90, 0x10); - CopyWindowToVram(0, COPYWIN_GFX); + BlitBitmapToWindow(WIN_GF_TEXT_LOGO, this->gameFreakLogoGfx, 0x38, 0x06, 0x20, 0x40); + BlitBitmapToWindow(WIN_GF_TEXT_LOGO, this->gameFreakTextGfx, 0x00, 0x28, 0x90, 0x10); + CopyWindowToVram(WIN_GF_TEXT_LOGO, COPYWIN_GFX); this->state++; } break; @@ -1126,14 +1249,15 @@ static void IntroCB_GameFreakScene_CreateGameFreakLogo(struct IntroSequenceData if (!IsDma3ManagerBusyWithBgCopy()) { DestroySprite(this->gameFreakLogoArtSprite); - Rev1_GameFreakScene_CreatePresentsText(); - this->data[5] = 0; + #if REVISION >= 1 + GFScene_CreatePresentsSprite(); + #endif + this->timer = 0; this->state++; } break; case 4: - this->data[5]++; - if (this->data[5] > 90) + if (++this->timer > 90) { SetGpuRegBits(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2); StartBlendTask(16, 0, 0, 16, 20, 0); @@ -1143,63 +1267,62 @@ static void IntroCB_GameFreakScene_CreateGameFreakLogo(struct IntroSequenceData case 5: if (!IsBlendTaskActive()) { - HideBg(2); + HideBg(BG_GF_TEXT_LOGO); this->state++; } break; case 6: ResetSpriteData(); FreeAllSpritePalettes(); - this->data[5] = 0; + this->timer = 0; this->state++; break; case 7: - this->data[5]++; - if (this->data[5] > 20) + if (++this->timer > 20) { SetGpuReg(REG_OFFSET_BLDCNT, 0); - SetIntroCB(this, IntroCB_FightScene); + SetIntroCB(this, IntroCB_Scene1); } break; } } -static void IntroCB_FightScene(struct IntroSequenceData * this) +static void IntroCB_Scene1(struct IntroSequenceData * this) { switch (this->state) { case 0: SetVBlankCallback(NULL); - LoadPalette(sBg0Pal_FightScene1, 0x10, 0x20); - LoadPalette(sBg1Pal_FightScene1, 0x20, 0x20); - BlendPalettes(0x00000006, 0x10, RGB_WHITE); - InitBgsFromTemplates(0, sBgTemplates_FightScene1, NELEMS(sBgTemplates_FightScene1)); - DecompressAndCopyTileDataToVram(1, sBg1Tiles_FightScene1, 0, 0, 0); - DecompressAndCopyTileDataToVram(1, sBg1Map_FightScene1, 0, 0, 1); - ShowBg(1); - HideBg(0); - HideBg(2); - HideBg(3); - LoadFightSceneSpriteTilesAndPals(); + LoadPalette(sScene1_Grass_Pal, 16 * PALSLOT_SCENE1_GRASS, sizeof(sScene1_Grass_Pal)); + LoadPalette(sScene1_Bg_Pal, 16 * PALSLOT_SCENE1_BG, sizeof(sScene1_Bg_Pal)); + BlendPalettes((1 << PALSLOT_SCENE1_GRASS) | (1 << PALSLOT_SCENE1_BG), 16, RGB_WHITE); + InitBgsFromTemplates(0, sBgTemplates_Scene1, ARRAY_COUNT(sBgTemplates_Scene1)); + DecompressAndCopyTileDataToVram(BG_SCENE1_BACKGROUND, sScene1_Bg_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE1_BACKGROUND, sScene1_Bg_Map, 0, 0, 1); + ShowBg(BG_SCENE1_BACKGROUND); + HideBg(BG_SCENE1_GRASS); + HideBg(BG_SCENE1_UNUSED1); + HideBg(BG_SCENE1_UNUSED2); + LoadFightSceneSpriteGraphics(); SetVBlankCallback(VBlankCB_Intro); this->state++; break; case 1: if (!FreeTempTileDataBuffersIfPossible()) { - DecompressAndCopyTileDataToVram(0, sBg0Tiles_FightScene1, 0, 0, 0); - DecompressAndCopyTileDataToVram(0, sBg0Map_FightScene1, 0, 0, 1); + DecompressAndCopyTileDataToVram(BG_SCENE1_GRASS, sScene1_Grass_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE1_GRASS, sScene1_Grass_Map, 0, 0, 1); ResetBgPositions(); - ShowBg(1); + ShowBg(BG_SCENE1_BACKGROUND); this->state++; } break; case 2: if (!FreeTempTileDataBuffersIfPossible()) { - ShowBg(0); - CreateTask(Task_FightScene1_GrassyFieldAnim, 0); - BeginNormalPaletteFade(0x00000006, -2, 16, 0, RGB_WHITE); + ShowBg(BG_SCENE1_GRASS); + CreateTask(Scene1_Task_AnimateGrass, 0); + BeginNormalPaletteFade((1 << PALSLOT_SCENE1_GRASS) | (1 << PALSLOT_SCENE1_BG), -2, 16, 0, RGB_WHITE); this->state++; } break; @@ -1207,111 +1330,134 @@ static void IntroCB_FightScene(struct IntroSequenceData * this) if (!gPaletteFade.active) { m4aSongNumStart(MUS_INTRO_FIGHT); - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 4: - this->data[5]++; - if (this->data[5] == 20) + if (++this->timer == 20) { - CreateTask(Task_FightScene1_ZoomEffect, 0); - FightScene1_SignalEndGrassyFieldAnim(); + // Start animation for transitioning to the next scene + CreateTask(Scene1_Task_BgZoom, 0); + Scene1_StartGrassScrolling(); } - if (this->data[5] >= 30) + if (this->timer >= 30) { - BlendPalettes(0xFFFFFFFE, 16, RGB_WHITE); - DestroyTask(FindTaskIdByFunc(Task_FightScene1_GrassyFieldAnim)); - DestroyTask(FindTaskIdByFunc(Task_FightScene1_ZoomEffect)); - SetIntroCB(this, IntroCB_FightScene2); + // End scene + BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); + DestroyTask(FindTaskIdByFunc(Scene1_Task_AnimateGrass)); + DestroyTask(FindTaskIdByFunc(Scene1_Task_BgZoom)); + SetIntroCB(this, IntroCB_Scene2); } break; case 5: + // Never reached if (!gPaletteFade.active) { - DestroyTask(FindTaskIdByFunc(Task_FightScene1_GrassyFieldAnim)); - DestroyTask(FindTaskIdByFunc(Task_FightScene1_ZoomEffect)); - SetIntroCB(this, IntroCB_FightScene2); + DestroyTask(FindTaskIdByFunc(Scene1_Task_AnimateGrass)); + DestroyTask(FindTaskIdByFunc(Scene1_Task_BgZoom)); + SetIntroCB(this, IntroCB_Scene2); } break; } } -static void Task_FightScene1_GrassyFieldAnim(u8 taskId) +#define tTimer data[0] +#define tFrame data[1] +#define tExiting data[2] +#define tScroll data[3] + +static void Scene1_Task_AnimateGrass(u8 taskId) { s16 * data = gTasks[taskId].data; - data[0]++; - if (data[0] > 5) + // Each of the 3 frames of the bg grass animation is separated vertically on the tilemap. + // The conditional below changes the frame by setting the y coordinate of the bg. + if (++tTimer > 5) { - data[0] = 0; - data[1]++; - if (data[1] > 2) - data[1] = 0; - ChangeBgY(0, data[1] << 15, 0); + tTimer = 0; + if (++tFrame >= 3) + tFrame = 0; + ChangeBgY(BG_SCENE1_GRASS, tFrame << 15, BG_COORD_SET); } - if (data[2]) + + // When it's time to progress to the next scene, the grass is meant to scroll downward offscreen. + // This scrolling is overwritten by the coord change above, and so the grass "stutters" back upward. + // They don't mask the bg, so if it were to continue scrolling offscreen it would reveal the frame above on the tilemap. + if (tExiting) { - data[3] += 0x120; - ChangeBgY(0, data[3], 2); + tScroll += 0x120; + ChangeBgY(BG_SCENE1_GRASS, tScroll, BG_COORD_SUB); } } -static void FightScene1_SignalEndGrassyFieldAnim(void) +static void Scene1_StartGrassScrolling(void) { - u8 taskId = FindTaskIdByFunc(Task_FightScene1_GrassyFieldAnim); - gTasks[taskId].data[2] = TRUE; + u8 taskId = FindTaskIdByFunc(Scene1_Task_AnimateGrass); + gTasks[taskId].tExiting = TRUE; } -static void Task_FightScene1_ZoomEffect(u8 taskId) +#undef tTimer +#undef tFrame +#undef tExiting +#undef tScroll + +#define tTimer data[0] +#define tFrame data[1] + +// Have the silhouetted forest background "zoom in" during the transition to the next scene. +// Same as the grass animation above, this achieved by separating frames vertically on the bg tilemap. +static void Scene1_Task_BgZoom(u8 taskId) { s16 * data = gTasks[taskId].data; - data[0]++; - if (data[0] > 3) + if (++tTimer > 3) { - data[0] = 0; - if (data[1] < 2) - data[1]++; - ChangeBgY(1, data[1] << 15, 0); + tTimer = 0; + if (tFrame < 2) + tFrame++; + ChangeBgY(BG_SCENE1_BACKGROUND, tFrame << 15, BG_COORD_SET); } } -static void IntroCB_FightScene2(struct IntroSequenceData * this) +#undef tTimer +#undef tFrame + +static void IntroCB_Scene2(struct IntroSequenceData * this) { switch (this->state) { case 0: - BlendPalettes(0xFFFFFFFE, 16, RGB_WHITE); - InitBgsFromTemplates(0, sBgTemplates_FightScene2, NELEMS(sBgTemplates_FightScene2)); - DecompressAndCopyTileDataToVram(3, sBg3Tiles_FightScene2, 0, 0, 0); - DecompressAndCopyTileDataToVram(3, sBg3Map_FightScene2, 0, 0, 1); - ShowBg(3); + BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); + InitBgsFromTemplates(0, sBgTemplates_Scene2, ARRAY_COUNT(sBgTemplates_Scene2)); + DecompressAndCopyTileDataToVram(BG_SCENE2_BACKGROUND, sScene2_Bg_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE2_BACKGROUND, sScene2_Bg_Map, 0, 0, 1); + ShowBg(BG_SCENE2_BACKGROUND); this->state++; break; case 1: if (!FreeTempTileDataBuffersIfPossible()) { SetVBlankCallback(NULL); - LoadPalette(sBg3Pal_FightScene2, 0x10, 0x60); - LoadPalette(sSpritePals_Gengar, 0x50, 0x20); - LoadPalette(sBg1Pal_FightScene2, 0x60, 0x20); - BlendPalettes(0xFFFFFFFE, 16, RGB_WHITE); - DecompressAndCopyTileDataToVram(0, sBg0Tiles_FightScene2, 0, 0, 0); - DecompressAndCopyTileDataToVram(0, sBg0Map_FightScene2, 0, 0, 1); - DecompressAndCopyTileDataToVram(1, sBg1Tiles_FightScene2, 0, 0, 0); - DecompressAndCopyTileDataToVram(1, sBg1Map_FightScene2, 0, 0, 1); - DecompressAndCopyTileDataToVram(2, sBg2Tiles_FightScene2, 0, 0, 0); - DecompressAndCopyTileDataToVram(2, sBg2Map_FightScene2, 0, 0, 1); + LoadPalette(sScene2_Bg_Pal, 0x10, sizeof(sScene2_Bg_Pal)); + LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal)); + LoadPalette(sScene2_NidorinoClose_Pal, 0x60, sizeof(sScene2_NidorinoClose_Pal)); + BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); + DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE2_PLANTS, sScene2_Plants_Map, 0, 0, 1); + DecompressAndCopyTileDataToVram(BG_SCENE2_NIDORINO, sScene2_NidorinoClose_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE2_NIDORINO, sScene2_NidorinoClose_Map, 0, 0, 1); + DecompressAndCopyTileDataToVram(BG_SCENE2_GENGAR, sScene2_GengarClose_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE2_GENGAR, sScene2_GengarClose_Map, 0, 0, 1); ResetBgPositions(); - ShowBg(0); - HideBg(1); - HideBg(2); - ChangeBgY(2, 0x0001CE00, 0); - ChangeBgY(1, 0x00002800, 0); - CreateTask(Task_FightScene2_CameraHorizPanEffect, 0); - CreateMonStaticSprites(this); - BlendPalettes(0xFFFFFFFE, 16, RGB_WHITE); + ShowBg(BG_SCENE2_PLANTS); + HideBg(BG_SCENE2_NIDORINO); // Hide bgs for the close up shot + HideBg(BG_SCENE2_GENGAR); + ChangeBgY(BG_SCENE2_GENGAR, 0x0001CE00, BG_COORD_SET); + ChangeBgY(BG_SCENE2_NIDORINO, 0x00002800, BG_COORD_SET); + CreateTask(Scene2_Task_PanForest, 0); + Scene2_CreateMonSprites(this); + BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); SetVBlankCallback(VBlankCB_Intro); this->state++; } @@ -1319,434 +1465,453 @@ static void IntroCB_FightScene2(struct IntroSequenceData * this) case 2: if (!FreeTempTileDataBuffersIfPossible()) { - BeginNormalPaletteFade(0xFFFFFFFE, -2, 16, 0, RGB_WHITE); + BeginNormalPaletteFade(PALETTES_ALL & ~1, -2, 16, 0, RGB_WHITE); this->state++; } break; case 3: if (!gPaletteFade.active) { - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 4: - this->data[5]++; - if (this->data[5] >= 60) + if (++this->timer >= 60) { - this->data[5] = 0; - DestroyTask(FindTaskIdByFunc(Task_FightScene2_CameraHorizPanEffect)); - DestroyStaticMonSprites(this); - CreateTask(Task_FightScene2_CameraVertPanEffect, 0); - ChangeBgY(3, 0x00010000, 0); - HideBg(0); - ShowBg(3); - ShowBg(1); - ShowBg(2); + this->timer = 0; + DestroyTask(FindTaskIdByFunc(Scene2_Task_PanForest)); + Scene2_DestroyMonSprites(this); + CreateTask(Scene2_Task_PanMons, 0); + ChangeBgY(BG_SCENE2_BACKGROUND, 0x00010000, BG_COORD_SET); // Move background from upper half (wide shot) to lower half (close up) + HideBg(BG_SCENE2_PLANTS); + ShowBg(BG_SCENE2_BACKGROUND); + ShowBg(BG_SCENE2_NIDORINO); + ShowBg(BG_SCENE2_GENGAR); this->state++; } break; case 5: if (!IsDma3ManagerBusyWithBgCopy()) { - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 6: - this->data[5]++; - if (this->data[5] >= 60) + if (++this->timer >= 60) { - DestroyTask(FindTaskIdByFunc(Task_FightScene2_CameraVertPanEffect)); - SetIntroCB(this, IntroCB_FightScene3); + DestroyTask(FindTaskIdByFunc(Scene2_Task_PanMons)); + SetIntroCB(this, IntroCB_Scene3_Entrance); } break; } } -static void Task_FightScene2_CameraHorizPanEffect(u8 taskId) +// Pan the background trees right and the foreground plants left in the wide shot +static void Scene2_Task_PanForest(u8 taskId) { - ChangeBgX(3, 0x0E0, 2); - ChangeBgX(0, 0x110, 1); + ChangeBgX(BG_SCENE2_BACKGROUND, 0x0E0, BG_COORD_SUB); + ChangeBgX(BG_SCENE2_PLANTS, 0x110, BG_COORD_ADD); } -static void Task_FightScene2_CameraVertPanEffect(u8 taskId) +// Pan Gengar up and Nidorino down in the close up shot +static void Scene2_Task_PanMons(u8 taskId) { - ChangeBgY(2, 0x020, 1); - ChangeBgY(1, 0x024, 2); + ChangeBgY(BG_SCENE2_GENGAR, 0x020, BG_COORD_ADD); + ChangeBgY(BG_SCENE2_NIDORINO, 0x024, BG_COORD_SUB); } -static void CreateMonStaticSprites(struct IntroSequenceData * this) +// Create the Gengar/Nidorino sprites for the wide shot in scene 2 +static void Scene2_CreateMonSprites(struct IntroSequenceData * this) { u8 spriteId; - this->gengarStaticSprite = NULL; - this->nidorinoStaticSprite = NULL; + this->scene2GengarSprite = NULL; + this->scene2NidorinoSprite = NULL; - spriteId = CreateSprite(&sSpriteTemplate_NidorinoStatic, 168, 80, 11); + spriteId = CreateSprite(&sSpriteTemplate_Scene2_Nidorino, 168, 80, 11); if (spriteId != MAX_SPRITES) - this->nidorinoStaticSprite = &gSprites[spriteId]; + this->scene2NidorinoSprite = &gSprites[spriteId]; - spriteId = CreateSprite(&sSpriteTemplate_GengarStatic, 72, 80, 12); + spriteId = CreateSprite(&sSpriteTemplate_Scene2_Gengar, 72, 80, 12); if (spriteId != MAX_SPRITES) - this->gengarStaticSprite = &gSprites[spriteId]; + this->scene2GengarSprite = &gSprites[spriteId]; } -static void DestroyStaticMonSprites(struct IntroSequenceData * this) +static void Scene2_DestroyMonSprites(struct IntroSequenceData * this) { - if (this->gengarStaticSprite != NULL) - DestroySprite(this->gengarStaticSprite); - if (this->nidorinoStaticSprite != NULL) - DestroySprite(this->nidorinoStaticSprite); + if (this->scene2GengarSprite != NULL) + DestroySprite(this->scene2GengarSprite); + if (this->scene2NidorinoSprite != NULL) + DestroySprite(this->scene2NidorinoSprite); } -static void IntroCB_FightScene3(struct IntroSequenceData * this) +// Set up the scene 3 graphics, then start the scrolling to get Gengar and Nidorino in their fight positions +static void IntroCB_Scene3_Entrance(struct IntroSequenceData * this) { switch (this->state) { case 0: - LoadPalette(sBg1Pal_FightScene3, 0x10, 0x40); - LoadPalette(sSpritePals_Gengar, 0x50, 0x20); - BlendPalettes(0xFFFFFFFE, 16, RGB_WHITE); - InitBgsFromTemplates(0, sBgTemplates_FightScene3, NELEMS(sBgTemplates_FightScene3)); - DecompressAndCopyTileDataToVram(1, sBg1Tiles_FightScene3, 0, 0, 0); - DecompressAndCopyTileDataToVram(1, sBg1Map_FightScene3, 0, 0, 1); - ShowBg(1); - HideBg(0); - HideBg(2); - HideBg(3); + LoadPalette(sScene3_Bg_Pal, 0x10, sizeof(sScene3_Bg_Pal)); + LoadPalette(sGengar_Pal, 0x50, sizeof(sGengar_Pal)); + BlendPalettes(PALETTES_ALL & ~1, 16, RGB_WHITE); + InitBgsFromTemplates(0, sBgTemplates_Scene3, ARRAY_COUNT(sBgTemplates_Scene3)); + DecompressAndCopyTileDataToVram(BG_SCENE3_BACKGROUND, sScene3_Bg_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE3_BACKGROUND, sScene3_Bg_Map, 0, 0, 1); + ShowBg(BG_SCENE3_BACKGROUND); + HideBg(BG_SCENE3_GENGAR); + HideBg(BG_SCENE3_UNUSED1); + HideBg(BG_SCENE3_UNUSED2); ResetBgPositions(); this->state++; SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - SetGpuRegBits(REG_OFFSET_WININ, 0x12); - ClearGpuRegBits(REG_OFFSET_WININ, 0x01); - SetGpuRegBits(REG_OFFSET_WINOUT, 0x00); - SetGpuReg(REG_OFFSET_WIN0V, 0x2080); - SetGpuReg(REG_OFFSET_WIN0H, 0x0078); + SetGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_OBJ); + ClearGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_BG0); + SetGpuRegBits(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(32, DISPLAY_HEIGHT - 32)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, DISPLAY_WIDTH / 2)); break; case 1: if (!FreeTempTileDataBuffersIfPossible()) { - DecompressAndCopyTileDataToVram(0, sBg0Tiles_FightScene3, 0, 0, 0); - DecompressAndCopyTileDataToVram(0, sBg0Map_FightScene3, 0, 0, 1); - gUnknown_203AB00 = 4; - gUnknown_203AB02 = 52; - ChangeBgX(0, 0x00001800, 0); - ChangeBgY(0, 0x0001F000, 0); + DecompressAndCopyTileDataToVram(BG_SCENE3_GENGAR, sScene3_GengarAnim_Gfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(BG_SCENE3_GENGAR, sScene3_GengarAnim_Map, 0, 0, 1); + sUnusedScene3Var0 = 4; + sUnusedScene3Var1 = 52; + ChangeBgX(BG_SCENE3_GENGAR, 0x00001800, BG_COORD_SET); + ChangeBgY(BG_SCENE3_GENGAR, 0x0001F000, BG_COORD_SET); this->state++; } break; case 2: if (!FreeTempTileDataBuffersIfPossible()) { - BlendPalettes(0xFFFFFFFE, 0, RGB_WHITE); - ShowBg(0); - CreateTask(Task_FightScene3_ForestBgScroll, 0); - CreateNidorinoAnimSprite(this); - StartNidorinoAnimSpriteSlideIn(this->nidorinoAnimSprite, 0, 0xB4, 0x34); - CreateTask(Task_FightScene3_Bg0Scroll, 0); - FightScene3_StartBg1Scroll(); - this->data[5] = 0; + BlendPalettes(PALETTES_ALL & ~1, 0, RGB_WHITE); + ShowBg(BG_SCENE3_GENGAR); + CreateTask(Scene3_Task_GengarBounce, 0); + Scene3_CreateNidorinoSprite(this); + Scene3_StartNidorinoEntrance(this->scene3NidorinoSprite, 0, 180, 52); + CreateTask(Scene3_Task_GengarEnter, 0); + Scene3_StartBgScroll(); + this->timer = 0; this->state++; } break; case 3: - this->data[5]++; - if (this->data[5] == 16) - CreateGrassSprite(this); - if (!IsNidorinoAnimSpriteSlideInRunning(this) && !FuncIsActiveTask(Task_FightScene3_Bg0Scroll)) - SetIntroCB(this, IntroCB_FightScene4); + if (++this->timer == 16) + Scene3_CreateGrassSprite(this); + if (!Scene3_IsNidorinoEntering(this) && !FuncIsActiveTask(Scene3_Task_GengarEnter)) + SetIntroCB(this, IntroCB_Scene3_Fight); break; } } -static void Task_FightScene3_Bg1Scroll(u8 taskId) +#define tSlow data[0] + +// Pan the background trees right during the fight scene. +// It pans quickly while Gengar/Nidorino are sliding onscreen, and it pans slowly thereafter. +static void Scene3_Task_BgScroll(u8 taskId) { - if (gTasks[taskId].data[0] == 0) - ChangeBgX(1, 0x400, 2); + if (!gTasks[taskId].tSlow) + ChangeBgX(BG_SCENE3_BACKGROUND, 0x400, BG_COORD_SUB); else - ChangeBgX(1, 0x020, 2); + ChangeBgX(BG_SCENE3_BACKGROUND, 0x020, BG_COORD_SUB); } -static void FightScene3_StartBg1Scroll(void) +static void Scene3_StartBgScroll(void) { - CreateTask(Task_FightScene3_Bg1Scroll, 0); + CreateTask(Scene3_Task_BgScroll, 0); } -static void FightScene3_SlowBg1Scroll(void) +static void Scene3_SlowBgScroll(void) { - u8 taskId = FindTaskIdByFunc(Task_FightScene3_Bg1Scroll); - gTasks[taskId].data[0] = 1; + u8 taskId = FindTaskIdByFunc(Scene3_Task_BgScroll); + gTasks[taskId].tSlow = TRUE; } -static void Task_FightScene3_ForestBgScroll(u8 taskId) +#undef tSlow + +#define tPaused data[0] +#define tTimer data[1] +#define tState data[2] + +// Gengar has an "idle" animation where it bounces a little +static void Scene3_Task_GengarBounce(u8 taskId) { s16 * data = gTasks[taskId].data; - if (data[0] == 0) + if (!tPaused) { - data[1]++; - if (data[1] >= 30) + if (++tTimer >= 30) { - data[1] = 0; - data[2] ^= 1; - ChangeBgY(0, (data[2] << 15) + 0x1F000, 0); + tTimer = 0; + tState ^= 1; // Alternate between the 0th (normal) and 1st (slightly crouched) bg frames + ChangeBgY(BG_SCENE3_GENGAR, (tState << 15) + 0x1F000, BG_COORD_SET); } } } -static void FightScene3_PauseForestBgScroll(void) +static void Scene3_PauseGengarBounce(void) { - u8 taskId = FindTaskIdByFunc(Task_FightScene3_ForestBgScroll); - gTasks[taskId].data[0] = 1; + u8 taskId = FindTaskIdByFunc(Scene3_Task_GengarBounce); + gTasks[taskId].tPaused = TRUE; } -static void FightScene3_ResumeForestBgScroll(void) +static void Scene3_ResumeGengarBounce(void) { - u8 taskId = FindTaskIdByFunc(Task_FightScene3_ForestBgScroll); - gTasks[taskId].data[0] = 0; + u8 taskId = FindTaskIdByFunc(Scene3_Task_GengarBounce); + gTasks[taskId].tPaused = FALSE; } -static bool8 FightScene3_GetForestBgScrollState(void) +static bool8 Scene3_IsGengarMidBounce(void) { - u8 taskId = FindTaskIdByFunc(Task_FightScene3_ForestBgScroll); - return gTasks[taskId].data[2]; + u8 taskId = FindTaskIdByFunc(Scene3_Task_GengarBounce); + return gTasks[taskId].tState; } -static void CreateGrassSprite(struct IntroSequenceData * this) +#undef tPaused +#undef tTimer +#undef tState + +// The small clump of grass that passes by in the foreground during the fight +static void Scene3_CreateGrassSprite(struct IntroSequenceData * this) { u8 spriteId = CreateSprite(&sSpriteTemplate_Grass, 296, 112, 7); if (spriteId != MAX_SPRITES) { - this->grassSprite = &gSprites[spriteId]; - this->grassSprite->callback = SpriteCB_Grass; + this->scene3GrassSprite = &gSprites[spriteId]; + this->scene3GrassSprite->callback = SpriteCB_Grass; } else - this->grassSprite = NULL; + this->scene3GrassSprite = NULL; } +#define sState data[0] +#define sBaseX data[1] +#define sVeloc data[2] + static void SpriteCB_Grass(struct Sprite *sprite) { s16 * data = sprite->data; - switch (data[0]) + switch (sState) { case 0: - data[1] = sprite->x << 5; - data[2] = 160; - data[0]++; + sBaseX = sprite->x << 5; + sVeloc = 160; + sState++; // fallthrough case 1: - data[1] -= data[2]; - sprite->x = data[1] >> 5; + sBaseX -= sVeloc; + sprite->x = sBaseX >> 5; if (sprite->x <= 52) { - FightScene3_SlowBg1Scroll(); - data[0]++; + Scene3_SlowBgScroll(); + sState++; } break; case 2: - data[1] -= 32; - sprite->x = data[1] >> 5; + sBaseX -= 32; + sprite->x = sBaseX >> 5; if (sprite->x <= -32) { sprite->invisible = TRUE; - sprite->data[0]++; + sprite->sState++; DestroySprite(sprite); } break; } } -static void IntroCB_FightScene4(struct IntroSequenceData * this) +#undef sState +#undef sBaseX +#undef sVeloc + +static void IntroCB_Scene3_Fight(struct IntroSequenceData * this) { switch (this->state) { case 0: - this->data[5] = 0; + this->timer = 0; this->state++; break; case 1: - this->data[5]++; - if (this->data[5] > 30) + if (++this->timer > 30) { - FightScene4_NidorinoRearsUp(this); + Scene3_StartNidorinoCry(this); this->state++; } break; case 2: - if (!FightScene4_NidorinoAnimIsRunning(this)) + if (!Scene3_NidorinoAnimIsRunning(this)) { - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 3: - this->data[5]++; - if (this->data[5] > 30) + if (++this->timer > 30) { - FightScene3_PauseForestBgScroll(); - FightScene4_StartGengarAttack(this); - this->data[5] = 0; + Scene3_PauseGengarBounce(); + Scene3_StartGengarAttack(this); + this->timer = 0; this->state++; } break; case 4: if (this->gengarAttackLanded) { - FightScene4_StartNidorinoRecoilAnim(this); + Scene3_StartNidorinoRecoil(this); this->state++; } break; case 5: - if (!FightScene4_NidorinoAnimIsRunning(this)) + if (!Scene3_NidorinoAnimIsRunning(this)) { - FightScene3_ResumeForestBgScroll(); - this->data[5] = 0; + Scene3_ResumeGengarBounce(); + this->timer = 0; this->state++; } break; case 6: - this->data[5]++; - if (this->data[5] > 16) + if (++this->timer > 16) { - StartSpriteHopToPosAnim(this->nidorinoAnimSprite, 8, 12, 5); + // Nidorino's 1st hop backwards in preparation to attack + Scene3_StartNidorinoHop(this->scene3NidorinoSprite, 8, 12, 5); this->state++; } break; case 7: - if (!FightScene4_NidorinoAnimIsRunning(this)) + if (!Scene3_NidorinoAnimIsRunning(this)) { - StartSpriteHopToPosAnim(this->nidorinoAnimSprite, 8, 12, 5); + // Nidorino's 2nd hop backwards in preparation to attack + Scene3_StartNidorinoHop(this->scene3NidorinoSprite, 8, 12, 5); this->state++; } break; case 8: - if (!FightScene4_NidorinoAnimIsRunning(this)) + if (!Scene3_NidorinoAnimIsRunning(this)) { - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 9: - this->data[5]++; - if (this->data[5] > 20) + if (++this->timer > 20) { - StartNidorinoAnim_LaunchSelfAtGengarAnim(this); - this->data[5] = 0; + Scene3_StartNidorinoAttack(this); + this->timer = 0; this->state++; } break; case 10: - if (!FightScene3_GetForestBgScrollState()) + if (!Scene3_IsGengarMidBounce()) { - FightScene3_PauseForestBgScroll(); - CreateGengarBackSprite(this); + Scene3_PauseGengarBounce(); + Scene3_CreateGengarSprite(this); this->state++; } break; case 11: - HideBg(0); - this->data[5] = 0; + HideBg(BG_SCENE3_GENGAR); + this->timer = 0; this->state++; break; case 12: - this->data[5]++; - if (this->data[5] == 48) - BeginNormalPaletteFade(0x00000006, 2, 0, 16, RGB_WHITE); - if (this->data[5] > 120) + if (++this->timer == 48) + BeginNormalPaletteFade((1 << 1) | (1 << 2), 2, 0, 16, RGB_WHITE); + if (this->timer > 120) { - FightScene4_StartNidorinoAffineAnim(this); - FightScene4_StartGengarAffineAnim(this); + Scene3_NidorinoZoom(this); + Scene3_GengarZoom(this); this->state++; - this->data[5] = 0; + this->timer = 0; } break; case 13: - this->data[5]++; - if (this->data[5] > 8) + if (++this->timer > 8) { CpuFill16(RGB_WHITE, gPlttBufferUnfaded + 16, 64); - BeginNormalPaletteFade(0xFFFFFFFE, -2, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL & ~1, -2, 0, 16, RGB_BLACK); this->state++; } break; case 14: if (!gPaletteFade.active) { - this->data[5] = 0; + this->timer = 0; this->state++; } break; case 15: - this->data[5]++; - if (this->data[5] > 60) - SetIntroCB(this, IntroCB_CleanUp); + if (++this->timer > 60) + SetIntroCB(this, IntroCB_ExitToTitleScreen); break; default: if (JOY_NEW(R_BUTTON)) { - BlendPalettes(0xFFFF0064, 0, RGB_WHITE); - this->nidorinoAnimSprite->x2 = 0; - this->nidorinoAnimSprite->x = 0xB4; + BlendPalettes(PALETTES_OBJECTS | (1 << 2) | (1 << 5) | (1 << 6), 0, RGB_WHITE); + this->scene3NidorinoSprite->x2 = 0; + this->scene3NidorinoSprite->x = 180; this->state = 1; - this->data[5] = 30; + this->timer = 30; } break; } } -static void FightScene_CalcCenterToCornerVec(struct Sprite *sprite) +static void Scene3_CalcCenterToCornerVec(struct Sprite *sprite) { CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); } -static void CreateGengarBackSprite(struct IntroSequenceData * this) +static void Scene3_CreateGengarSprite(struct IntroSequenceData * this) { int i; // Not using a subsprite table for this - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_GENGAR_BACK_SPRITES; i++) { int x = (i & 1) * 48 + 49; int y = (i / 2) * 64 + 72; - u8 spriteId = CreateSprite(&sSpriteTemplate_GengarBack, x, y, 8); + u8 spriteId = CreateSprite(&sSpriteTemplate_Scene3_Gengar, x, y, 8); if (spriteId != MAX_SPRITES) { StartSpriteAnim(&gSprites[spriteId], i); - this->gengarBackSpriteArray[i] = &gSprites[spriteId]; + this->scene3GengarSprites[i] = &gSprites[spriteId]; if (i & 1) - this->gengarBackSpriteArray[i]->oam.shape = ST_OAM_V_RECTANGLE; - FightScene_CalcCenterToCornerVec(this->gengarBackSpriteArray[i]); + this->scene3GengarSprites[i]->oam.shape = ST_OAM_V_RECTANGLE; + Scene3_CalcCenterToCornerVec(this->scene3GengarSprites[i]); } } } -static void FightScene4_StartNidorinoAffineAnim(struct IntroSequenceData * this) +static void Scene3_NidorinoZoom(struct IntroSequenceData * this) { - this->nidorinoAnimSprite->x += this->nidorinoAnimSprite->x2; - this->nidorinoAnimSprite->y += this->nidorinoAnimSprite->y2; - obj_pos2_update_enable(this->nidorinoAnimSprite, 0, 0x2A); - this->nidorinoAnimSprite->callback = SpriteCallbackDummy; - StartSpriteAffineAnim(this->nidorinoAnimSprite, 1); + this->scene3NidorinoSprite->x += this->scene3NidorinoSprite->x2; + this->scene3NidorinoSprite->y += this->scene3NidorinoSprite->y2; + SetSpriteMatrixAnchor(this->scene3NidorinoSprite, 0, 42); + this->scene3NidorinoSprite->callback = SpriteCallbackDummy; + StartSpriteAffineAnim(this->scene3NidorinoSprite, AFFINEANIM_ZOOM); } -static void SpriteCB_DummyButNotDummy(struct Sprite *sprite) +static void SpriteCB_Idle(struct Sprite *sprite) { } -static void FightScene4_StartGengarAffineAnim(struct IntroSequenceData * this) +static void Scene3_GengarZoom(struct IntroSequenceData * this) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_GENGAR_BACK_SPRITES; i++) { - StartSpriteAffineAnim(this->gengarBackSpriteArray[i], 1); - this->gengarBackSpriteArray[i]->callback = SpriteCB_DummyButNotDummy; - obj_pos2_update_enable(this->gengarBackSpriteArray[i], sGengarBackSpritePos2UpdateMods[i][0], sGengarBackSpritePos2UpdateMods[i][1]); + StartSpriteAffineAnim(this->scene3GengarSprites[i], AFFINEANIM_ZOOM); + this->scene3GengarSprites[i]->callback = SpriteCB_Idle; + SetSpriteMatrixAnchor(this->scene3GengarSprites[i], sGengarZoomMatrixAnchors[i][0], sGengarZoomMatrixAnchors[i][1]); } } -static void IntroCB_CleanUp(struct IntroSequenceData * this) +static void IntroCB_ExitToTitleScreen(struct IntroSequenceData * this) { switch (this->state) { @@ -1767,348 +1932,409 @@ static void IntroCB_CleanUp(struct IntroSequenceData * this) } } -static void GameFreakScene_LoadGfxCreateStar(void) +// Sprite data for SpriteCB_Star +#define sStar_BaseX data[0] +#define sStar_BaseY data[1] +#define sStar_SpeedX data[2] +#define sStar_SpeedY data[3] +#define sStar_SinIdx data[4] +#define sStar_SparkleTimer data[5] +#define sStar_SparkleRngSeed data[6] + +static void GFScene_LoadGfxCreateStar(void) { int i; u8 spriteId; - static EWRAM_DATA u32 sTrailingSparklesRngSeed = 0; + static EWRAM_DATA u32 sStarSparklesRngSeed = 0; - for (i = 0; i < NELEMS(sSpriteSheets_GameFreakScene); i++) - { + for (i = 0; i < ARRAY_COUNT(sSpriteSheets_GameFreakScene); i++) LoadCompressedSpriteSheet(&sSpriteSheets_GameFreakScene[i]); - } LoadSpritePalettes(sSpritePalettes_GameFreakScene); - sLargeStarXSpeed = 0x60; - sLargeStarYSpeed = 0x10; - sTrailingSparklesXmodMask = 0x07; - sUnusedVarRelatedToGameFreakStars = 5; - sTrailingSparklesSpawnRate = 8; - sTrailingSparklesFlickerStartTime = 90; - sTrailingSparklesDestroySpriteTime = 120; - sTrailingSparklesXspeed = 1; - sTrailingSparklesYspeed = 1; - sTrailingSparklesXprecision = 5; - sTrailingSparklesYprecision = 5; - if (sTrailingSparklesRngSeed == 0) - sTrailingSparklesRngSeed = 354128453; - spriteId = CreateSprite(&sSpriteTemplate_LargeStar, 0xF8, 0x37, 0); + sStarSpeedX = 96; + sStarSpeedY = 16; + sStarSparklesXmodMask = 0x07; + sStarSparklesUnusedVar = 5; + sStarSparklesSpawnRate = 8; + sStarSparklesFlickerStartTime = 90; + sStarSparklesDestroySpriteTime = 120; + sStarSparklesXspeed = 1; + sStarSparklesYspeed = 1; + sStarSparklesXprecision = 5; + sStarSparklesYprecision = 5; + if (sStarSparklesRngSeed == 0) + sStarSparklesRngSeed = 354128453; + spriteId = CreateSprite(&sSpriteTemplate_Star, 248, 55, 0); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].data[0] = 0xF80; - gSprites[spriteId].data[1] = 0x370; - gSprites[spriteId].data[2] = sLargeStarXSpeed; - gSprites[spriteId].data[3] = sLargeStarYSpeed; - StoreWordInTwoHalfwords((u16 *)&gSprites[spriteId].data[6], sTrailingSparklesRngSeed); + gSprites[spriteId].sStar_BaseX = 248 << 4; + gSprites[spriteId].sStar_BaseY = 55 << 4; + gSprites[spriteId].sStar_SpeedX = sStarSpeedX; + gSprites[spriteId].sStar_SpeedY = sStarSpeedY; + StoreWordInTwoHalfwords((u16 *)&gSprites[spriteId].sStar_SparkleRngSeed, sStarSparklesRngSeed); } } -static void GameFreakScene_TrailingSparklesGen(s16 x, s16 y, u16 a2) +// Sprite data for SpriteCB_SparklesSmall_Star +#define sSmSparkleStar_BaseX data[0] +#define sSmSparkleStar_BaseY data[1] +#define sSmSparkleStar_SpeedX data[2] +#define sSmSparkleStar_SpeedY data[3] +#define sSmSparkleStar_FallSpeed data[4] +#define sSmSparkleStar_FallDist data[5] +#define sSmSparkleStar_Timer data[7] + +static void GFScene_CreateStarSparkle(s16 x, s16 y, u16 random) { static EWRAM_DATA s16 sYmod = 0; u8 spriteId; - s16 xMod = (a2 & sTrailingSparklesXmodMask) + 2; + s16 xMod = (random & sStarSparklesXmodMask) + 2; s16 yMod = sYmod; - sYmod++; - if (sYmod > 3) + if (++sYmod > 3) sYmod = -3; x += xMod; y += yMod; - if (x >= 1 && x <= 0xEF) + if (x > 0 && x < DISPLAY_WIDTH) { - spriteId = CreateSprite(&sSpriteTemplate_TrailingSparkles, x, y, 1); + spriteId = CreateSprite(&sSpriteTemplate_SparklesSmall, x, y, 1); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].data[0] = x << sTrailingSparklesXprecision; - gSprites[spriteId].data[1] = y << sTrailingSparklesYprecision; - gSprites[spriteId].data[2] = sTrailingSparklesXspeed * xMod; - gSprites[spriteId].data[3] = sTrailingSparklesYspeed * yMod; + gSprites[spriteId].sSmSparkleStar_BaseX = x << sStarSparklesXprecision; + gSprites[spriteId].sSmSparkleStar_BaseY = y << sStarSparklesYprecision; + gSprites[spriteId].sSmSparkleStar_SpeedX = sStarSparklesXspeed * xMod; + gSprites[spriteId].sSmSparkleStar_SpeedY = sStarSparklesYspeed * yMod; } } } -static void GameFreakScene_StartTrailingSparkleSpawner(void) +#define tSparkleIdx data[0] +#define tNumLoops data[1] +#define tTimer data[2] + +static void GFScene_StartNameSparklesSmall(void) { - CreateTask(Task_GameFreakScene_TrailingSparkleSpawner, 1); + CreateTask(GFScene_Task_NameSparklesSmall, 1); } -static void Task_GameFreakScene_TrailingSparkleSpawner(u8 taskId) +// Sprite data for SpriteCB_SparklesSmall_Name +#define sSmSparkleName_State data[0] +#define sSmSparkleName_BaseY data[1] +#define sSmSparkleName_AnimTimer data[2] +#define sSmSparkleName_NumLoops data[3] +#define sSmSparkleName_DestroyTimer data[4] + +static void GFScene_Task_NameSparklesSmall(u8 taskId) { s16 * data = gTasks[taskId].data; - u8 r6; + u8 i; u8 spriteId; - data[2]++, data[3]++; - if (data[2] > 6) + tTimer++; + data[3]++; // Unused + if (tTimer > 6) { - data[2] = 0; - r6 = data[0]; - spriteId = CreateSprite(&sSpriteTemplate_TrailingSparkles, sTrailingSparkleCoords[r6].x, sTrailingSparkleCoords[r6].y, 2); - StartSpriteAnim(&gSprites[spriteId], 1); - gSprites[spriteId].callback = SpriteCB_TrailingSparkles2; - gSprites[spriteId].data[1] = sTrailingSparkleCoords[r6].y << 4; - gSprites[spriteId].data[2] = 120; - gSprites[spriteId].data[3] = data[1]; - if (gSprites[spriteId].data[3] < 0) - gSprites[spriteId].data[3] = 1; - data[0]++; - if (data[0] >= NELEMS(sTrailingSparkleCoords)) + tTimer = 0; + i = tSparkleIdx; + spriteId = CreateSprite(&sSpriteTemplate_SparklesSmall, sTextSparkleCoords[i].x, sTextSparkleCoords[i].y, 2); + StartSpriteAnim(&gSprites[spriteId], ANIM_SPARKLE_ONCE); + gSprites[spriteId].callback = SpriteCB_SparklesSmall_Name; + gSprites[spriteId].sSmSparkleName_BaseY = sTextSparkleCoords[i].y << 4; + gSprites[spriteId].sSmSparkleName_AnimTimer = 120; + gSprites[spriteId].sSmSparkleName_NumLoops = tNumLoops; + if (gSprites[spriteId].sSmSparkleName_NumLoops < 0) + gSprites[spriteId].sSmSparkleName_NumLoops = 1; + if (++tSparkleIdx >= ARRAY_COUNT(sTextSparkleCoords)) { - data[1]++; - if (data[1] > 1) + if (++tNumLoops > 1) DestroyTask(taskId); else - data[0] = 0; + tSparkleIdx = 0; } } } -static void GameFreakScene_StartRevealGameFreakTextSparklesSpawner(void) +#undef tSparkleIdx +#undef tNumLoops +#undef tTimer + +#define tTimer data[0] +#define tSparkleIdx data[1] +#define tNumSparkles data[2] + +static void GFScene_StartNameSparklesBig(void) { - CreateTask(Task_RevealGameFreakTextSparklesSpawner, 2); + CreateTask(GFScene_Task_NameSparklesBig, 2); } -static void Task_RevealGameFreakTextSparklesSpawner(u8 taskId) +static void GFScene_Task_NameSparklesBig(u8 taskId) { s16 * data = gTasks[taskId].data; - u8 r2; + u8 i; - if (data[0] == 0) + if (tTimer == 0) { - r2 = data[1]; - data[1] += 4; - if (data[1] >= NELEMS(sTrailingSparkleCoords)) - data[1] -= NELEMS(sTrailingSparkleCoords); - CreateSprite(&sSpriteTemplate_RevealGameFreakTextSparkles, sTrailingSparkleCoords[r2].x, sTrailingSparkleCoords[r2].y, 3); - data[2]++; - if (data[2] > 8) + i = tSparkleIdx; + tSparkleIdx += 4; + if (tSparkleIdx >= ARRAY_COUNT(sTextSparkleCoords)) + tSparkleIdx -= ARRAY_COUNT(sTextSparkleCoords); + CreateSprite(&sSpriteTemplate_SparklesBig, sTextSparkleCoords[i].x, sTextSparkleCoords[i].y, 3); + if (++tNumSparkles >= (int)ARRAY_COUNT(sTextSparkleCoords)) DestroyTask(taskId); } - data[0]++; - if (data[0] > 9) - data[0] = 0; + if (++tTimer > 9) + tTimer = 0; } -static struct Sprite *CreateGameFreakLogoArtSprite(void) +#undef tTimer +#undef tSparkleIdx +#undef tNumSparkles + +static struct Sprite *GFScene_CreateLogoSprite(void) { u8 spriteId = CreateSprite(&sSpriteTemplate_GameFreakLogoArt, 120, 70, 4); return &gSprites[spriteId]; } #if REVISION >= 1 -static void Rev1_GameFreakScene_CreatePresentsText(void) +static void GFScene_CreatePresentsSprite(void) { int i; for (i = 0; i < 2; i++) - { - gSprites[CreateSprite(&sSpriteTemplate_PresentsText, 0x68 + 32 * i, 0x6c, 5)].oam.tileNum += i * 4; - } + gSprites[CreateSprite(&sSpriteTemplate_Presents, 104 + 32 * i, 108, 5)].oam.tileNum += i * 4; } #endif -static void FightScene4_StartGengarAttack(struct IntroSequenceData * this) +#define tState data[0] +#define tTimer data[1] +#define tSinIdx data[3] +#define tBaseX data[4] +#define IDX_INTRO_DATA 5 // A pointer to the IntroSequenceData will be stored at data[5] and data[6] +#define tFrame data[7] +#define tMultY data[8] +#define tMultX data[9] + +static void Scene3_StartGengarAttack(struct IntroSequenceData * this) { u8 taskId; this->gengarAttackLanded = FALSE; - taskId = CreateTask(Task_FightScene4_GengarAttack, 4); - SetWordTaskArg(taskId, 5, (uintptr_t)this); - gTasks[taskId].data[3] = 64; - gTasks[taskId].data[4] = GetBgX(0); + taskId = CreateTask(Scene3_Task_GengarAttack, 4); + SetWordTaskArg(taskId, IDX_INTRO_DATA, (uintptr_t)this); + gTasks[taskId].tSinIdx = 64; + gTasks[taskId].tBaseX = GetBgX(BG_SCENE3_GENGAR); } -static void FightScene4_ApplyGengarAnim(int a, int b, int c, int d) +static void Scene3_ApplyGengarAnim(int frame, int xSub, int ySub, int xBase) { - ChangeBgY(0, (a << 15) + 0x1F000, 0); - ChangeBgX(0, d, 0); - ChangeBgX(0, b << 8, 2); - ChangeBgY(0, c << 8, 2); + ChangeBgY(BG_SCENE3_GENGAR, (frame << 15) + 0x1F000, BG_COORD_SET); + ChangeBgX(BG_SCENE3_GENGAR, xBase, BG_COORD_SET); + ChangeBgX(BG_SCENE3_GENGAR, xSub << 8, BG_COORD_SUB); + ChangeBgY(BG_SCENE3_GENGAR, ySub << 8, BG_COORD_SUB); } -static void Task_FightScene4_GengarAttack(u8 taskId) +static void Scene3_Task_GengarAttack(u8 taskId) { s16 * data = gTasks[taskId].data; - int b, c; - int angle; - switch (data[0]) + s32 xSub, ySub; + s32 sinIdx; + switch (tState) { case 0: - data[7] = 2; - data[1] = 0; - data[8] = 6; - data[9] = 32; - data[0]++; + tFrame = 2; // Gengar raises arm up + tTimer = 0; + tMultY = 6; + tMultX = 32; + tState++; break; case 1: - data[3] -= 2; - data[1]++; - if (data[1] > 15) + // Gengar moves in a backward arc + tSinIdx -= 2; + if (++tTimer > 15) { - data[1] = 0; - data[0]++; + tTimer = 0; + tState++; } break; case 2: - data[1]++; - if (data[1] == 14) - ((struct IntroSequenceData *)GetWordTaskArg(taskId, 5))->gengarAttackLanded = TRUE; - if (data[1] > 15) + // Gengar pauses at end of backward arc + if (++tTimer == 14) + ((struct IntroSequenceData *)GetWordTaskArg(taskId, IDX_INTRO_DATA))->gengarAttackLanded = TRUE; + if (tTimer > 15) { - data[1] = 0; - data[0]++; + tTimer = 0; + tState++; } break; case 3: - data[3] += 8; - data[1]++; - if (data[1] == 4) + // Gengar moves in a forward arc + tSinIdx += 8; + if (++tTimer == 4) { - FightScene4_CreateGengarSwipeSprites(); - data[8] = 32; - data[9] = 48; - data[7] = 3; + Scene3_CreateGengarSwipeSprites(); + tMultY = 32; + tMultX = 48; + tFrame = 3; // Gengar swipes arm down } - if (data[1] > 7) + if (tTimer > 7) { - data[1] = 0; - data[0]++; + tTimer = 0; + tState++; } break; case 4: - data[3] -= 8; - data[1]++; - if (data[1] > 3) + // Gengar moves in a backward arc to its original position + tSinIdx -= 8; + if (++tTimer > 3) { - data[7] = 0; - data[3] = 64; - data[1] = 0; - data[0]++; + tFrame = 0; // Gengar returns to normal posture + tSinIdx = 64; + tTimer = 0; + tState++; } break; case 5: DestroyTask(taskId); return; } - angle = data[3]; - b = -((gSineTable[angle + 0x40] * data[9]) >> 8); - c = data[8] - ((gSineTable[angle] * data[8]) >> 8); - FightScene4_ApplyGengarAnim(data[7], b, c, data[4]); + + // Animate current movement arc / frame change + sinIdx = tSinIdx; + xSub = -((gSineTable[sinIdx + 64] * tMultX) >> 8); + ySub = tMultY - ((gSineTable[sinIdx] * tMultY) >> 8); + Scene3_ApplyGengarAnim(tFrame, xSub, ySub, tBaseX); } -static void FightScene4_CreateGengarSwipeSprites(void) +#undef tState +#undef tTimer +#undef tSinIdx +#undef tBaseX +#undef IDX_INTRO_DATA +#undef tFrame +#undef tMultY +#undef tMultX + +static void Scene3_CreateGengarSwipeSprites(void) { - u8 spriteId; - - spriteId = CreateSprite(&sSpriteTemplate_GengarSwipe, 132, 78, 6); + u8 spriteId = CreateSprite(&sSpriteTemplate_GengarSwipe, 132, 78, 6); // Implicitly ANIM_SWIPE_TOP spriteId = CreateSprite(&sSpriteTemplate_GengarSwipe, 132, 118, 6); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].oam.shape = ST_OAM_H_RECTANGLE; - gSprites[spriteId].oam.size = ST_OAM_SIZE_2; - FightScene_CalcCenterToCornerVec(&gSprites[spriteId]); - StartSpriteAnim(&gSprites[spriteId], 1); + gSprites[spriteId].oam.shape = SPRITE_SHAPE(32x16); + gSprites[spriteId].oam.size = SPRITE_SIZE(32x16); + Scene3_CalcCenterToCornerVec(&gSprites[spriteId]); + StartSpriteAnim(&gSprites[spriteId], ANIM_SWIPE_BOTTOM); } } static void SpriteCB_GengarSwipe(struct Sprite *sprite) { - sprite->invisible ^= TRUE; + sprite->invisible ^= 1; if (sprite->animEnded) DestroySprite(sprite); } -static void Task_FightScene3_Bg0Scroll(u8 taskId) +#define tState data[0] +#define tSpeed data[1] +#define tMoves data[2] + +// Scroll Gengar into position for the fight +static void Scene3_Task_GengarEnter(u8 taskId) { s16 * data = gTasks[taskId].data; - static EWRAM_DATA u32 gUnknown_203AB30 = 0; + static EWRAM_DATA u32 sGengarScroll = 0; - switch (data[0]) + switch (tState) { case 0: - data[1] = 0x400; - data[0]++; + tSpeed = 0x400; + tState++; // fallthrough case 1: - data[2]++; - if (data[2] > 39 && data[1] > 16) - data[1] -= 16; - gUnknown_203AB30 = ChangeBgX(0, data[1], 1); - if (gUnknown_203AB30 >= 0x8000) + // Don't decelerate for the first 40 movements + if (++tMoves >= 40 && tSpeed > 16) + tSpeed -= 16; + sGengarScroll = ChangeBgX(BG_SCENE3_GENGAR, tSpeed, BG_COORD_ADD); + + if (sGengarScroll >= 0x8000) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - if (gUnknown_203AB30 >= 0xEF00) + + if (sGengarScroll >= 0xEF00) { - ChangeBgX(0, 0xEF00, 0); + ChangeBgX(BG_SCENE3_GENGAR, 0xEF00, BG_COORD_SET); DestroyTask(taskId); } break; } } -static void SpriteCB_LargeStar(struct Sprite *sprite) +#undef tState +#undef tSpeed +#undef tMoves + +static void SpriteCB_Star(struct Sprite *sprite) { - unsigned v; - sprite->data[0] -= sprite->data[2]; - sprite->data[1] += sprite->data[3]; - sprite->data[4] += 48; - sprite->x = sprite->data[0] >> 4; - sprite->y = sprite->data[1] >> 4; - sprite->y2 = gSineTable[(sprite->data[4] >> 4) + 0x40] >> 5; - sprite->data[5]++; - if (sprite->data[5] % sTrailingSparklesSpawnRate) + u32 random; + sprite->sStar_BaseX -= sprite->sStar_SpeedX; + sprite->sStar_BaseY += sprite->sStar_SpeedY; + sprite->sStar_SinIdx += 48; + sprite->x = sprite->sStar_BaseX >> 4; + sprite->y = sprite->sStar_BaseY >> 4; + sprite->y2 = gSineTable[(sprite->sStar_SinIdx >> 4) + 64] >> 5; + sprite->sStar_SparkleTimer++; + if (sprite->sStar_SparkleTimer % sStarSparklesSpawnRate) { - LoadWordFromTwoHalfwords(&sprite->data[6], &v); - v = v * 1103515245 + 24691; - StoreWordInTwoHalfwords(&sprite->data[6], v); - v >>= 16; - GameFreakScene_TrailingSparklesGen(sprite->x, sprite->y + sprite->y2, v); + LoadWordFromTwoHalfwords(&sprite->sStar_SparkleRngSeed, &random); + random = ISO_RANDOMIZE1(random); + StoreWordInTwoHalfwords(&sprite->sStar_SparkleRngSeed, random); + random >>= 16; + GFScene_CreateStarSparkle(sprite->x, sprite->y + sprite->y2, random); } if (sprite->x < -8) DestroySprite(sprite); } -static void SpriteCB_TrailingSparkles(struct Sprite *sprite) +// Callback for the sparkles that trail behind the star +static void SpriteCB_SparklesSmall_Star(struct Sprite *sprite) { - u32 v; - - sprite->data[0] += sprite->data[2]; - sprite->data[1] += sprite->data[3]; - sprite->data[4]++; - sprite->data[5] += sprite->data[4]; - sprite->data[7]++; - sprite->x = (u16)sprite->data[0] >> sTrailingSparklesXprecision; - sprite->y = sprite->data[1] >> sTrailingSparklesYprecision; - if (sTrailingSparklesGravityShift && sprite->data[3] < 0) - sprite->y2 = sprite->data[5] >> sTrailingSparklesGravityShift; - if (sprite->data[7] > sTrailingSparklesFlickerStartTime) + sprite->sSmSparkleStar_BaseX += sprite->sSmSparkleStar_SpeedX; + sprite->sSmSparkleStar_BaseY += sprite->sSmSparkleStar_SpeedY; + sprite->sSmSparkleStar_FallDist += ++sprite->sSmSparkleStar_FallSpeed; + sprite->sSmSparkleStar_Timer++; + sprite->x = (u16)sprite->sSmSparkleStar_BaseX >> sStarSparklesXprecision; + sprite->y = sprite->sSmSparkleStar_BaseY >> sStarSparklesYprecision; + if (sStarSparklesGravityShift && sprite->sSmSparkleStar_SpeedY < 0) + sprite->y2 = sprite->sSmSparkleStar_FallDist >> sStarSparklesGravityShift; + if (sprite->sSmSparkleStar_Timer > sStarSparklesFlickerStartTime) { sprite->invisible = !sprite->invisible; - if (sprite->data[7] > sTrailingSparklesDestroySpriteTime) + if (sprite->sSmSparkleStar_Timer > sStarSparklesDestroySpriteTime) DestroySprite(sprite); } - if (sprite->y + sprite->y2 < 0 || sprite->y + sprite->y2 > 160) + if (sprite->y + sprite->y2 < 0 || sprite->y + sprite->y2 > DISPLAY_HEIGHT) DestroySprite(sprite); } -static void SpriteCB_TrailingSparkles2(struct Sprite *sprite) +// Callback for the small sparkles during the "Game Freak" text reveal +static void SpriteCB_SparklesSmall_Name(struct Sprite *sprite) { - if (sprite->data[2]) + if (sprite->sSmSparkleName_AnimTimer) { - sprite->data[2]--; - sprite->data[1]++; - sprite->y = sprite->data[1] >> 4; - if (sprite->y > 0x56) + sprite->sSmSparkleName_AnimTimer--; + sprite->sSmSparkleName_BaseY++; + sprite->y = sprite->sSmSparkleName_BaseY >> 4; + if (sprite->y > 86) { - sprite->y = 0x4A; - sprite->data[1] = 0x4A0; + sprite->y = 74; + sprite->sSmSparkleName_BaseY = 74 << 4; } if (sprite->animEnded) { - if (sprite->data[0] == 0) + if (sprite->sSmSparkleName_State == 0) { sprite->x += 26; if (sprite->x > 188) { - sprite->x = 376 - sprite->x; - sprite->data[0] = 1; + sprite->x = (188 * 2) - sprite->x; + sprite->sSmSparkleName_State = 1; } } else @@ -2116,111 +2342,126 @@ static void SpriteCB_TrailingSparkles2(struct Sprite *sprite) sprite->x -= 26; if (sprite->x < 52) { - sprite->x = 104 - sprite->x; - sprite->data[0] = 0; + sprite->x = (52 * 2) - sprite->x; + sprite->sSmSparkleName_State = 0; } } - StartSpriteAnim(sprite, 1); + StartSpriteAnim(sprite, ANIM_SPARKLE_ONCE); } } else { - if (sprite->data[3]) + if (sprite->sSmSparkleName_NumLoops) DestroySprite(sprite); if (sprite->animEnded) - StartSpriteAnim(sprite, 0); - sprite->data[1] += 4; - sprite->y = sprite->data[1] >> 4; - sprite->data[4]++; - if (sprite->data[4] > 50) + StartSpriteAnim(sprite, ANIM_SPARKLE_LOOP); + sprite->sSmSparkleName_BaseY += 4; + sprite->y = sprite->sSmSparkleName_BaseY >> 4; + if (++sprite->sSmSparkleName_DestroyTimer > 50) DestroySprite(sprite); } } -static void SpriteCB_RevealGameFreakTextSparkles(struct Sprite *sprite) +// Callback for the big sparkles during the "Game Freak" text reveal +static void SpriteCB_SparklesBig(struct Sprite *sprite) { if (sprite->animEnded) DestroySprite(sprite); } -static void CreateNidorinoAnimSprite(struct IntroSequenceData * this) +static void Scene3_CreateNidorinoSprite(struct IntroSequenceData * this) { - u8 spriteId = CreateSprite(&sSpriteTemplate_NidorinoAnim, 0, 0, 9); - this->nidorinoAnimSprite = &gSprites[spriteId]; + u8 spriteId = CreateSprite(&sSpriteTemplate_Scene3_Nidorino, 0, 0, 9); + this->scene3NidorinoSprite = &gSprites[spriteId]; } -static void StartNidorinoAnimSpriteSlideIn(struct Sprite *sprite, s16 x0, s16 x1, u16 speed) +#define sX data[0] +#define sSpeed data[1] +#define sTime data[2] // Not read +#define sTargetX data[3] +#define sTimer data[4] + +static void Scene3_StartNidorinoEntrance(struct Sprite *sprite, s16 xStart, s16 x1, u16 time) { - sprite->data[0] = x0 << 4; - sprite->data[1] = ((x1 - x0) << 4) / speed; - sprite->data[2] = speed; - sprite->data[3] = x1; - sprite->data[4] = 0; - sprite->x = x0; + sprite->sX = xStart << 4; + sprite->sSpeed = ((x1 - xStart) << 4) / time; + sprite->sTime = time; + sprite->sTargetX = x1; + sprite->sTimer = 0; + sprite->x = xStart; sprite->y = 100; - sprite->callback = SpriteCB_NidorinoAnimSpriteSlideIn; + sprite->callback = Scene3_SpriteCB_NidorinoEnter; } -static void SpriteCB_NidorinoAnimSpriteSlideIn(struct Sprite *sprite) +static void Scene3_SpriteCB_NidorinoEnter(struct Sprite *sprite) { - sprite->data[4]++; - if (sprite->data[4] >= 40) + if (++sprite->sTimer >= 40) { - if (sprite->data[1] > 1) - sprite->data[1]--; + // Start decelerating after 40 frames + if (sprite->sSpeed > 1) + sprite->sSpeed--; } - sprite->data[0] += sprite->data[1]; - sprite->x = sprite->data[0] >> 4; - if (sprite->x >= sprite->data[3]) + sprite->sX += sprite->sSpeed; + sprite->x = sprite->sX >> 4; + if (sprite->x >= sprite->sTargetX) { - sprite->x = sprite->data[3]; + // Reached final position + sprite->x = sprite->sTargetX; sprite->callback = SpriteCallbackDummy; } } -static bool32 IsNidorinoAnimSpriteSlideInRunning(struct IntroSequenceData * ptr) +static bool32 Scene3_IsNidorinoEntering(struct IntroSequenceData * ptr) { - return ptr->nidorinoAnimSprite->callback == SpriteCB_NidorinoAnimSpriteSlideIn ? TRUE : FALSE; + return ptr->scene3NidorinoSprite->callback == Scene3_SpriteCB_NidorinoEnter ? TRUE : FALSE; } -static void FightScene4_NidorinoRearsUp(struct IntroSequenceData * ptr) +#undef sX +#undef sSpeed +#undef sTime +#undef sTargetX +#undef sTimer + +#define sState data[0] +#define sStateTimer data[1] +#define sBounceTimer data[2] + +static void Scene3_StartNidorinoCry(struct IntroSequenceData * ptr) { - StartSpriteAnim(ptr->nidorinoAnimSprite, 2); - ptr->nidorinoAnimSprite->data[0] = 0; - ptr->nidorinoAnimSprite->data[1] = 0; - ptr->nidorinoAnimSprite->y2 = 3; - ptr->nidorinoAnimSprite->callback = SpriteCB_NidorinoRearsUp; + StartSpriteAnim(ptr->scene3NidorinoSprite, ANIM_NIDORINO_CROUCH); + ptr->scene3NidorinoSprite->sState = 0; + ptr->scene3NidorinoSprite->sStateTimer = 0; + ptr->scene3NidorinoSprite->y2 = 3; + ptr->scene3NidorinoSprite->callback = SpriteCB_NidorinoCry; } -static void SpriteCB_NidorinoRearsUp(struct Sprite *sprite) +static void SpriteCB_NidorinoCry(struct Sprite *sprite) { - switch (sprite->data[0]) + switch (sprite->sState) { case 0: - sprite->data[1]++; - if (sprite->data[1] > 8) + if (++sprite->sStateTimer > 8) { - StartSpriteAnim(sprite, 1); + StartSpriteAnim(sprite, ANIM_NIDORINO_CRY); sprite->y2 = 0; - sprite->data[0]++; + sprite->sState++; } break; case 1: PlayCry_ByMode(SPECIES_NIDORINO, 0x3F, CRY_MODE_DOUBLES); - sprite->data[1] = 0; - sprite->data[0]++; + sprite->sStateTimer = 0; + sprite->sState++; break; case 2: - sprite->data[2]++; - if (sprite->data[2] > 1) + if (++sprite->sBounceTimer > 1) { - sprite->data[2] = 0; + // Nidorino bounces slightly while crying + sprite->sBounceTimer = 0; sprite->y2 = sprite->y2 == 0 ? 1 : 0; } - sprite->data[1]++; - if (sprite->data[1] > 48) + if (++sprite->sStateTimer > 48) { - StartSpriteAnim(sprite, 0); + StartSpriteAnim(sprite, ANIM_NIDORINO_NORMAL); sprite->y2 = 0; sprite->callback = SpriteCallbackDummy; } @@ -2228,263 +2469,328 @@ static void SpriteCB_NidorinoRearsUp(struct Sprite *sprite) } } -static void FightScene4_StartNidorinoRecoilAnim(struct IntroSequenceData * ptr) +#undef sState +#undef sStateTimer +#undef sBounceTimer + +#define sState data[0] +#define sStateTimer data[1] +#define sOffsetX data[2] +#define sSinIdx data[3] +#define sLandTimer data[4] +#define sSlowdownTimer data[5] +#define sRandSeed data[6] +#define sSpeedX data[7] + +static void Scene3_StartNidorinoRecoil(struct IntroSequenceData * ptr) { - gUnknown_203AB0A = 16; - gUnknown_203AB04 = 3; - gUnknown_203AB08 = 5; - gUnknown_203AB06 = 0; - StartSpriteAnim(ptr->nidorinoAnimSprite, 2); - ptr->nidorinoAnimSprite->data[0] = 0; - ptr->nidorinoAnimSprite->data[1] = 0; - ptr->nidorinoAnimSprite->data[2] = 0; - ptr->nidorinoAnimSprite->data[3] = 0; - ptr->nidorinoAnimSprite->data[4] = 0; - ptr->nidorinoAnimSprite->data[7] = 40; - ptr->nidorinoAnimSprite->callback = SpriteCB_NidorinoRecoil; + sNidorinoRecoilReturnTime = 16; + sNidorinoJumpMult = 3; + sNidorinoJumpDiv = 5; + sNidorinoAnimDelayTime = 0; + StartSpriteAnim(ptr->scene3NidorinoSprite, ANIM_NIDORINO_CROUCH); + ptr->scene3NidorinoSprite->sState = 0; + ptr->scene3NidorinoSprite->sStateTimer = 0; + ptr->scene3NidorinoSprite->sOffsetX = 0; + ptr->scene3NidorinoSprite->sSinIdx = 0; + ptr->scene3NidorinoSprite->sLandTimer = 0; + ptr->scene3NidorinoSprite->sSpeedX = 40; + ptr->scene3NidorinoSprite->callback = SpriteCB_NidorinoRecoil; } static void SpriteCB_NidorinoRecoil(struct Sprite *sprite) { - switch (sprite->data[0]) + switch (sprite->sState) { case 0: - sprite->data[1]++; - if (sprite->data[1] > 4) + if (++sprite->sStateTimer > 4) { - StartSpriteAnim(sprite, 3); - sprite->data[0]++; + StartSpriteAnim(sprite, ANIM_NIDORINO_HOP); + sprite->sState++; } break; case 1: - sprite->data[2] += sprite->data[7]; - sprite->data[3] += 8; - sprite->x2 = sprite->data[2] >> 4; - sprite->y2 = -((gSineTable[sprite->data[3]] * gUnknown_203AB04) >> gUnknown_203AB08); - sprite->data[5]++; - if (sprite->data[5] > gUnknown_203AB06) + // Nidorino jumping backwards in the air + sprite->sOffsetX += sprite->sSpeedX; + sprite->sSinIdx += 8; + sprite->x2 = sprite->sOffsetX >> 4; + sprite->y2 = -((gSineTable[sprite->sSinIdx] * sNidorinoJumpMult) >> sNidorinoJumpDiv); + sprite->sSlowdownTimer++; + if (sprite->sSlowdownTimer > sNidorinoAnimDelayTime) { - sprite->data[5] = 0; - sprite->data[7]--; + sprite->sSlowdownTimer = 0; + sprite->sSpeedX--; } - sprite->data[4]++; - if (sprite->data[4] > 15) + if (++sprite->sLandTimer > 15) { - StartSpriteAnim(sprite, 2); - sprite->data[1] = 0; - sprite->data[6] = 0x4757; - sprite->data[7] = 28; - sprite->data[0]++; + // Nidorino hits the ground + StartSpriteAnim(sprite, ANIM_NIDORINO_CROUCH); + sprite->sStateTimer = 0; + sprite->sRandSeed = 0x4757; + sprite->sSpeedX = 28; + sprite->sState++; } break; case 2: - sprite->data[2] += sprite->data[7]; - sprite->x2 = sprite->data[2] >> 4; - sprite->data[1]++; - if (sprite->data[1] > 6) + // Nidorino sliding on the ground + sprite->sOffsetX += sprite->sSpeedX; + sprite->x2 = sprite->sOffsetX >> 4; + if (++sprite->sStateTimer > 6) { - CreateNidorinoRecoilDustSprites(sprite->x + sprite->x2, sprite->y + sprite->y2, sprite->data[6]); - sprite->data[6] *= 1103515245; + // The position of each subsequent dust sprite is "random", but with a fixed + // initial seed so that they'll be in the same positions between intro runs + CreateNidorinoRecoilDustSprites(sprite->x + sprite->x2, sprite->y + sprite->y2, sprite->sRandSeed); + sprite->sRandSeed *= RAND_MULT; } - if (sprite->data[1] > 12) + if (sprite->sStateTimer > 12) { - StartSpriteAnim(sprite, 0); - sprite->data[1] = 0; - sprite->data[0]++; + StartSpriteAnim(sprite, ANIM_NIDORINO_NORMAL); + sprite->sStateTimer = 0; + sprite->sState++; } break; case 3: - sprite->data[1]++; - if (sprite->data[1] > 16) - { - StartSpriteHopToPosAnim(sprite, gUnknown_203AB0A, -sprite->x2, 4); - } + // Nidorino hops back to its original position + if (++sprite->sStateTimer > 16) + Scene3_StartNidorinoHop(sprite, sNidorinoRecoilReturnTime, -sprite->x2, 4); break; } } -static bool8 FightScene4_NidorinoAnimIsRunning(struct IntroSequenceData * ptr) +#undef sState +#undef sStateTimer +#undef sOffsetX +#undef sSinIdx +#undef sLandTimer +#undef sSlowdownTimer +#undef sRandSeed +#undef sSpeedX + +static bool8 Scene3_NidorinoAnimIsRunning(struct IntroSequenceData * ptr) { - return ptr->nidorinoAnimSprite->callback == SpriteCallbackDummy ? FALSE : TRUE; + return ptr->scene3NidorinoSprite->callback == SpriteCallbackDummy ? FALSE : TRUE; } +#define sState data[0] +#define sX data[1] +#define sY data[2] +#define sSpeedX data[3] +#define sSpeedY data[4] +#define sInvisibleTimer data[7] + static void CreateNidorinoRecoilDustSprites(s16 x, s16 y, s16 seed) { int i; u8 spriteId; + // Recoil dust sprites are created in pairs at the same initial position but with different speeds. + // Only one of each pair will be visible at a time. for (i = 0; i < 2; i++) { spriteId = CreateSprite(&sSpriteTemplate_NidorinoRecoilDust, x - 22, y + 24, 10); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].data[3] = (seed % 13) + 8; - gSprites[spriteId].data[4] = seed % 3; - gSprites[spriteId].data[7] = i; - seed *= 1103515245; + gSprites[spriteId].sSpeedX = (seed % 13) + 8; + gSprites[spriteId].sSpeedY = seed % 3; + gSprites[spriteId].sInvisibleTimer = i; + seed *= RAND_MULT; } } } -static void SpriteCB_NidorinoRecoilDust(struct Sprite *sprite) +static void SpriteCB_RecoilDust(struct Sprite *sprite) { s16 * data = sprite->data; - switch (sprite->data[0]) + switch (sprite->sState) { case 0: - data[1] = sprite->x << 4; - data[2] = sprite->y << 4; - sprite->data[0]++; + sX = sprite->x << 4; + sY = sprite->y << 4; + sprite->sState++; // fallthrough case 1: - data[1] -= data[3]; - data[2] += data[4]; - sprite->x = data[1] >> 4; - sprite->y = data[2] >> 4; + sX -= sSpeedX; + sY += sSpeedY; + sprite->x = sX >> 4; + sprite->y = sY >> 4; if (sprite->animEnded) DestroySprite(sprite); break; } - data[7]++; - if (data[7] > 1) + + // Recoil dust flashes in and out + if (++sInvisibleTimer > 1) { - data[7] = 0; - sprite->invisible ^= TRUE; + sInvisibleTimer = 0; + sprite->invisible ^= 1; } } -static void StartSpriteHopToPosAnim(struct Sprite *sprite, u16 a1, s16 a2, u8 a3) +#undef sState +#undef sX +#undef sY +#undef sSpeedX +#undef sSpeedY +#undef sInvisibleTimer + +#define sState data[0] +#define sAirTime data[1] +#define sOffsetX data[2] +#define sSpeedX data[3] +#define sSinIdx data[4] +#define sSpeedY data[5] +#define sTimer data[6] +#define sHeightShift data[7] + +static void Scene3_StartNidorinoHop(struct Sprite *sprite, u16 time, s16 targetX, u8 heightShift) { - sprite->data[0] = 0; - sprite->data[1] = a1; - sprite->data[2] = sprite->x2 << 4; - sprite->data[3] = (a2 << 4) / a1; - sprite->data[4] = 0; - sprite->data[5] = 0x800 / a1; - sprite->data[6] = 0; - sprite->data[7] = a3; - StartSpriteAnim(sprite, 2); - sprite->callback = SpriteCB_HopToPos; + sprite->sState = 0; + sprite->sAirTime = time; + sprite->sOffsetX = sprite->x2 << 4; + sprite->sSpeedX = (targetX << 4) / time; + sprite->sSinIdx = 0; + sprite->sSpeedY = 0x800 / time; + sprite->sTimer = 0; + sprite->sHeightShift = heightShift; + StartSpriteAnim(sprite, ANIM_NIDORINO_CROUCH); + sprite->callback = SpriteCB_NidorinoHop; } -static void SpriteCB_HopToPos(struct Sprite *sprite) +static void SpriteCB_NidorinoHop(struct Sprite *sprite) { - switch (sprite->data[0]) + switch (sprite->sState) { case 0: - sprite->data[6]++; - if (sprite->data[6] > 4) + if (++sprite->sTimer > 4) { - StartSpriteAnim(sprite, 3); - sprite->data[6] = 0; - sprite->data[0]++; + StartSpriteAnim(sprite, ANIM_NIDORINO_HOP); + sprite->sTimer = 0; + sprite->sState++; } break; case 1: - sprite->data[1]--; - if (sprite->data[1]) + if (--sprite->sAirTime) { - sprite->data[2] += sprite->data[3]; - sprite->data[4] += sprite->data[5]; - sprite->x2 = sprite->data[2] >> 4; - sprite->y2 = -(gSineTable[sprite->data[4] >> 4] >> sprite->data[7]); + // Nidorino moving through the air + sprite->sOffsetX += sprite->sSpeedX; + sprite->sSinIdx += sprite->sSpeedY; + sprite->x2 = sprite->sOffsetX >> 4; + sprite->y2 = -(gSineTable[sprite->sSinIdx >> 4] >> sprite->sHeightShift); } else { - sprite->x2 = (u16)sprite->data[2] >> 4; + // Nidorino lands + sprite->x2 = (u16)sprite->sOffsetX >> 4; sprite->y2 = 0; - StartSpriteAnim(sprite, 2); - if (sprite->data[7] == 5) + StartSpriteAnim(sprite, ANIM_NIDORINO_CROUCH); + if (sprite->sHeightShift == 5) + { + // This is used by the short hops before Nidorino's attack. + // The last state is skipped so that Nidorino will stay in the crouched animation. sprite->callback = SpriteCallbackDummy; + } else { - sprite->data[6] = 0; - sprite->data[0]++; + sprite->sTimer = 0; + sprite->sState++; } } break; case 2: - sprite->data[6]++; - if (sprite->data[6] > 4) + if (++sprite->sTimer > 4) { - StartSpriteAnim(sprite, 0); + StartSpriteAnim(sprite, ANIM_NIDORINO_NORMAL); sprite->callback = SpriteCallbackDummy; } break; } } -static void StartNidorinoAnim_LaunchSelfAtGengarAnim(struct IntroSequenceData * ptr) +#undef sState +#undef sAirTime +#undef sOffsetX +#undef sSpeedX +#undef sSinIdx +#undef sSpeedY +#undef sTimer +#undef sHeightShift + +#define sState data[0] +#define sTimer data[1] +#define sShakeTimer data[2] +#define sSpeed data[7] + +static void Scene3_StartNidorinoAttack(struct IntroSequenceData * ptr) { - ptr->nidorinoAnimSprite->data[0] = 0; - ptr->nidorinoAnimSprite->data[1] = 0; - ptr->nidorinoAnimSprite->data[2] = 0; - ptr->nidorinoAnimSprite->data[3] = 0; - ptr->nidorinoAnimSprite->data[4] = 0; - ptr->nidorinoAnimSprite->data[5] = 0; - ptr->nidorinoAnimSprite->x += ptr->nidorinoAnimSprite->x2; - ptr->nidorinoAnimSprite->x2 = 0; - gUnknown_203AB0C = 0x24; - gUnknown_203AB06 = 0x28; - gUnknown_203AB04 = 0x03; - gUnknown_203AB08 = 0x04; - ptr->nidorinoAnimSprite->data[7] = 36; - StartSpriteAnim(ptr->nidorinoAnimSprite, 2); - ptr->nidorinoAnimSprite->callback = SpriteCB_NidorinoAnim_LaunchSelfAtGengar; + ptr->scene3NidorinoSprite->sState = 0; + ptr->scene3NidorinoSprite->sTimer = 0; + ptr->scene3NidorinoSprite->sShakeTimer = 0; + ptr->scene3NidorinoSprite->data[3] = 0; // Unused + ptr->scene3NidorinoSprite->data[4] = 0; // Unused + ptr->scene3NidorinoSprite->data[5] = 0; // Unused + ptr->scene3NidorinoSprite->x += ptr->scene3NidorinoSprite->x2; + ptr->scene3NidorinoSprite->x2 = 0; + sNidorinoUnusedVar = 36; + sNidorinoAnimDelayTime = 40; + sNidorinoJumpMult = 3; + sNidorinoJumpDiv = 4; + ptr->scene3NidorinoSprite->sSpeed = 36; + StartSpriteAnim(ptr->scene3NidorinoSprite, ANIM_NIDORINO_CROUCH); + ptr->scene3NidorinoSprite->callback = SpriteCB_NidorinoAttack; } -static void SpriteCB_NidorinoAnim_LaunchSelfAtGengar(struct Sprite *sprite) +static void SpriteCB_NidorinoAttack(struct Sprite *sprite) { - switch (sprite->data[0]) + switch (sprite->sState) { case 0: - sprite->data[1]++; - if (sprite->data[1] & 1) + if (++sprite->sTimer & 1) { - sprite->data[2]++; - if (sprite->data[2] & 1) + // Nidorino shakes horizontally before attacking + if (++sprite->sShakeTimer & 1) sprite->x2++; else sprite->x2--; } - if (sprite->data[1] > 17) + if (sprite->sTimer > 17) { - sprite->data[1] = 0; - sprite->data[0]++; + sprite->sTimer = 0; + sprite->sState++; } break; case 1: - if (++sprite->data[1] >= gUnknown_203AB06) + if (++sprite->sTimer >= sNidorinoAnimDelayTime) { - StartSpriteAnim(sprite, 4); - sprite->data[1] = 0; - sprite->data[2] = 0; - sprite->data[0]++; + StartSpriteAnim(sprite, ANIM_NIDORINO_ATTACK); + sprite->sTimer = 0; + sprite->sShakeTimer = 0; + sprite->sState++; } break; case 2: - sprite->data[1] += sprite->data[7]; - sprite->x2 = -(sprite->data[1] >> 4); - sprite->y2 = -((gSineTable[sprite->data[1] >> 4] * gUnknown_203AB04) >> gUnknown_203AB08); - sprite->data[2]++; - if (sprite->data[7] > 12) - sprite->data[7]--; - if ((sprite->data[1] >> 4) > 0x3F) + // Nidorino jumps at Gengar + sprite->sTimer += sprite->sSpeed; + sprite->x2 = -(sprite->sTimer >> 4); + sprite->y2 = -((gSineTable[sprite->sTimer >> 4] * sNidorinoJumpMult) >> sNidorinoJumpDiv); + sprite->sShakeTimer++; // Does nothing + if (sprite->sSpeed > 12) + sprite->sSpeed--; // Decelerate as jump progresses + if ((sprite->sTimer >> 4) > 63) sprite->callback = SpriteCallbackDummy; break; } } -static void LoadFightSceneSpriteTilesAndPals(void) +#undef sState +#undef sTimer +#undef sShakeTimer +#undef sSpeed + +static void LoadFightSceneSpriteGraphics(void) { int i; - - for (i = 0; i < NELEMS(sFightSceneSpriteSheets); i++) - { + for (i = 0; i < ARRAY_COUNT(sFightSceneSpriteSheets); i++) LoadCompressedSpriteSheet(&sFightSceneSpriteSheets[i]); - } - // sFightSceneSpritePalettes is not properly terminated, so this - // call exhibits undefined behavior. LoadSpritePalettes(sFightSceneSpritePalettes); } diff --git a/src/item.c b/src/item.c index 037993e1b..763838133 100644 --- a/src/item.c +++ b/src/item.c @@ -611,7 +611,7 @@ void TrySetObtainedItemQuestLogEvent(u16 itemId) u16 SanitizeItemId(u16 itemId) { - if (itemId >= ITEM_N_A) + if (itemId >= ITEMS_COUNT) return ITEM_NONE; return itemId; } diff --git a/src/item_menu.c b/src/item_menu.c index f04ac59d5..3ee223343 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -478,7 +478,7 @@ static bool8 LoadBagMenuGraphics(void) gMain.state++; break; case 15: - CreateBagOrSatchelSprite(gBagMenuState.pocket); + CreateBagSprite(gBagMenuState.pocket); gMain.state++; break; case 16: @@ -487,7 +487,7 @@ static bool8 LoadBagMenuGraphics(void) gMain.state++; break; case 17: - ItemMenuIcons_CreateInsertIndicatorBarHidden(); + CreateSwapLine(); gMain.state++; break; case 18: @@ -583,13 +583,13 @@ static bool8 DoLoadBagGraphics(void) break; case 3: if (BagIsTutorial() == TRUE || gSaveBlock2Ptr->playerGender == MALE) - LoadCompressedSpriteSheet(&gSpriteSheet_Backpack); + LoadCompressedSpriteSheet(&gSpriteSheet_BagMale); else - LoadCompressedSpriteSheet(&gSpriteSheet_Satchel); + LoadCompressedSpriteSheet(&gSpriteSheet_BagFemale); sBagMenuDisplay->data[0]++; break; case 4: - LoadCompressedSpritePalette(&gSpritePalette_BagOrSatchel); + LoadCompressedSpritePalette(&gSpritePalette_Bag); sBagMenuDisplay->data[0]++; break; case 5: @@ -692,7 +692,7 @@ static void BagListMenuMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMe if (sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemIndex) CreateItemMenuIcon(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex), sBagMenuDisplay->itemMenuIcon); else - CreateItemMenuIcon(ITEM_N_A, sBagMenuDisplay->itemMenuIcon); + CreateItemMenuIcon(ITEMS_COUNT, sBagMenuDisplay->itemMenuIcon); sBagMenuDisplay->itemMenuIcon ^= 1; if (!sBagMenuDisplay->inhibitItemDescriptionPrint) PrintItemDescriptionOnMessageWindow(itemIndex); @@ -1231,8 +1231,8 @@ static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex) StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagPrintTextOnWindow(1, FONT_2, gStringVar4, 0, 3, 2, 0, 0, 0); - ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); + UpdateSwapLinePos(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + SetSwapLineInvisibility(FALSE); BagDestroyPocketSwitchArrowPair(); bag_menu_print_cursor_(data[0], 2); gTasks[taskId].func = Task_MoveItemInPocket_HandleInput; @@ -1248,7 +1248,7 @@ static void Task_MoveItemInPocket_HandleInput(u8 taskId) return; input = ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); - ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + UpdateSwapLinePos(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); if (JOY_NEW(SELECT_BUTTON)) { PlaySE(SE_SELECT); @@ -1290,7 +1290,7 @@ static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex) gBagMenuState.itemsAbove[gBagMenuState.pocket]--; Bag_BuildListMenuTemplate(gBagMenuState.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + SetSwapLineInvisibility(TRUE); CreatePocketSwitchArrowPair(); gTasks[taskId].func = Task_BagMenu_HandleInput; } @@ -1304,7 +1304,7 @@ static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex) gBagMenuState.itemsAbove[gBagMenuState.pocket]--; Bag_BuildListMenuTemplate(gBagMenuState.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + SetSwapLineInvisibility(TRUE); CreatePocketSwitchArrowPair(); gTasks[taskId].func = Task_BagMenu_HandleInput; } @@ -1475,7 +1475,7 @@ static void Task_ItemMenuAction_Use(u8 taskId) PutWindowTilemap(0); PutWindowTilemap(1); ScheduleBgCopyTilemapToVram(0); - if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1) + if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_TYPE_PARTY_MENU) Task_PrintThereIsNoPokemon(taskId); else ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 09fe4675d..36997612f 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -5,51 +5,80 @@ #include "item_menu_icons.h" #include "constants/items.h" -static EWRAM_DATA u8 sItemMenuIconSpriteIds[12] = {0}; +enum { + TAG_BAG = 100, + TAG_SWAP_LINE, + TAG_ITEM_ICON, + TAG_ITEM_ICON_ALT, +}; + +#define NUM_SWAP_LINE_SPRITES 9 + +// Indexes for sItemMenuIconSpriteIds +enum { + SPR_BAG, + SPR_SWAP_LINE_START, + SPR_ITEM_ICON = SPR_SWAP_LINE_START + NUM_SWAP_LINE_SPRITES, + SPR_ITEM_ICON_ALT, + SPR_COUNT +}; + +enum { + ANIM_SWAP_LINE_START, + ANIM_SWAP_LINE_MID, + ANIM_SWAP_LINE_END, +}; + +enum { + AFFINEANIM_BAG_IDLE, + AFFINEANIM_BAG_SHAKE, +}; + +static EWRAM_DATA u8 sItemMenuIconSpriteIds[SPR_COUNT] = {0}; static EWRAM_DATA void *sItemIconTilesBuffer = NULL; static EWRAM_DATA void *sItemIconTilesBufferPadded = NULL; static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite); static void SpriteCB_ShakeBagSprite(struct Sprite *sprite); -static const struct OamData sOamData_BagOrSatchel = { +static const struct OamData sOamData_Bag = { .affineMode = ST_OAM_AFFINE_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 1, .paletteNum = 0 }; -static const union AnimCmd sAnim_BagOrSatchel_OpenItemPocket[] = { +static const union AnimCmd sAnim_Bag_OpenPokeBallsPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0x40, 0), ANIMCMD_END }; -static const union AnimCmd sAnim_BagOrSatchel_OpenKeyItemPocket[] = { +static const union AnimCmd sAnim_Bag_OpenItemsPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0x80, 0), ANIMCMD_END }; -static const union AnimCmd sAnim_BagOrSatchel_OpenPokeBallsPocket[] = { +static const union AnimCmd sAnim_Bag_OpenKeyItemsPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0xc0, 0), ANIMCMD_END }; -static const union AnimCmd *const sAnimTable_BagOrSatchel[] = { - sAnim_BagOrSatchel_OpenKeyItemPocket, - sAnim_BagOrSatchel_OpenPokeBallsPocket, - sAnim_BagOrSatchel_OpenItemPocket +static const union AnimCmd *const sAnims_Bag[] = { + [POCKET_ITEMS - 1] = sAnim_Bag_OpenItemsPocket, + [POCKET_KEY_ITEMS - 1] = sAnim_Bag_OpenKeyItemsPocket, + [POCKET_POKE_BALLS - 1] = sAnim_Bag_OpenPokeBallsPocket, }; -static const union AffineAnimCmd sAffineAnim_Idle[] = { +static const union AffineAnimCmd sAffineAnim_BagIdle[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd sAffineAnim_Wobble[] = { +static const union AffineAnimCmd sAffineAnim_BagShake[] = { AFFINEANIMCMD_FRAME(0, 0, -2, 2), AFFINEANIMCMD_FRAME(0, 0, 2, 4), AFFINEANIMCMD_FRAME(0, 0, -2, 4), @@ -57,511 +86,134 @@ static const union AffineAnimCmd sAffineAnim_Wobble[] = { AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const sAffineAnimTable_BagOrSatchel[] = { - sAffineAnim_Idle, - sAffineAnim_Wobble +static const union AffineAnimCmd *const sAffineAnimTable_Bag[] = { + [AFFINEANIM_BAG_IDLE] = sAffineAnim_BagIdle, + [AFFINEANIM_BAG_SHAKE] = sAffineAnim_BagShake }; -const struct CompressedSpriteSheet gSpriteSheet_Backpack = { - gUnknown_8E8362C, - 0x2000, - 100 +const struct CompressedSpriteSheet gSpriteSheet_BagMale = { + .data = gBagMale_Gfx, + .size = 0x2000, + .tag = TAG_BAG }; -const struct CompressedSpriteSheet gSpriteSheet_Satchel = { - gUnknown_8E83DBC, - 0x2000, - 100 +const struct CompressedSpriteSheet gSpriteSheet_BagFemale = { + .data = gBagFemale_Gfx, + .size = 0x2000, + .tag = TAG_BAG }; -const struct CompressedSpritePalette gSpritePalette_BagOrSatchel = { - gUnknown_8E84560, - 100 +const struct CompressedSpritePalette gSpritePalette_Bag = { + .data = gBag_Pal, + .tag = TAG_BAG }; -static const struct SpriteTemplate sSpriteTemplate_BagOrSatchel = { - 100, - 100, - &sOamData_BagOrSatchel, - sAnimTable_BagOrSatchel, - NULL, - sAffineAnimTable_BagOrSatchel, - SpriteCallbackDummy +static const struct SpriteTemplate sSpriteTemplate_Bag = { + .tileTag = TAG_BAG, + .paletteTag = TAG_BAG, + .oam = &sOamData_Bag, + .anims = sAnims_Bag, + .images = NULL, + .affineAnims = sAffineAnimTable_Bag, + .callback = SpriteCallbackDummy }; -static const struct OamData gUnknown_83D4214 = { +static const struct OamData sOamData_SwapLine = { .affineMode = ST_OAM_AFFINE_OFF, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 1, .paletteNum = 1 }; -static const union AnimCmd gUnknown_83D421C[] = { +static const union AnimCmd sAnim_SwapLine_Start[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_83D4224[] = { +static const union AnimCmd sAnim_SwapLine_Mid[] = { ANIMCMD_FRAME(4, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_83D422C[] = { +static const union AnimCmd sAnim_SwapLine_End[] = { ANIMCMD_FRAME(0, 0, .hFlip = TRUE), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_83D4234[] = { - gUnknown_83D421C, - gUnknown_83D4224, - gUnknown_83D422C +static const union AnimCmd *const sAnims_SwapLine[] = { + [ANIM_SWAP_LINE_START] = sAnim_SwapLine_Start, + [ANIM_SWAP_LINE_MID] = sAnim_SwapLine_Mid, + [ANIM_SWAP_LINE_END] = sAnim_SwapLine_End }; const struct CompressedSpriteSheet gBagSwapSpriteSheet = { - gFile_graphics_interface_bag_swap_sheet, - 0x100, - 101 + .data = gSwapLine_Gfx, + .size = 0x100, + .tag = TAG_SWAP_LINE }; const struct CompressedSpritePalette gBagSwapSpritePalette = { - gFile_graphics_interface_bag_swap_palette, - 101 + .data = gSwapLine_Pal, + .tag = TAG_SWAP_LINE }; -static const struct SpriteTemplate gUnknown_83D4250 = { - 101, - 101, - &gUnknown_83D4214, - gUnknown_83D4234, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy +static const struct SpriteTemplate sSpriteTemplate_SwapLine = { + .tileTag = TAG_SWAP_LINE, + .paletteTag = TAG_SWAP_LINE, + .oam = &sOamData_SwapLine, + .anims = sAnims_SwapLine, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy }; static const struct OamData sOamData_ItemIcon = { .affineMode = ST_OAM_AFFINE_OFF, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 1, .paletteNum = 2 }; -static const union AnimCmd sAnim_ItemIcon_0[] = { +static const union AnimCmd sAnim_ItemIcon[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd *const sAnimTable_ItemIcon[] = { - sAnim_ItemIcon_0 +static const union AnimCmd *const sAnims_ItemIcon[] = { + sAnim_ItemIcon }; static const struct SpriteTemplate sSpriteTemplate_ItemIcon = { - 102, - 102, - &sOamData_ItemIcon, - sAnimTable_ItemIcon, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy + .tileTag = TAG_ITEM_ICON, + .paletteTag = TAG_ITEM_ICON, + .oam = &sOamData_ItemIcon, + .anims = sAnims_ItemIcon, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy }; -static const void *const sItemIconGfxPtrs[][2] = { - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette}, - {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette}, - {gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette}, - {gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette}, - {gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette}, - {gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette}, - {gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette}, - {gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette}, - {gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, - {gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette}, - {gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, - {gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette}, - {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette}, - {gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette}, - {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette}, - {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette}, - {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette}, - {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette}, - {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette}, - {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette}, - {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette}, - {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette}, - {gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette}, - {gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, - {gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette}, - {gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette}, - {gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette}, - {gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette}, - {gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette}, - {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette}, - {gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette}, - {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette}, - {gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette}, - {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette}, - {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette}, - {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette}, - {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette}, - {gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, - {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette}, - {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette}, - {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette}, - {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette}, - {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette}, - {gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette}, - {gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette}, - {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette}, - {gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, - {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette}, - {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette}, - {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette}, - {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette}, - {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette}, - {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette}, - {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette}, - {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette}, - {gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette}, - {gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette}, - {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette}, - {gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette}, - {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette}, - {gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette}, - {gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette}, - {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette}, - {gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette}, - {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette}, - {gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette}, - {gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette}, - {gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette}, - {gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette}, - {gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, - {gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, - {gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette}, - {gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette}, - {gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette}, - {gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette}, - {gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette}, - {gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette}, - {gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette}, - {gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette}, - {gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette}, - {gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette}, - {gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette}, - {gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette}, - {gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette}, - {gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette}, - {gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette}, - {gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette}, - {gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette}, - {gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette}, - {gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette}, - {gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette}, - {gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette}, - {gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette}, - {gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette}, - {gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette}, - {gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette}, - {gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette}, - {gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette}, - {gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette}, - {gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette}, - {gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette}, - {gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette}, - {gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette}, - {gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette}, - {gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette}, - {gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette}, - {gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette}, - {gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette}, - {gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette}, - {gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette}, - {gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette}, - {gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette}, - {gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette}, - {gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette}, - {gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette}, - {gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette}, - {gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette}, - {gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette}, - {gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette}, - {gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette}, - {gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette}, - {gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette}, - {gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette}, - {gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette}, - {gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette}, - {gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette}, - {gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette}, - {gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette}, - {gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette}, - {gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette}, - {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette}, - {gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette}, - {gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette}, - {gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette}, - {gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette}, - {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette}, - {gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette}, - {gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette}, - {gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette}, - {gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette}, - {gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette}, - {gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette}, - {gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette}, - {gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette}, - {gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette}, - {gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette}, - {gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette}, - {gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette}, - {gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette}, - {gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette}, - {gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette}, - {gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette}, - {gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette}, - {gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette}, - {gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette}, - {gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette}, - {gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, - {gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette}, - {gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette}, - {gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette}, - {gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette}, - {gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette}, - {gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette}, - {gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette}, - {gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette}, - {gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette}, - {gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette}, - {gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette}, - {gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette}, - {gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette}, - {gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette}, - {gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette}, - {gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette}, - {gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette}, - {gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette}, - {gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette}, - {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette}, - {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette}, - {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette}, - {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette}, - {gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette}, - {gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette}, - {gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette}, - {gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette}, - {gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette}, - {gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette}, - {gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette}, - {gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette}, - {gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette}, - {gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette}, - {gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, - {gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette}, - {gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette}, - {gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette}, - {gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette}, - {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette}, - {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette}, - {gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette}, - {gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette}, - {gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette}, - {gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - {gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - {gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - {gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - {gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette}, - {gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, - {gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette}, - {gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, - {gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette}, - {gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette}, - {gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette}, - {gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette}, - {gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette}, - {gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette}, - {gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette}, - {gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette}, - {gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, - {gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette}, - {gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette}, - {gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette}, - {gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette}, - {gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette}, - {gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette}, - {gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette}, - {gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette}, - {gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette}, - {gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette}, - {gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette}, - {gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette}, - {gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette}, - {gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette}, - {gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette}, - {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette}, - {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette}, - {gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette} -}; +#include "data/item_icon_table.h" void ResetItemMenuIconState(void) { u16 i; - for (i = 0; i < NELEMS(sItemMenuIconSpriteIds); i++) - sItemMenuIconSpriteIds[i] = 0xFF; + for (i = 0; i < SPR_COUNT; i++) + sItemMenuIconSpriteIds[i] = SPRITE_NONE; } -void CreateBagOrSatchelSprite(u8 animNum) +void CreateBagSprite(u8 animNum) { - sItemMenuIconSpriteIds[0] = CreateSprite(&sSpriteTemplate_BagOrSatchel, 40, 68, 0); + sItemMenuIconSpriteIds[SPR_BAG] = CreateSprite(&sSpriteTemplate_Bag, 40, 68, 0); SetBagVisualPocketId(animNum); } void SetBagVisualPocketId(u8 animNum) { - struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]]; + struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]]; sprite->y2 = -5; sprite->callback = SpriteCB_BagVisualSwitchingPockets; StartSpriteAnim(sprite, animNum); @@ -577,10 +229,10 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite) void ShakeBagSprite(void) { - struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]]; + struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]]; if (sprite->affineAnimEnded) { - StartSpriteAffineAnim(sprite, 1); + StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_SHAKE); sprite->callback = SpriteCB_ShakeBagSprite; } } @@ -589,54 +241,53 @@ static void SpriteCB_ShakeBagSprite(struct Sprite *sprite) { if (sprite->affineAnimEnded) { - StartSpriteAffineAnim(sprite, 0); + StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_IDLE); sprite->callback = SpriteCallbackDummy; } } -void ItemMenuIcons_CreateInsertIndicatorBarHidden(void) +void CreateSwapLine(void) { u8 i; - u8 * ptr = &sItemMenuIconSpriteIds[1]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START]; - for (i = 0; i < 9; i++) + for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++) { - ptr[i] = CreateSprite(&gUnknown_83D4250, i * 16 + 0x60, 7, 0); + spriteIds[i] = CreateSprite(&sSpriteTemplate_SwapLine, i * 16 + 96, 7, 0); switch (i) { case 0: + // ANIM_SWAP_LINE_START, by default break; - case 8: - StartSpriteAnim(&gSprites[ptr[i]], 2); + case NUM_SWAP_LINE_SPRITES - 1: + StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_END); break; default: - StartSpriteAnim(&gSprites[ptr[i]], 1); + StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_MID); break; } - gSprites[ptr[i]].invisible = TRUE; + gSprites[spriteIds[i]].invisible = TRUE; } } -void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible) +void SetSwapLineInvisibility(bool8 invisible) { u8 i; - u8 * ptr = &sItemMenuIconSpriteIds[1]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START]; - for (i = 0; i < 9; i++) - { - gSprites[ptr[i]].invisible = invisible; - } + for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++) + gSprites[spriteIds[i]].invisible = invisible; } -void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y) +void UpdateSwapLinePos(s16 x, u16 y) { u8 i; - u8 * ptr = &sItemMenuIconSpriteIds[1]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START]; - for (i = 0; i < 9; i++) + for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++) { - gSprites[ptr[i]].x2 = x; - gSprites[ptr[i]].y = y + 7; + gSprites[spriteIds[i]].x2 = x; + gSprites[spriteIds[i]].y = y + 7; } } @@ -663,9 +314,7 @@ void CopyItemIconPicTo4x4Buffer(const void *src, void *dest) u8 i; for (i = 0; i < 3; i++) - { CpuCopy16(src + 0x60 * i, dest + 0x80 * i, 0x60); - } } u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) @@ -732,17 +381,18 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT void CreateItemMenuIcon(u16 itemId, u8 idx) { - u8 * ptr = &sItemMenuIconSpriteIds[10]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON]; u8 spriteId; - if (ptr[idx] == 0xFF) + if (spriteIds[idx] == SPRITE_NONE) { - FreeSpriteTilesByTag(102 + idx); - FreeSpritePaletteByTag(102 + idx); - spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); + // Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT + FreeSpriteTilesByTag(TAG_ITEM_ICON + idx); + FreeSpritePaletteByTag(TAG_ITEM_ICON + idx); + spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId); if (spriteId != MAX_SPRITES) { - ptr[idx] = spriteId; + spriteIds[idx] = spriteId; gSprites[spriteId].x2 = 24; gSprites[spriteId].y2 = 140; } @@ -751,37 +401,38 @@ void CreateItemMenuIcon(u16 itemId, u8 idx) void DestroyItemMenuIcon(u8 idx) { - u8 * ptr = &sItemMenuIconSpriteIds[10]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON]; - if (ptr[idx] != 0xFF) + if (spriteIds[idx] != SPRITE_NONE) { - DestroySpriteAndFreeResources(&gSprites[ptr[idx]]); - ptr[idx] = 0xFF; + DestroySpriteAndFreeResources(&gSprites[spriteIds[idx]]); + spriteIds[idx] = SPRITE_NONE; } } const void *GetItemIconGfxPtr(u16 itemId, u8 attrId) { - if (itemId > ITEM_N_A) + if (itemId > ITEMS_COUNT) itemId = ITEM_NONE; - return sItemIconGfxPtrs[itemId][attrId]; + return sItemIconTable[itemId][attrId]; } -void sub_80989A0(u16 itemId, u8 idx) +void CreateBerryPouchItemIcon(u16 itemId, u8 idx) { - u8 * ptr = &sItemMenuIconSpriteIds[10]; + u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON]; u8 spriteId; - if (ptr[idx] == 0xFF) + if (spriteIds[idx] == SPRITE_NONE) { - FreeSpriteTilesByTag(102 + idx); - FreeSpritePaletteByTag(102 + idx); - spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); + // Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT + FreeSpriteTilesByTag(TAG_ITEM_ICON + idx); + FreeSpritePaletteByTag(TAG_ITEM_ICON + idx); + spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId); if (spriteId != MAX_SPRITES) { - ptr[idx] = spriteId; + spriteIds[idx] = spriteId; gSprites[spriteId].x2 = 24; - gSprites[spriteId].y2 = 147; + gSprites[spriteId].y2 = 147; // This value is the only difference from CreateItemMenuIcon } } } diff --git a/src/item_pc.c b/src/item_pc.c index e6d65d9c8..f40eb1758 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -342,7 +342,7 @@ static bool8 ItemPc_DoGfxSetup(void) gMain.state++; break; case 14: - ItemMenuIcons_CreateInsertIndicatorBarHidden(); + CreateSwapLine(); gMain.state++; break; case 15: @@ -529,7 +529,7 @@ static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * } else { - CreateItemMenuIcon(ITEM_N_A, sStateDataPtr->itemMenuIconSlot); + CreateItemMenuIcon(ITEMS_COUNT, sStateDataPtr->itemMenuIconSlot); desc = gText_ReturnToPC; } sStateDataPtr->itemMenuIconSlot ^= 1; @@ -774,8 +774,8 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos) StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); FillWindowPixelBuffer(1, 0x00); ItemPc_AddTextPrinterParameterized(1, FONT_2, gStringVar4, 0, 3, 2, 3, 0, 0); - ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); + UpdateSwapLinePos(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + SetSwapLineInvisibility(FALSE); ItemPc_PrintOrRemoveCursor(data[0], 2); gTasks[taskId].func = Task_ItemPcMoveItemModeRun; } @@ -786,7 +786,7 @@ static void Task_ItemPcMoveItemModeRun(u8 taskId) ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row); - ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + UpdateSwapLinePos(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); @@ -814,7 +814,7 @@ static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos) sListMenuState.row--; ItemPc_BuildListMenuTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + SetSwapLineInvisibility(TRUE); gTasks[taskId].func = Task_ItemPcMain; } } @@ -828,7 +828,7 @@ static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos) sListMenuState.row--; ItemPc_BuildListMenuTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); - ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + SetSwapLineInvisibility(TRUE); gTasks[taskId].func = Task_ItemPcMain; } diff --git a/src/item_use.c b/src/item_use.c index a7a22665f..7c5091ccd 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -33,6 +33,7 @@ #include "vs_seeker.h" #include "constants/sound.h" #include "constants/items.h" +#include "constants/item_effects.h" #include "constants/maps.h" #include "constants/moves.h" #include "constants/songs.h" @@ -43,14 +44,14 @@ static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; static void FieldCB_FadeInFromBlack(void); static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId); static void Task_ItemUse_CloseMessageBoxAndReturnToField(u8 taskId); -static void sub_80A11C0(u8 taskId); -static bool8 sub_80A1194(void); -static void sub_80A1208(void); +static void Task_ItemUseWaitForFade(u8 taskId); +static bool8 FieldCB2_UseItemFromField(void); +static void CB2_CheckMail(void); static void ItemUseOnFieldCB_Bicycle(u8 taskId); -static bool8 ItemUseCheckFunc_Rod(void); +static bool8 CanFish(void); static void ItemUseOnFieldCB_Rod(u8 taskId); -static void sub_80A1648(u8 taskId); -static void sub_80A1674(u8 taskId); +static void Task_PlayPokeFlute(u8 taskId); +static void Task_DisplayPokeFluteMessage(u8 taskId); static void InitTMCaseFromBag(void); static void Task_InitTMCaseFromField(u8 taskId); static void InitBerryPouchFromBag(void); @@ -58,14 +59,14 @@ static void Task_InitBerryPouchFromField(u8 taskId); static void InitBerryPouchFromBattle(void); static void InitTeachyTvFromBag(void); static void Task_InitTeachyTvFromField(u8 taskId); -static void sub_80A19E8(u8 taskId); -static void sub_80A1A44(void); -static void sub_80A1B48(u8 taskId); -static void sub_80A1C08(u8 taskId); -static void sub_80A1CAC(void); -static void sub_80A1CC0(u8 taskId); -static void sub_80A1D58(void); -static void sub_80A1D68(u8 taskId); +static void Task_UseRepel(u8 taskId); +static void RemoveUsedItem(void); +static void Task_UsedBlackWhiteFlute(u8 taskId); +static void ItemUseOnFieldCB_EscapeRope(u8 taskId); +static void UseTownMapFromBag(void); +static void Task_UseTownMapFromField(u8 taskId); +static void UseFameCheckerFromBag(void); +static void Task_UseFameCheckerFromField(u8 taskId); static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId); static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId); @@ -126,13 +127,13 @@ static const u8 sUnref_83E27B4[] = { }; static void (*const sExitCallbackByItemType[])(void) = { - CB2_ShowPartyMenuForItemUse, - CB2_ReturnToField, - NULL, - NULL + [ITEM_TYPE_PARTY_MENU - 1] = CB2_ShowPartyMenuForItemUse, + [ITEM_TYPE_FIELD - 1] = CB2_ReturnToField, + [ITEM_TYPE_UNUSED - 1] = NULL, + [ITEM_TYPE_BAG_MENU - 1] = NULL, }; -static void Task_FadeOuFromBackToField(u8 taskId) +static void SetUpItemUseCallback(u8 taskId) { u8 itemType; if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) @@ -147,18 +148,18 @@ static void Task_FadeOuFromBackToField(u8 taskId) else { ItemMenu_SetExitCallback(sExitCallbackByItemType[itemType]); - if (itemType == 1) + if (itemType == ITEM_TYPE_FIELD - 1) Bag_BeginCloseWin0Animation(); ItemMenu_StartFadeToExitCallback(taskId); } } -static void sub_80A103C(u8 taskId) +static void SetUpItemUseOnFieldCallback(u8 taskId) { if (gTasks[taskId].data[3] != 1) { gFieldCallback = FieldCB_FadeInFromBlack; - Task_FadeOuFromBackToField(taskId); + SetUpItemUseCallback(taskId); } else sItemUseOnFieldCB(taskId); @@ -173,12 +174,10 @@ static void FieldCB_FadeInFromBlack(void) static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId) { if (IsWeatherNotFadingIn() == TRUE) - { sItemUseOnFieldCB(taskId); - } } -static void DisplayItemMessageInCurrentContext(u8 taskId, bool8 inField, u8 fontId, const u8 * str) +static void DisplayItemMessageInCurrentContext(u8 taskId, bool8 inField, u8 fontId, const u8 *str) { StringExpandPlaceholders(gStringVar4, str); if (inField == FALSE) @@ -210,22 +209,22 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) return 0; } -static void sub_80A1184(void) +static void SetFieldCallback2ForItemUse(void) { - gFieldCallback2 = sub_80A1194; + gFieldCallback2 = FieldCB2_UseItemFromField; } -static bool8 sub_80A1194(void) +static bool8 FieldCB2_UseItemFromField(void) { FreezeObjectEvents(); LockPlayerFieldControls(); FadeInFromBlack(); - CreateTask(sub_80A11C0, 10); + CreateTask(Task_ItemUseWaitForFade, 10); gExitStairsMovementDisabled = FALSE; return TRUE; } -static void sub_80A11C0(u8 taskId) +static void Task_ItemUseWaitForFade(u8 taskId) { if (IsWeatherNotFadingIn() == TRUE) { @@ -235,21 +234,21 @@ static void sub_80A11C0(u8 taskId) } } -void FieldUseFunc_OrangeMail(u8 taskId) +void FieldUseFunc_Mail(u8 taskId) { - ItemMenu_SetExitCallback(sub_80A1208); + ItemMenu_SetExitCallback(CB2_CheckMail); ItemMenu_StartFadeToExitCallback(taskId); } -static void sub_80A1208(void) +static void CB2_CheckMail(void) { struct Mail mail; mail.itemId = gSpecialVar_ItemId; - ReadMail(&mail, CB2_BagMenuFromStartMenu, 0); + ReadMail(&mail, CB2_BagMenuFromStartMenu, FALSE); } -void FieldUseFunc_MachBike(u8 taskId) +void FieldUseFunc_Bike(u8 taskId) { s16 x, y; u8 behavior; @@ -266,7 +265,7 @@ void FieldUseFunc_MachBike(u8 taskId) else if (Overworld_IsBikingAllowed() == TRUE && !IsBikingDisallowedByPlayer()) { sItemUseOnFieldCB = ItemUseOnFieldCB_Bicycle; - sub_80A103C(taskId); + SetUpItemUseOnFieldCallback(taskId); } else PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]); @@ -282,18 +281,18 @@ static void ItemUseOnFieldCB_Bicycle(u8 taskId) DestroyTask(taskId); } -void FieldUseFunc_OldRod(u8 taskId) +void FieldUseFunc_Rod(u8 taskId) { - if (ItemUseCheckFunc_Rod() == TRUE) + if (CanFish() == TRUE) { sItemUseOnFieldCB = ItemUseOnFieldCB_Rod; - sub_80A103C(taskId); + SetUpItemUseOnFieldCallback(taskId); } else PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]); } -static bool8 ItemUseCheckFunc_Rod(void) +static bool8 CanFish(void) { s16 x, y; u16 behavior; @@ -330,7 +329,7 @@ void ItemUseOutOfBattle_Itemfinder(u8 taskId) { IncrementGameStat(GAME_STAT_USED_ITEMFINDER); sItemUseOnFieldCB = ItemUseOnFieldCB_Itemfinder; - sub_80A103C(taskId); + SetUpItemUseOnFieldCallback(taskId); } void FieldUseFunc_CoinCase(u8 taskId) @@ -362,7 +361,7 @@ void FieldUseFunc_PokeFlute(u8 taskId) for (i = 0; i < CalculatePlayerPartyCount(); i++) { - if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, MOVE_NONE)) + if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, 0)) wokeSomeoneUp = TRUE; } @@ -370,9 +369,9 @@ void FieldUseFunc_PokeFlute(u8 taskId) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); if (gTasks[taskId].data[3] == 0) - DisplayItemMessageInBag(taskId, FONT_2, gText_PlayedPokeFlute, sub_80A1648); + DisplayItemMessageInBag(taskId, FONT_2, gText_PlayedPokeFlute, Task_PlayPokeFlute); else - DisplayItemMessageOnField(taskId, FONT_2, gText_PlayedPokeFlute, sub_80A1648); + DisplayItemMessageOnField(taskId, FONT_2, gText_PlayedPokeFlute, Task_PlayPokeFlute); } else { @@ -383,13 +382,13 @@ void FieldUseFunc_PokeFlute(u8 taskId) } } -static void sub_80A1648(u8 taskId) +static void Task_PlayPokeFlute(u8 taskId) { PlayFanfareByFanfareNum(FANFARE_POKE_FLUTE); - gTasks[taskId].func = sub_80A1674; + gTasks[taskId].func = Task_DisplayPokeFluteMessage; } -static void sub_80A1674(u8 taskId) +static void Task_DisplayPokeFluteMessage(u8 taskId) { if (WaitFanfare(FALSE)) { @@ -400,45 +399,45 @@ static void sub_80A1674(u8 taskId) } } -static void sub_80A16D0(u8 taskId) +static void DoSetUpItemUseCallback(u8 taskId) { - Task_FadeOuFromBackToField(taskId); + SetUpItemUseCallback(taskId); } void FieldUseFunc_Medicine(u8 taskId) { gItemUseCB = ItemUseCB_Medicine; - sub_80A16D0(taskId); + DoSetUpItemUseCallback(taskId); } void FieldUseFunc_Ether(u8 taskId) { gItemUseCB = ItemUseCB_TryRestorePP; - sub_80A16D0(taskId); + DoSetUpItemUseCallback(taskId); } void FieldUseFunc_PpUp(u8 taskId) { gItemUseCB = ItemUseCB_PPUp; - sub_80A16D0(taskId); + DoSetUpItemUseCallback(taskId); } void FieldUseFunc_RareCandy(u8 taskId) { gItemUseCB = ItemUseCB_RareCandy; - sub_80A16D0(taskId); + DoSetUpItemUseCallback(taskId); } void FieldUseFunc_EvoItem(u8 taskId) { gItemUseCB = ItemUseCB_EvolutionStone; - sub_80A16D0(taskId); + DoSetUpItemUseCallback(taskId); } void FieldUseFunc_SacredAsh(u8 taskId) { gItemUseCB = ItemUseCB_SacredAsh; - Task_FadeOuFromBackToField(taskId); + SetUpItemUseCallback(taskId); } void FieldUseFunc_TmCase(u8 taskId) @@ -466,7 +465,7 @@ static void Task_InitTMCaseFromField(u8 taskId) if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - sub_80A1184(); + SetFieldCallback2ForItemUse(); InitTMCase(0, CB2_ReturnToField, 1); DestroyTask(taskId); } @@ -497,7 +496,7 @@ static void Task_InitBerryPouchFromField(u8 taskId) if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - sub_80A1184(); + SetFieldCallback2ForItemUse(); InitBerryPouch(BERRYPOUCH_FROMFIELD, CB2_ReturnToField, 1); DestroyTask(taskId); } @@ -540,36 +539,36 @@ static void Task_InitTeachyTvFromField(u8 taskId) if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - sub_80A1184(); + SetFieldCallback2ForItemUse(); InitTeachyTvController(0, CB2_ReturnToField); DestroyTask(taskId); } } -void FieldUseFunc_SuperRepel(u8 taskId) +void FieldUseFunc_Repel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) { PlaySE(SE_REPEL); - gTasks[taskId].func = sub_80A19E8; + gTasks[taskId].func = Task_UseRepel; } else // An earlier repel is still in effect DisplayItemMessageInBag(taskId, FONT_2, gText_RepelEffectsLingered, Task_ReturnToBagFromContextMenu); } -static void sub_80A19E8(u8 taskId) +static void Task_UseRepel(u8 taskId) { if (!IsSEPlaying()) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); - sub_80A1A44(); + RemoveUsedItem(); DisplayItemMessageInBag(taskId, FONT_2, gStringVar4, Task_ReturnToBagFromContextMenu); } } -static void sub_80A1A44(void) +static void RemoveUsedItem(void) { RemoveBagItem(gSpecialVar_ItemId, 1); Pocket_CalculateNItemsAndMaxShowed(ItemId_GetPocket(gSpecialVar_ItemId)); @@ -578,7 +577,7 @@ static void sub_80A1A44(void) StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); } -void FieldUseFunc_BlackFlute(u8 taskId) +void FieldUseFunc_BlackWhiteFlute(u8 taskId) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE) @@ -587,7 +586,7 @@ void FieldUseFunc_BlackFlute(u8 taskId) FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildLured); - gTasks[taskId].func = sub_80A1B48; + gTasks[taskId].func = Task_UsedBlackWhiteFlute; gTasks[taskId].data[8] = 0; } else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE) @@ -596,12 +595,12 @@ void FieldUseFunc_BlackFlute(u8 taskId) FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled); - gTasks[taskId].func = sub_80A1B48; + gTasks[taskId].func = Task_UsedBlackWhiteFlute; gTasks[taskId].data[8] = 0; } } -static void sub_80A1B48(u8 taskId) +static void Task_UsedBlackWhiteFlute(u8 taskId) { if (++gTasks[taskId].data[8] > 7) { @@ -623,22 +622,22 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) if (CanUseEscapeRopeOnCurrMap() == TRUE) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, gMapHeader.regionMapSectionId); - sItemUseOnFieldCB = sub_80A1C08; - sub_80A103C(taskId); + sItemUseOnFieldCB = ItemUseOnFieldCB_EscapeRope; + SetUpItemUseOnFieldCallback(taskId); } else PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]); } -static void sub_80A1C08(u8 taskId) +static void ItemUseOnFieldCB_EscapeRope(u8 taskId) { Overworld_ResetStateAfterDigEscRope(); - sub_80A1A44(); + RemoveUsedItem(); gTasks[taskId].data[0] = 0; - DisplayItemMessageOnField(taskId, FONT_2, gStringVar4, sub_80A1C44); + DisplayItemMessageOnField(taskId, FONT_2, gStringVar4, Task_UseDigEscapeRopeOnField); } -void sub_80A1C44(u8 taskId) +void Task_UseDigEscapeRopeOnField(u8 taskId) { ResetInitialPlayerAvatarState(); StartEscapeRopeFieldEffect(); @@ -649,28 +648,28 @@ void FieldUseFunc_TownMap(u8 taskId) { if (gTasks[taskId].data[3] == 0) { - ItemMenu_SetExitCallback(sub_80A1CAC); + ItemMenu_SetExitCallback(UseTownMapFromBag); ItemMenu_StartFadeToExitCallback(taskId); } else { StopPokemonLeagueLightingEffectTask(); FadeScreen(FADE_TO_BLACK, 0); - gTasks[taskId].func = sub_80A1CC0; + gTasks[taskId].func = Task_UseTownMapFromField; } } -static void sub_80A1CAC(void) +static void UseTownMapFromBag(void) { InitRegionMapWithExitCB(REGIONMAP_TYPE_NORMAL, CB2_BagMenuFromStartMenu); } -static void sub_80A1CC0(u8 taskId) +static void Task_UseTownMapFromField(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - sub_80A1184(); + SetFieldCallback2ForItemUse(); InitRegionMapWithExitCB(REGIONMAP_TYPE_NORMAL, CB2_ReturnToField); DestroyTask(taskId); } @@ -681,28 +680,28 @@ void FieldUseFunc_FameChecker(u8 taskId) ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); if (gTasks[taskId].data[3] == 0) { - ItemMenu_SetExitCallback(sub_80A1D58); + ItemMenu_SetExitCallback(UseFameCheckerFromBag); ItemMenu_StartFadeToExitCallback(taskId); } else { StopPokemonLeagueLightingEffectTask(); FadeScreen(FADE_TO_BLACK, 0); - gTasks[taskId].func = sub_80A1D68; + gTasks[taskId].func = Task_UseFameCheckerFromField; } } -static void sub_80A1D58(void) +static void UseFameCheckerFromBag(void) { UseFameChecker(CB2_BagMenuFromStartMenu); } -static void sub_80A1D68(u8 taskId) +static void Task_UseFameCheckerFromField(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - sub_80A1184(); + SetFieldCallback2ForItemUse(); UseFameChecker(CB2_ReturnToField); DestroyTask(taskId); } @@ -724,7 +723,7 @@ void FieldUseFunc_VsSeeker(u8 taskId) else { sItemUseOnFieldCB = Task_VsSeeker_0; - sub_80A103C(taskId); + SetUpItemUseOnFieldCallback(taskId); } } @@ -742,9 +741,7 @@ void BattleUseFunc_PokeBallEtc(u8 taskId) ItemMenu_StartFadeToExitCallback(taskId); } else - { DisplayItemMessageInBag(taskId, FONT_2, gText_BoxFull, Task_ReturnToBagFromContextMenu); - } } void BattleUseFunc_PokeFlute(u8 taskId) @@ -753,12 +750,10 @@ void BattleUseFunc_PokeFlute(u8 taskId) ItemMenu_StartFadeToExitCallback(taskId); } -void BattleUseFunc_GuardSpec(u8 taskId) +void BattleUseFunc_StatBooster(u8 taskId) { if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0)) - { DisplayItemMessageInBag(taskId, FONT_2, gText_WontHaveEffect, Task_ReturnToBagFromContextMenu); - } else { gTasks[taskId].data[8] = 0; @@ -768,7 +763,7 @@ void BattleUseFunc_GuardSpec(u8 taskId) static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (++data[8] > 7) { @@ -808,7 +803,8 @@ void BattleUseFunc_Medicine(u8 taskId) ItemUse_SwitchToPartyMenuInBattle(taskId); } -static void sub_80A1FD8(u8 taskId) +// Unused. Sacred Ash cannot be used in battle +static void BattleUseFunc_SacredAsh(u8 taskId) { gItemUseCB = ItemUseCB_SacredAsh; ItemUse_SwitchToPartyMenuInBattle(taskId); @@ -824,7 +820,7 @@ void BattleUseFunc_PokeDoll(u8 taskId) { if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER)) { - sub_80A1A44(); + RemoveUsedItem(); ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, 0, gSpecialVar_ItemId, 0xFFFF); DisplayItemMessageInBag(taskId, FONT_2, gStringVar4, ItemMenu_StartFadeToExitCallback); } @@ -834,38 +830,38 @@ void BattleUseFunc_PokeDoll(u8 taskId) void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) { - switch (GetItemEffectType(gSpecialVar_ItemId) - 1) + switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_ALL_STATUS: + case ITEM_EFFECT_ATK_EV: + case ITEM_EFFECT_HP_EV: + case ITEM_EFFECT_SPATK_EV: + case ITEM_EFFECT_SPDEF_EV: + case ITEM_EFFECT_SPEED_EV: + case ITEM_EFFECT_DEF_EV: gTasks[taskId].data[4] = 1; FieldUseFunc_Medicine(taskId); break; - case 9: + case ITEM_EFFECT_SACRED_ASH: gTasks[taskId].data[4] = 1; FieldUseFunc_SacredAsh(taskId); break; - case 0: + case ITEM_EFFECT_RAISE_LEVEL: gTasks[taskId].data[4] = 1; FieldUseFunc_RareCandy(taskId); break; - case 18: - case 19: + case ITEM_EFFECT_PP_UP: + case ITEM_EFFECT_PP_MAX: gTasks[taskId].data[4] = 1; FieldUseFunc_PpUp(taskId); break; - case 20: + case ITEM_EFFECT_HEAL_PP: gTasks[taskId].data[4] = 1; FieldUseFunc_Ether(taskId); break; @@ -879,21 +875,21 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) { switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 0: - BattleUseFunc_GuardSpec(taskId); + case ITEM_EFFECT_X_ITEM: + BattleUseFunc_StatBooster(taskId); break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 11: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_CONFUSION: + case ITEM_EFFECT_CURE_INFATUATION: + case ITEM_EFFECT_CURE_ALL_STATUS: BattleUseFunc_Medicine(taskId); break; - case 21: + case ITEM_EFFECT_HEAL_PP: BattleUseFunc_Ether(taskId); break; default: @@ -912,7 +908,7 @@ void FieldUseFunc_OakStopsYou(u8 taskId) PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]); } -void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId, u16 param) +void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon *pokemon, u16 itemId, u16 param) { struct UnkStruct_ItemUseQuestLog { @@ -920,7 +916,7 @@ void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId, u16 unk2; u16 species; u16 param; - } * questLog = Alloc(sizeof(*questLog)); + } *questLog = Alloc(sizeof(*questLog)); questLog->itemId = itemId; questLog->param = param; diff --git a/src/main.c b/src/main.c index 2f039c23b..368638022 100644 --- a/src/main.c +++ b/src/main.c @@ -206,7 +206,7 @@ static void InitMainCallbacks(void) gMain.vblankCounter1 = 0; gMain.vblankCounter2 = 0; gMain.callback1 = NULL; - SetMainCallback2(c2_copyright_1); + SetMainCallback2(CB2_InitCopyrightScreenAfterBootup); gSaveBlock2Ptr = &gSaveBlock2; gSaveBlock1Ptr = &gSaveBlock1; gSaveBlock2.encryptionKey = 0; diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c index 278a0c0de..b7495c328 100644 --- a/src/minigame_countdown.c +++ b/src/minigame_countdown.c @@ -80,8 +80,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId) switch (sprite->data[0]) { case 0: - // some sort of affine transform; x transform disabled - obj_pos2_update_enable(sprite, 0x800, 0x1A); + SetSpriteMatrixAnchor(sprite, NO_ANCHOR, 26); sprite->data[0]++; // fallthrough case 1: diff --git a/src/palette.c b/src/palette.c index ebb64bb55..08c6111b7 100644 --- a/src/palette.c +++ b/src/palette.c @@ -11,46 +11,48 @@ enum HARDWARE_FADE, }; +// These are structs for some unused palette system. +// The full functionality of this system is unknown. + #define NUM_PALETTE_STRUCTS 16 -// unused palette struct struct PaletteStructTemplate { - u16 uid; + u16 id; u16 *src; - u16 pst_field_8_0:1; - u16 pst_field_8_1:9; + bool16 pst_field_8_0:1; + u16 unused:9; u16 size:5; - u16 pst_field_9_7:1; - u8 pst_field_A; + u8 time1; u8 srcCount:5; - u8 pst_field_B_5:3; - u8 pst_field_C; + u8 state:3; + u8 time2; }; struct PaletteStruct { - const struct PaletteStructTemplate *base; - u32 ps_field_4_0:1; - u16 ps_field_4_1:1; + const struct PaletteStructTemplate *template; + bool32 active:1; + bool32 flag:1; u32 baseDestOffset:9; u16 destOffset:10; u16 srcIndex:7; - u8 ps_field_8; - u8 ps_field_9; + u8 countdown1; + u8 countdown2; }; -static void sub_8070790(struct PaletteStruct *, u32 *); -static void sub_80708F4(struct PaletteStruct *, u32 *); -static void sub_80709B4(struct PaletteStruct *); -static u8 GetPaletteNumByUid(u16); +static void PaletteStruct_Copy(struct PaletteStruct *, u32 *); +static void PaletteStruct_Blend(struct PaletteStruct *, u32 *); +static void PaletteStruct_TryEnd(struct PaletteStruct *); +static void PaletteStruct_Reset(u8 paletteNum); +static u8 PaletteStruct_GetPalNum(u16); static u8 UpdateNormalPaletteFade(void); static void BeginFastPaletteFadeInternal(u8); static u8 UpdateFastPaletteFade(void); static u8 UpdateHardwarePaletteFade(void); static void UpdateBlendRegisters(void); static bool8 IsSoftwarePaletteFadeFinishing(void); -static void sub_80718B8(u8 taskId); +static void Task_BlendPalettesGradually(u8 taskId); ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0}; @@ -59,10 +61,10 @@ EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0}; static EWRAM_DATA u32 sPlttBufferTransferPending = 0; EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0}; -static const struct PaletteStructTemplate gDummyPaletteStructTemplate = +static const struct PaletteStructTemplate sDummyPaletteStructTemplate = { - .uid = 0xFFFF, - .pst_field_B_5 = 1 + .id = 0xFFFF, + .state = 1 }; static const u8 sRoundedDownGrayscaleMap[] = @@ -79,20 +81,20 @@ static const u8 sRoundedDownGrayscaleMap[] = void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) { LZDecompressWram(src, gPaletteDecompressionBuffer); - CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); - CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferFaded + offset, size); + CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size); + CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size); } void LoadPalette(const void *src, u16 offset, u16 size) { - CpuCopy16(src, gPlttBufferUnfaded + offset, size); - CpuCopy16(src, gPlttBufferFaded + offset, size); + CpuCopy16(src, &gPlttBufferUnfaded[offset], size); + CpuCopy16(src, &gPlttBufferFaded[offset], size); } void FillPalette(u16 value, u16 offset, u16 size) { - CpuFill16(value, gPlttBufferUnfaded + offset, size); - CpuFill16(value, gPlttBufferFaded + offset, size); + CpuFill16(value, &gPlttBufferUnfaded[offset], size); + CpuFill16(value, &gPlttBufferFaded[offset], size); } void TransferPlttBuffer(void) @@ -102,7 +104,7 @@ void TransferPlttBuffer(void) void *src = gPlttBufferFaded; void *dest = (void *)PLTT; DmaCopy16(3, src, dest, PLTT_SIZE); - sPlttBufferTransferPending = 0; + sPlttBufferTransferPending = FALSE; if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) UpdateBlendRegisters(); } @@ -129,8 +131,8 @@ void ResetPaletteFade(void) { u8 i; - for (i = 0; i < 16; ++i) - ResetPaletteStruct(i); + for (i = 0; i < NUM_PALETTE_STRUCTS; ++i) + PaletteStruct_Reset(i); ResetPaletteFadeControl(); } @@ -179,7 +181,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe temp = gPaletteFade.bufferTransferDisabled; gPaletteFade.bufferTransferDisabled = FALSE; CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE); - sPlttBufferTransferPending = 0; + sPlttBufferTransferPending = FALSE; if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) UpdateBlendRegisters(); gPaletteFade.bufferTransferDisabled = temp; @@ -187,15 +189,15 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe } } -// not used -static bool8 sub_80706D0(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5) +// Unused +static bool8 BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor) { ReadPlttIntoBuffers(); - return BeginNormalPaletteFade(a1, a2, a3, a4, a5); + return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor); } -// not used -static void sub_8070718(u8 a1, u32 *a2) +// Unused +static void PaletteStruct_Run(u8 a1, u32 *unkFlags) { u8 i; @@ -203,82 +205,80 @@ static void sub_8070718(u8 a1, u32 *a2) { struct PaletteStruct *palstruct = &sPaletteStructs[i]; - if (palstruct->ps_field_4_0) + if (palstruct->active) { - if (palstruct->base->pst_field_8_0 == a1) + if (palstruct->template->pst_field_8_0 == a1) { - u8 val1 = palstruct->srcIndex; - u8 val2 = palstruct->base->srcCount; + u8 srcIndex = palstruct->srcIndex; + u8 srcCount = palstruct->template->srcCount; - if (val1 == val2) + if (srcIndex == srcCount) { - sub_80709B4(palstruct); - if (!palstruct->ps_field_4_0) + PaletteStruct_TryEnd(palstruct); + if (!palstruct->active) continue; } - if (palstruct->ps_field_8 == 0) - sub_8070790(palstruct, a2); + if (palstruct->countdown1 == 0) + PaletteStruct_Copy(palstruct, unkFlags); else - --palstruct->ps_field_8; - sub_80708F4(palstruct, a2); + palstruct->countdown1--; + PaletteStruct_Blend(palstruct, unkFlags); } } } } -// not used -static void sub_8070790(struct PaletteStruct *a1, u32 *a2) +static void PaletteStruct_Copy(struct PaletteStruct *palStruct, u32 *unkFlags) { s32 srcIndex; s32 srcCount; u8 i = 0; - u16 srcOffset = a1->srcIndex * a1->base->size; + u16 srcOffset = palStruct->srcIndex * palStruct->template->size; - if (!a1->base->pst_field_8_0) + if (!palStruct->template->pst_field_8_0) { - while (i < a1->base->size) + while (i < palStruct->template->size) { - gPlttBufferUnfaded[a1->destOffset] = a1->base->src[srcOffset]; - gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; - ++i; - ++a1->destOffset; - ++srcOffset; + gPlttBufferUnfaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; + gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; + i++; + palStruct->destOffset++; + srcOffset++; } } else { - while (i < a1->base->size) + while (i < palStruct->template->size) { - gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; - ++i; - ++a1->destOffset; - ++srcOffset; + gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset]; + i++; + palStruct->destOffset++; + srcOffset++; } } - a1->destOffset = a1->baseDestOffset; - a1->ps_field_8 = a1->base->pst_field_A; - ++a1->srcIndex; - srcIndex = a1->srcIndex; - srcCount = a1->base->srcCount; + palStruct->destOffset = palStruct->baseDestOffset; + palStruct->countdown1 = palStruct->template->time1; + palStruct->srcIndex++; + srcIndex = palStruct->srcIndex; + srcCount = palStruct->template->srcCount; if (srcIndex >= srcCount) { - if (a1->ps_field_9) - --a1->ps_field_9; - a1->srcIndex = 0; + if (palStruct->countdown2) + palStruct->countdown2--; + palStruct->srcIndex = 0; } - *a2 |= 1 << (a1->baseDestOffset >> 4); + *unkFlags |= 1 << (palStruct->baseDestOffset >> 4); } -// not used -static void sub_80708F4(struct PaletteStruct *a1, u32 *a2) +static void PaletteStruct_Blend(struct PaletteStruct *palStruct, u32 *unkFlags) { - if (gPaletteFade.active && ((1 << (a1->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes)) + if (gPaletteFade.active && ((1 << (palStruct->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes)) { - if (!a1->base->pst_field_8_0) + if (!palStruct->template->pst_field_8_0) { if (gPaletteFade.delayCounter != gPaletteFade_delay) - BlendPalette(a1->baseDestOffset, - a1->base->size, + BlendPalette(palStruct->baseDestOffset, + palStruct->template->size, gPaletteFade.y, gPaletteFade.blendColor); } @@ -286,65 +286,64 @@ static void sub_80708F4(struct PaletteStruct *a1, u32 *a2) { if (!gPaletteFade.delayCounter) { - if (a1->ps_field_8 != a1->base->pst_field_A) + if (palStruct->countdown1 != palStruct->template->time1) { - u32 srcOffset = a1->srcIndex * a1->base->size; + u32 srcOffset = palStruct->srcIndex * palStruct->template->size; u8 i; - for (i = 0; i < a1->base->size; ++i) - gPlttBufferFaded[a1->baseDestOffset + i] = a1->base->src[srcOffset + i]; + for (i = 0; i < palStruct->template->size; i++) + gPlttBufferFaded[palStruct->baseDestOffset + i] = palStruct->template->src[srcOffset + i]; } } } } } -// not used -static void sub_80709B4(struct PaletteStruct *a1) +static void PaletteStruct_TryEnd(struct PaletteStruct *palStruct) { - if (!a1->ps_field_9) + if (!palStruct->countdown2) { - s32 val = a1->base->pst_field_B_5; + s32 state = palStruct->template->state; - if (!val) + if (state == 0) { - a1->srcIndex = 0; - a1->ps_field_8 = a1->base->pst_field_A; - a1->ps_field_9 = a1->base->pst_field_C; - a1->destOffset = a1->baseDestOffset; + palStruct->srcIndex = 0; + palStruct->countdown1 = palStruct->template->time1; + palStruct->countdown2 = palStruct->template->time2; + palStruct->destOffset = palStruct->baseDestOffset; } else { - if (val < 0) + if (state < 0) return; - if (val > 2) + if (state > 2) return; - PaletteStruct_ResetById(a1->base->uid); + PaletteStruct_ResetById(palStruct->template->id); } } else { - --a1->ps_field_9; + palStruct->countdown2--; } } -void PaletteStruct_ResetById(u16 a1) +void PaletteStruct_ResetById(u16 id) { - u8 paletteNum = GetPaletteNumByUid(a1); - if (paletteNum != 16) - ResetPaletteStruct(paletteNum); + u8 paletteNum = PaletteStruct_GetPalNum(id); + if (paletteNum != NUM_PALETTE_STRUCTS) + PaletteStruct_Reset(paletteNum); } -void ResetPaletteStruct(u8 paletteNum) +static void PaletteStruct_Reset(u8 paletteNum) { - sPaletteStructs[paletteNum].base = &gDummyPaletteStructTemplate; - sPaletteStructs[paletteNum].ps_field_4_0 = 0; + sPaletteStructs[paletteNum].template = &sDummyPaletteStructTemplate; + sPaletteStructs[paletteNum].active = FALSE; sPaletteStructs[paletteNum].baseDestOffset = 0; sPaletteStructs[paletteNum].destOffset = 0; sPaletteStructs[paletteNum].srcIndex = 0; - sPaletteStructs[paletteNum].ps_field_4_1 = 0; - sPaletteStructs[paletteNum].ps_field_8 = 0; - sPaletteStructs[paletteNum].ps_field_9 = 0; + sPaletteStructs[paletteNum].flag = FALSE; + sPaletteStructs[paletteNum].countdown1 = 0; + sPaletteStructs[paletteNum].countdown2 = 0; } void ResetPaletteFadeControl(void) @@ -367,31 +366,28 @@ void ResetPaletteFadeControl(void) gPaletteFade.deltaY = 2; } -// not used -static void sub_8070AFC(u16 uid) +static void PaletteStruct_SetUnusedFlag(u16 id) { - u8 paletteNum = GetPaletteNumByUid(uid); - if (paletteNum != 16) - sPaletteStructs[paletteNum].ps_field_4_1 = 1; + u8 paletteNum = PaletteStruct_GetPalNum(id); + if (paletteNum != NUM_PALETTE_STRUCTS) + sPaletteStructs[paletteNum].flag = TRUE; } -// not used -static void sub_8070B28(u16 uid) +static void PaletteStruct_ClearUnusedFlag(u16 id) { - u8 paletteNum = GetPaletteNumByUid(uid); - if (paletteNum != 16) - sPaletteStructs[paletteNum].ps_field_4_1 = 0; + u8 paletteNum = PaletteStruct_GetPalNum(id); + if (paletteNum != NUM_PALETTE_STRUCTS) + sPaletteStructs[paletteNum].flag = FALSE; } -// not used -static u8 GetPaletteNumByUid(u16 uid) +static u8 PaletteStruct_GetPalNum(u16 id) { u8 i; - for (i = 0; i < NUM_PALETTE_STRUCTS; ++i) - if (sPaletteStructs[i].base->uid == uid) + for (i = 0; i < NUM_PALETTE_STRUCTS; i++) + if (sPaletteStructs[i].template->id == id) return i; - return 16; + return NUM_PALETTE_STRUCTS; } static u8 UpdateNormalPaletteFade(void) @@ -411,7 +407,7 @@ static u8 UpdateNormalPaletteFade(void) { if (gPaletteFade.delayCounter < gPaletteFade_delay) { - ++gPaletteFade.delayCounter; + gPaletteFade.delayCounter++; return 2; } gPaletteFade.delayCounter = 0; @@ -708,25 +704,25 @@ static u8 UpdateHardwarePaletteFade(void) return PALETTE_FADE_STATUS_DONE; if (gPaletteFade.delayCounter < gPaletteFade_delay) { - ++gPaletteFade.delayCounter; + gPaletteFade.delayCounter++; return PALETTE_FADE_STATUS_DELAY; } gPaletteFade.delayCounter = 0; if (!gPaletteFade.yDec) { - ++gPaletteFade.y; + gPaletteFade.y++; if (gPaletteFade.y > gPaletteFade.targetY) { - ++gPaletteFade.hardwareFadeFinishing; - --gPaletteFade.y; + gPaletteFade.hardwareFadeFinishing++; + gPaletteFade.y--; } } else { if (gPaletteFade.y-- - 1 < gPaletteFade.targetY) { - ++gPaletteFade.hardwareFadeFinishing; - ++gPaletteFade.y; + gPaletteFade.hardwareFadeFinishing++; + gPaletteFade.y++; } } @@ -770,7 +766,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void) } else { - ++gPaletteFade.softwareFadeFinishingCounter; + gPaletteFade.softwareFadeFinishingCounter++; } return TRUE; } @@ -806,11 +802,11 @@ void TintPalette_GrayScale(u16 *palette, u16 count) for (i = 0; i < count; ++i) { - r = (*palette >> 0) & 0x1F; - g = (*palette >> 5) & 0x1F; - b = (*palette >> 10) & 0x1F; + r = GET_R(*palette); + g = GET_G(*palette); + b = GET_B(*palette); gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; - *palette++ = (gray << 10) | (gray << 5) | (gray << 0); + *palette++ = RGB2(gray, gray, gray); } } @@ -821,15 +817,15 @@ void TintPalette_GrayScale2(u16 *palette, u16 count) for (i = 0; i < count; ++i) { - r = (*palette >> 0) & 0x1F; - g = (*palette >> 5) & 0x1F; - b = (*palette >> 10) & 0x1F; + r = GET_R(*palette); + g = GET_G(*palette); + b = GET_B(*palette); gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; - if (gray > 0x1F) - gray = 0x1F; + if (gray > 31) + gray = 31; gray = sRoundedDownGrayscaleMap[gray]; - *palette++ = (gray << 10) | (gray << 5) | (gray << 0); + *palette++ = RGB2(gray, gray, gray); } } @@ -840,16 +836,16 @@ void TintPalette_SepiaTone(u16 *palette, u16 count) for (i = 0; i < count; ++i) { - r = (*palette >> 0) & 0x1F; - g = (*palette >> 5) & 0x1F; - b = (*palette >> 10) & 0x1F; + r = GET_R(*palette); + g = GET_G(*palette); + b = GET_B(*palette); gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; r = (u16)((Q_8_8(1.2) * gray)) >> 8; g = (u16)((Q_8_8(1.0) * gray)) >> 8; b = (u16)((Q_8_8(0.94) * gray)) >> 8; if (r > 31) r = 31; - *palette++ = (b << 10) | (g << 5) | (r << 0); + *palette++ = RGB2(r, g, b); } } @@ -860,9 +856,9 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b for (i = 0; i < count; ++i) { - r = (*palette >> 0) & 0x1F; - g = (*palette >> 5) & 0x1F; - b = (*palette >> 10) & 0x1F; + r = GET_R(*palette); + g = GET_G(*palette); + b = GET_B(*palette); gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; r = (u16)((rTone * gray)) >> 8; g = (u16)((gTone * gray)) >> 8; @@ -873,116 +869,126 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b g = 31; if (b > 31) b = 31; - *palette++ = (b << 10) | (g << 5) | (r << 0); + *palette++ = RGB2(r, g, b); } } -void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4) +void CopyPaletteInvertedTint(const u16 *src, u16 *dst, u16 count, u8 tone) { s32 r, g, b, i; u32 gray; - if (!a4) + if (!tone) { - for (i = 0; i < count; ++i) + for (i = 0; i < count; i++) *dst++ = *src++; } else { - for (i = 0; i < count; ++src, ++dst, ++i) + for (i = 0; i < count; src++, dst++, i++) { - r = (*src >> 0) & 0x1F; - g = (*src >> 5) & 0x1F; - b = (*src >> 10) & 0x1F; + r = GET_R(*src); + g = GET_G(*src); + b = GET_B(*src); gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; - r += (a4 * (gray - r) >> 4); - g += (a4 * (gray - g) >> 4); - b += (a4 * (gray - b) >> 4); - *dst = (b << 10) | (g << 5) | (r << 0); + r += (tone * (gray - r) >> 4); + g += (tone * (gray - g) >> 4); + b += (tone * (gray - b) >> 4); + *dst = RGB2(r, g, b); } } } -void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7) +#define tCoeff data[0] +#define tCoeffTarget data[1] +#define tCoeffDelta data[2] +#define tDelay data[3] +#define tDelayTimer data[4] +#define IDX_PALETTES 5 // data[5] and data[6], set/get via Set/GetWordTaskArg +#define tColor data[7] +#define tId data[8] + +// Blend the selected palettes in a series of steps toward or away from the color. +void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id) { u8 taskId; - taskId = CreateTask(sub_80718B8, a6); - gTasks[taskId].data[0] = a3; - gTasks[taskId].data[1] = a4; - if (a2 >= 0) + taskId = CreateTask(Task_BlendPalettesGradually, priority); + gTasks[taskId].tCoeff = coeff; + gTasks[taskId].tCoeffTarget = coeffTarget; + if (delay >= 0) { - gTasks[taskId].data[3] = a2; - gTasks[taskId].data[2] = 1; + gTasks[taskId].tDelay = delay; + gTasks[taskId].tCoeffDelta = 1; } else { - gTasks[taskId].data[3] = 0; - gTasks[taskId].data[2] = -a2 + 1; + gTasks[taskId].tDelay = 0; + gTasks[taskId].tCoeffDelta = -delay + 1; } - if (a4 < a3) - gTasks[taskId].data[2] *= -1; - SetWordTaskArg(taskId, 5, a1); - gTasks[taskId].data[7] = a5; - gTasks[taskId].data[8] = a7; + if (coeffTarget < coeff) + gTasks[taskId].tCoeffDelta *= -1; + SetWordTaskArg(taskId, IDX_PALETTES, selectedPalettes); + gTasks[taskId].tColor = color; + gTasks[taskId].tId = id; gTasks[taskId].func(taskId); } -bool32 sub_807185C(u8 var) +bool32 IsBlendPalettesGraduallyTaskActive(u8 id) { s32 i; for (i = 0; i < NUM_TASKS; ++i) if (gTasks[i].isActive == TRUE - && gTasks[i].func == sub_80718B8 - && gTasks[i].data[8] == var) + && gTasks[i].func == Task_BlendPalettesGradually + && gTasks[i].tId == id) return TRUE; return FALSE; } -void sub_8071898(void) +void DestroyBlendPalettesGraduallyTask(void) { u8 taskId; while (TRUE) { - taskId = FindTaskIdByFunc(sub_80718B8); - if (taskId == TAIL_SENTINEL) + taskId = FindTaskIdByFunc(Task_BlendPalettesGradually); + if (taskId == TASK_NONE) break; DestroyTask(taskId); } } -static void sub_80718B8(u8 taskId) +static void Task_BlendPalettesGradually(u8 taskId) { - u32 wordVar; + u32 palettes; s16 *data; - s16 temp; + s16 target; data = gTasks[taskId].data; - wordVar = GetWordTaskArg(taskId, 5); - if (++data[4] > data[3]) + palettes = GetWordTaskArg(taskId, IDX_PALETTES); + if (++tDelayTimer > tDelay) { - data[4] = 0; - BlendPalettes(wordVar, data[0], data[7]); - temp = data[1]; - if (data[0] == temp) + tDelayTimer = 0; + BlendPalettes(palettes, tCoeff, tColor); + target = tCoeffTarget; + if (tCoeff == target) { DestroyTask(taskId); } else { - data[0] += data[2]; - if (data[2] >= 0) + tCoeff += tCoeffDelta; + if (tCoeffDelta >= 0) { - if (data[0] < temp) + if (tCoeff < target) return; } - else if (data[0] > temp) + else if (tCoeff > target) { return; } - data[0] = temp; + tCoeff = target; } } } diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index 4ea4e1d1b..b0d466704 100644 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -3532,8 +3532,8 @@ static const u8 sVenusaurStates[] = { [VINE_UPSWING_HIGHER] = VENUSAUR_UP, }; -static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gUnknown_8479688, 0, TAG_DIGITS}; -static const struct SpritePalette sSpritePalette_Digits = {gUnknown_8479668, TAG_DIGITS}; +static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gMinigameDigits_Gfx, 0, TAG_DIGITS}; +static const struct SpritePalette sSpritePalette_Digits = {gMinigameDigits_Pal, TAG_DIGITS}; static const u16 sPlayerNameWindowCoords_2Players[] = { 6, 8, diff --git a/src/pokemon_special_anim_scene.c b/src/pokemon_special_anim_scene.c index 536f79bc9..ea853322a 100644 --- a/src/pokemon_special_anim_scene.c +++ b/src/pokemon_special_anim_scene.c @@ -8,6 +8,7 @@ #include "menu.h" #include "new_menu_helpers.h" #include "pokemon_special_anim_internal.h" +#include "random.h" #include "strings.h" #include "text_window.h" #include "trig.h" @@ -1308,7 +1309,7 @@ static void Task_UseItem_OutwardSpiralDots(u8 taskId) static u16 PSAScene_RandomFromTask(u8 taskId) { u32 state = GetWordTaskArg(taskId, tOff_RngState); - state = state * 1103515245 + 24691; + state = ISO_RANDOMIZE1(state); SetWordTaskArg(taskId, tOff_RngState, state); return state >> 16; } @@ -1446,8 +1447,7 @@ static void CreateLevelUpVerticalSprite(u8 taskId, s16 *data) { gSprites[spriteId].oam.priority = tPriority; gSprites[spriteId].tsYsubpixel = 0; - // similar to the LCRNG in random.c, but seeding from data[2] - gSprites[spriteId].tsSpeed = ((tMadeSprCt * 1103515245 + 24691) & 0x3F) + 0x20; + gSprites[spriteId].tsSpeed = (ISO_RANDOMIZE1(tMadeSprCt) & 0x3F) + 0x20; gSprites[spriteId].tsTaskId = taskId; tActiveSprCt++; } diff --git a/src/quest_log.c b/src/quest_log.c index 8a6a835fa..35a3e43c8 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1199,8 +1199,8 @@ static bool8 sub_81121D8(u8 taskId) if (data[1] > 15) return TRUE; - sub_80716F8(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]); - sub_80716F8(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]); + CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]); + CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]); FillWindowPixelRect(sQuestLogHeaderWindowIds[0], 0x00, 0, sQuestLogHeaderWindowTemplates[0].height * 8 - 1 - data[1], sQuestLogHeaderWindowTemplates[0].width * 8, 1); FillWindowPixelRect(sQuestLogHeaderWindowIds[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1); CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX); diff --git a/src/shop.c b/src/shop.c index 51ee68ebe..39812fa28 100644 --- a/src/shop.c +++ b/src/shop.c @@ -594,7 +594,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s if (item != INDEX_CANCEL) CreateItemMenuIcon(item, gShopData.itemSlot); else - CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot); + CreateItemMenuIcon(ITEMS_COUNT, gShopData.itemSlot); gShopData.itemSlot ^= 1; BuyMenuPrint(5, FONT_2, description, 0, 3, 2, 1, 0, 0); @@ -751,9 +751,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = MapGridGetMetatileLayerTypeAt(x + i, y + j); if (metatile < NUM_METATILES_IN_PRIMARY) - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); else - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); } } } diff --git a/src/sprite.c b/src/sprite.c index 482003a5f..5b1ea5e4b 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -5,6 +5,9 @@ #define OAM_MATRIX_COUNT 32 +#define sAnchorX data[6] +#define sAnchorY data[7] + #define SET_SPRITE_TILE_RANGE(index, start, count) \ { \ sSpriteTileRanges[index * 2] = start; \ @@ -83,7 +86,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC static u8 IndexOfSpriteTileTag(u16 tag); static void AllocSpriteTileRange(u16 tag, u16 start, u16 count); static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset); -static void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2); +static void UpdateSpriteMatrixAnchorPos(struct Sprite* sprite, s32 a1, s32 a2); typedef void (*AnimFunc)(struct Sprite *); typedef void (*AnimCmdFunc)(struct Sprite *); @@ -161,41 +164,11 @@ static const struct Sprite sDummySprite = { .oam = DUMMY_OAM_DATA, .anims = gDummySpriteAnimTable, - .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .template = &gDummySpriteTemplate, - .subspriteTables = NULL, .callback = SpriteCallbackDummy, - .x = 304, .y = 160, - .x2 = 0, .y2 = 0, - .centerToCornerVecX = 0, - .centerToCornerVecY = 0, - .animNum = 0, - .animCmdIndex = 0, - .animDelayCounter = 0, - .animPaused = 0, - .affineAnimPaused = 0, - .animLoopCounter = 0, - .data = {0, 0, 0, 0, 0, 0, 0}, - .inUse = 0, - .coordOffsetEnabled = 0, - .invisible = 0, - .flags_3 = 0, - .flags_4 = 0, - .flags_5 = 0, - .flags_6 = 0, - .flags_7 = 0, - .hFlip = 0, - .vFlip = 0, - .animBeginning = 0, - .affineAnimBeginning = 0, - .animEnded = 0, - .affineAnimEnded = 0, - .usingSheet = 0, - .flags_f = 0, - .sheetTileStart = 0, - .subspriteTableNum = 0, - .subspriteMode = 0, + .x = DISPLAY_WIDTH + 64, + .y = DISPLAY_HEIGHT, .subpriority = 0xFF }; @@ -212,7 +185,7 @@ const union AffineAnimCmd * const gDummySpriteAffineAnimTable[] = { &sDummyAffin const struct SpriteTemplate gDummySpriteTemplate = { .tileTag = 0, - .paletteTag = 0xFFFF, + .paletteTag = TAG_NONE, .oam = &gDummyOamData, .anims = gDummySpriteAnimTable, .images = NULL, @@ -1099,8 +1072,8 @@ void BeginAffineAnim(struct Sprite *sprite) sprite->affineAnimEnded = FALSE; ApplyAffineAnimFrame(matrixNum, &frameCmd); sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration; - if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); + if (sprite->anchored) + UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY); } } @@ -1125,8 +1098,8 @@ void ContinueAffineAnim(struct Sprite *sprite) funcIndex = type - 32765; sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite); } - if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); + if (sprite->anchored) + UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY); } } @@ -1220,14 +1193,14 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite) return matrixNum; } -void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod) +void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y) { - sprite->data[6] = xmod; - sprite->data[7] = ymod; - sprite->flags_f = 1; + sprite->sAnchorX = x; + sprite->sAnchorY = y; + sprite->anchored = TRUE; } -static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier) +static s32 GetAnchorCoord(s32 baseDim, s32 xformed, s32 modifier) { s32 subResult, shiftResult; @@ -1239,24 +1212,24 @@ static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier) return modifier - ((u32)(modifier * xformed) / (u32)(baseDim) + shiftResult); } -static void obj_update_pos2(struct Sprite *sprite, s32 xmod, s32 ymod) +static void UpdateSpriteMatrixAnchorPos(struct Sprite *sprite, s32 x, s32 y) { s32 dim, baseDim, xFormed; u32 matrixNum = sprite->oam.matrixNum; - if (xmod != 0x800) + if (x != NO_ANCHOR) { dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][0]; baseDim = dim << 8; xFormed = (dim << 16) / gOamMatrices[matrixNum].a; - sprite->x2 = affine_get_new_pos2(baseDim, xFormed, xmod); + sprite->x2 = GetAnchorCoord(baseDim, xFormed, x); } - if (ymod != 0x800) + if (y != NO_ANCHOR) { dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][1]; baseDim = dim << 8; xFormed = (dim << 16) / gOamMatrices[matrixNum].d; - sprite->y2 = affine_get_new_pos2(baseDim, xFormed, ymod); + sprite->y2 = GetAnchorCoord(baseDim, xFormed, y); } } diff --git a/src/teachy_tv.c b/src/teachy_tv.c index b3985d676..3c3729d04 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -96,7 +96,7 @@ static void TeachyTvRestorePlayerPartyCallback(void); static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId); static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size); static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapLayout *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset); -static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); +static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(const u16 *metaTilesArray, u8 *blockBuf, u8 *tileset); static void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile); static u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile); static void TeachyTvLoadMapPalette(const struct MapLayout * mStruct, const u8 *palIndexArray); @@ -1225,12 +1225,12 @@ static void TeachyTvLoadBg3Map(u16 *buffer) u16 numMapTilesRows = 0; const struct MapLayout *layout = &Route1_Layout; u16 * blockIndicesBuffer = AllocZeroed(0x800); - tilesetsBuffer = AllocZeroed(0x8000); + tilesetsBuffer = AllocZeroed(NUM_TILES_TOTAL * TILE_SIZE_4BPP); palIndicesBuffer = Alloc(16); memset(palIndicesBuffer, 0xFF, 16); - TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, tilesetsBuffer, 0x280); - TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, tilesetsBuffer + 0x5000, 0x180); + TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, tilesetsBuffer, NUM_TILES_IN_PRIMARY); + TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, tilesetsBuffer + NUM_TILES_IN_PRIMARY * TILE_SIZE_4BPP, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY); for (i = 0; i < 9; i++) { @@ -1258,14 +1258,10 @@ static void TeachyTvLoadBg3Map(u16 *buffer) for (i = 0; i < numMapTilesRows; i++) { memset(mapTilesRowBuffer, 0, 0x80); - if (blockIndicesBuffer[i] < 0x280) - { - TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->primaryTileset->metatiles + blockIndicesBuffer[i] * 16, mapTilesRowBuffer, tilesetsBuffer); - } + if (blockIndicesBuffer[i] < NUM_METATILES_IN_PRIMARY) + TeachyTvComputeMapTilesFromTilesetAndMetaTiles((const void *)layout->primaryTileset->metatiles + blockIndicesBuffer[i] * 16, mapTilesRowBuffer, tilesetsBuffer); else - { - TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->secondaryTileset->metatiles + (blockIndicesBuffer[i] - 0x280) * 16, mapTilesRowBuffer, tilesetsBuffer); - } + TeachyTvComputeMapTilesFromTilesetAndMetaTiles((const void *)layout->secondaryTileset->metatiles + (blockIndicesBuffer[i] - NUM_METATILES_IN_PRIMARY) * 16, mapTilesRowBuffer, tilesetsBuffer); CpuFastCopy(mapTilesRowBuffer, bgTilesBuffer + i * 0x40, 0x80); } @@ -1292,14 +1288,18 @@ static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u1 static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapLayout *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset) { - u16 * metaTileEntryAddr = mapEntry < 0x280 ? &((u16 *)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16 *)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)]; + const u16 * metaTileEntryAddr; + if (mapEntry < NUM_METATILES_IN_PRIMARY) + metaTileEntryAddr = &mStruct->primaryTileset->metatiles[8 * mapEntry]; + else + metaTileEntryAddr = &mStruct->secondaryTileset->metatiles[8 * (mapEntry - NUM_METATILES_IN_PRIMARY)]; buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset; buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1; buf1[32] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2; buf1[33] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3; } -static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) +static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(const u16 *metaTilesArray, u8 *blockBuf, u8 *tileset) { TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (*metaTilesArray & 0x3FF)], (*metaTilesArray >> 10) & 3); TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[4] & 0x3FF)], (metaTilesArray[4] >> 10) & 3); @@ -1384,16 +1384,16 @@ static void TeachyTvLoadMapPalette(const struct MapLayout * mStruct, const u8 * { u8 i; const struct Tileset * ts; - u16 * dest; + const u16 * dest; for (i = 0; i < 16; i++) { if (palIndexArray[i] == 0xFF) break; - if (palIndexArray[i] > 6) - dest = (u16 *)mStruct->secondaryTileset->palettes + 0x10 * palIndexArray[i]; + if (palIndexArray[i] >= NUM_PALS_IN_PRIMARY) + dest = mStruct->secondaryTileset->palettes[palIndexArray[i]]; else - dest = (u16 *)mStruct->primaryTileset->palettes + 0x10 * palIndexArray[i]; + dest = mStruct->primaryTileset->palettes[palIndexArray[i]]; LoadPalette(dest, 0x10 * (15 - i), 0x20); } } diff --git a/src/tilesets.c b/src/tilesets.c new file mode 100644 index 000000000..2cc1da81d --- /dev/null +++ b/src/tilesets.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "tilesets.h" +#include "tileset_anims.h" + +#include "data/tilesets/graphics.h" +#include "data/tilesets/metatiles.h" +#include "data/tilesets/headers.h" diff --git a/src/title_screen.c b/src/title_screen.c index c2aefa0bc..eb65b00f7 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -9,6 +9,7 @@ #include "intro.h" #include "load_save.h" #include "new_game.h" +#include "random.h" #include "save.h" #include "main_menu.h" #include "clear_save_data_screen.h" @@ -518,15 +519,15 @@ static void SetTitleScreenScene_FadeIn(s16 * data) if (data[2] > 36) { CreateTask(Task_TitleScreen_SlideWin0, 3); - sub_80717A8(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); data[2] = 0; data[1]++; } break; case 4: - if (!sub_807185C(0)) + if (!IsBlendPalettesGraduallyTaskActive(0)) { - sub_80717A8(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); data[1]++; } break; @@ -535,14 +536,14 @@ static void SetTitleScreenScene_FadeIn(s16 * data) if (data[2] > 20) { data[2] = 0; - sub_80717A8(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); data[1]++; } break; case 6: - if (!sub_807185C(0)) + if (!IsBlendPalettesGraduallyTaskActive(0)) { - sub_80717A8(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); data[1]++; } break; @@ -551,12 +552,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data) if (data[2] > 20) { data[2] = 0; - sub_80717A8(0x2000, -3, 0x00, 0x10, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, -3, 0x00, 0x10, RGB(30, 30, 31), 0, 0); data[1]++; } break; case 8: - if (!sub_807185C(0)) + if (!IsBlendPalettesGraduallyTaskActive(0)) { data[5] = 1; r4 = (0x10000 << CreateBlankSprite()) | 0x00001FFF; @@ -564,12 +565,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data) BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31)); ShowBg(0); CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 0x20); - sub_80717A8(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); + BlendPalettesGradually(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); data[1]++; } break; case 9: - if (!sub_807185C(0) && !gPaletteFade.active) + if (!IsBlendPalettesGraduallyTaskActive(0) && !gPaletteFade.active) { SetTitleScreenScene(data, TITLESCREENSCENE_RUN); } @@ -662,7 +663,7 @@ static void SetTitleScreenScene_Restart(s16 * data) case 4: HelpSystem_Disable(); DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); - SetMainCallback2(CB2_CopyrightScreen); + SetMainCallback2(CB2_InitCopyrightScreenAfterTitleScreen); break; } } @@ -871,7 +872,7 @@ static void LoadMainTitleScreenPalsAndResetBgs(void) if (taskId != 0xFF) DestroyTask(taskId); - sub_8071898(); + DestroyBlendPalettesGraduallyTask(); ResetPaletteFadeControl(); LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0); LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); @@ -896,7 +897,7 @@ static void CB2_FadeOutTransitionToBerryFix(void) if (!UpdatePaletteFade()) { m4aMPlayAllStop(); - SetMainCallback2(mb_berry_fix_serve); + SetMainCallback2(CB2_InitBerryFixProgram); } } @@ -1121,7 +1122,7 @@ static u16 TitleScreen_rand(u8 taskId, u8 field) u32 rngval; rngval = GetWordTaskArg(taskId, field); - rngval = rngval * 1103515245 + 24691; + rngval = ISO_RANDOMIZE1(rngval); SetWordTaskArg(taskId, field, rngval); return rngval >> 16; } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index d3f076c43..288a6b235 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3,6 +3,7 @@ #include "wild_encounter.h" #include "event_data.h" #include "fieldmap.h" +#include "random.h" #include "roamer.h" #include "field_player_avatar.h" #include "battle_setup.h" @@ -109,13 +110,6 @@ static u8 ChooseWildMonIndex_WaterRock(void) return 4; } -enum -{ - OLD_ROD, - GOOD_ROD, - SUPER_ROD -}; - static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; @@ -668,8 +662,7 @@ void SeedWildEncounterRng(u16 seed) static u16 WildEncounterRandom(void) { - sWildEncounterData.rngState *= 1103515245; - sWildEncounterData.rngState += 12345; + sWildEncounterData.rngState = ISO_RANDOMIZE2(sWildEncounterData.rngState); return sWildEncounterData.rngState >> 16; }