diff --git a/Makefile b/Makefile index 711a4d785..8b86cc3eb 100755 --- a/Makefile +++ b/Makefile @@ -196,6 +196,7 @@ tidy: $(RM) -f $(MOVE_DATA) $(RM) -f $(MONSTER_DATA) $(RM) -f $(LEARNSET_DATA) + $(RM) -f $(LEARNSET_PTRS) $(RM) -f $(DUNGEON_FLOOR) $(RM) -f $(DUNGEON_POKEMON) $(RM) -f $(DUNGEON_TRAP) @@ -219,7 +220,7 @@ $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c $(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c @$(call scaninc,$(INCLUDE_PATHS)) -$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s dungeon_pokemon dungeon_floor dungeon_trap data_monster data_item data_move data_learnset +$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s dungeon_pokemon dungeon_floor dungeon_trap data_monster data_item data_move data_learnset data_learnset_ptrs @$(CPP) -x assembler-with-cpp $(CPPFLAGS) $< -o $(DATA_ASM_BUILDDIR)/$*.i.s @$(PREPROC) $(DATA_ASM_BUILDDIR)/$*.i.s charmap.txt > $(DATA_ASM_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(DATA_ASM_BUILDDIR)/$*.s diff --git a/data/monster/learnset/.gitignore b/data/monster/learnset/.gitignore index 7c787c2af..9c1cb50f9 100644 --- a/data/monster/learnset/.gitignore +++ b/data/monster/learnset/.gitignore @@ -1 +1,2 @@ learnset_data.inc +learnset_ptrs.s diff --git a/data/monster/learnset/learnset_ptrs.s b/data/monster/learnset/learnset_ptrs.s deleted file mode 100644 index 54a8bfaa5..000000000 --- a/data/monster/learnset/learnset_ptrs.s +++ /dev/null @@ -1,840 +0,0 @@ -.4byte 0 -.4byte 0 -.4byte LevelUpMovesBulbasaur -.4byte HMTMMovesBulbasaur -.4byte LevelUpMovesIvysaur -.4byte HMTMMovesIvysaur -.4byte LevelUpMovesVenusaur -.4byte HMTMMovesVenusaur -.4byte LevelUpMovesCharmander -.4byte HMTMMovesCharmander -.4byte LevelUpMovesCharmeleon -.4byte HMTMMovesCharmeleon -.4byte LevelUpMovesCharizard -.4byte HMTMMovesCharizard -.4byte LevelUpMovesSquirtle -.4byte HMTMMovesSquirtle -.4byte LevelUpMovesWartortle -.4byte HMTMMovesWartortle -.4byte LevelUpMovesBlastoise -.4byte HMTMMovesBlastoise -.4byte LevelUpMovesCaterpie -.4byte HMTMMovesCaterpie -.4byte LevelUpMovesMetapod -.4byte HMTMMovesMetapod -.4byte LevelUpMovesButterfree -.4byte HMTMMovesButterfree -.4byte LevelUpMovesWeedle -.4byte HMTMMovesWeedle -.4byte LevelUpMovesKakuna -.4byte HMTMMovesKakuna -.4byte LevelUpMovesBeedrill -.4byte HMTMMovesBeedrill -.4byte LevelUpMovesPidgey -.4byte HMTMMovesPidgey -.4byte LevelUpMovesPidgeotto -.4byte HMTMMovesPidgeotto -.4byte LevelUpMovesPidgeot -.4byte HMTMMovesPidgeot -.4byte LevelUpMovesRattata -.4byte HMTMMovesRattata -.4byte LevelUpMovesRaticate -.4byte HMTMMovesRaticate -.4byte LevelUpMovesSpearow -.4byte HMTMMovesSpearow -.4byte LevelUpMovesFearow -.4byte HMTMMovesFearow -.4byte LevelUpMovesEkans -.4byte HMTMMovesEkans -.4byte LevelUpMovesArbok -.4byte HMTMMovesArbok -.4byte LevelUpMovesPikachu -.4byte HMTMMovesPikachu -.4byte LevelUpMovesRaichu -.4byte HMTMMovesRaichu -.4byte LevelUpMovesSandshrew -.4byte HMTMMovesSandshrew -.4byte LevelUpMovesSandslash -.4byte HMTMMovesSandslash -.4byte LevelUpMovesNidoran_F -.4byte HMTMMovesNidoran_F -.4byte LevelUpMovesNidorina -.4byte HMTMMovesNidorina -.4byte LevelUpMovesNidoqueen -.4byte HMTMMovesNidoqueen -.4byte LevelUpMovesNidoran_M -.4byte HMTMMovesNidoran_M -.4byte LevelUpMovesNidorino -.4byte HMTMMovesNidorino -.4byte LevelUpMovesNidoking -.4byte HMTMMovesNidoking -.4byte LevelUpMovesClefairy -.4byte HMTMMovesClefairy -.4byte LevelUpMovesClefable -.4byte HMTMMovesClefable -.4byte LevelUpMovesVulpix -.4byte HMTMMovesVulpix -.4byte LevelUpMovesNinetales -.4byte HMTMMovesNinetales -.4byte LevelUpMovesJigglypuff -.4byte HMTMMovesJigglypuff -.4byte LevelUpMovesWigglytuff -.4byte HMTMMovesWigglytuff -.4byte LevelUpMovesZubat -.4byte HMTMMovesZubat -.4byte LevelUpMovesGolbat -.4byte HMTMMovesGolbat -.4byte LevelUpMovesOddish -.4byte HMTMMovesOddish -.4byte LevelUpMovesGloom -.4byte HMTMMovesGloom -.4byte LevelUpMovesVileplume -.4byte HMTMMovesVileplume -.4byte LevelUpMovesParas -.4byte HMTMMovesParas -.4byte LevelUpMovesParasect -.4byte HMTMMovesParasect -.4byte LevelUpMovesVenonat -.4byte HMTMMovesVenonat -.4byte LevelUpMovesVenomoth -.4byte HMTMMovesVenomoth -.4byte LevelUpMovesDiglett -.4byte HMTMMovesDiglett -.4byte LevelUpMovesDugtrio -.4byte HMTMMovesDugtrio -.4byte LevelUpMovesMeowth -.4byte HMTMMovesMeowth -.4byte LevelUpMovesPersian -.4byte HMTMMovesPersian -.4byte LevelUpMovesPsyduck -.4byte HMTMMovesPsyduck -.4byte LevelUpMovesGolduck -.4byte HMTMMovesGolduck -.4byte LevelUpMovesMankey -.4byte HMTMMovesMankey -.4byte LevelUpMovesPrimeape -.4byte HMTMMovesPrimeape -.4byte LevelUpMovesGrowlithe -.4byte HMTMMovesGrowlithe -.4byte LevelUpMovesArcanine -.4byte HMTMMovesArcanine -.4byte LevelUpMovesPoliwag -.4byte HMTMMovesPoliwag -.4byte LevelUpMovesPoliwhirl -.4byte HMTMMovesPoliwhirl -.4byte LevelUpMovesPoliwrath -.4byte HMTMMovesPoliwrath -.4byte LevelUpMovesAbra -.4byte HMTMMovesAbra -.4byte LevelUpMovesKadabra -.4byte HMTMMovesKadabra -.4byte LevelUpMovesAlakazam -.4byte HMTMMovesAlakazam -.4byte LevelUpMovesMachop -.4byte HMTMMovesMachop -.4byte LevelUpMovesMachoke -.4byte HMTMMovesMachoke -.4byte LevelUpMovesMachamp -.4byte HMTMMovesMachamp -.4byte LevelUpMovesBellsprout -.4byte HMTMMovesBellsprout -.4byte LevelUpMovesWeepinbell -.4byte HMTMMovesWeepinbell -.4byte LevelUpMovesVictreebel -.4byte HMTMMovesVictreebel -.4byte LevelUpMovesTentacool -.4byte HMTMMovesTentacool -.4byte LevelUpMovesTentacruel -.4byte HMTMMovesTentacruel -.4byte LevelUpMovesGeodude -.4byte HMTMMovesGeodude -.4byte LevelUpMovesGraveler -.4byte HMTMMovesGraveler -.4byte LevelUpMovesGolem -.4byte HMTMMovesGolem -.4byte LevelUpMovesPonyta -.4byte HMTMMovesPonyta -.4byte LevelUpMovesRapidash -.4byte HMTMMovesRapidash -.4byte LevelUpMovesSlowpoke -.4byte HMTMMovesSlowpoke -.4byte LevelUpMovesSlowbro -.4byte HMTMMovesSlowbro -.4byte LevelUpMovesMagnemite -.4byte HMTMMovesMagnemite -.4byte LevelUpMovesMagneton -.4byte HMTMMovesMagneton -.4byte LevelUpMovesFarfetch -.4byte HMTMMovesFarfetch -.4byte LevelUpMovesDoduo -.4byte HMTMMovesDoduo -.4byte LevelUpMovesDodrio -.4byte HMTMMovesDodrio -.4byte LevelUpMovesSeel -.4byte HMTMMovesSeel -.4byte LevelUpMovesDewgong -.4byte HMTMMovesDewgong -.4byte LevelUpMovesGrimer -.4byte HMTMMovesGrimer -.4byte LevelUpMovesMuk -.4byte HMTMMovesMuk -.4byte LevelUpMovesShellder -.4byte HMTMMovesShellder -.4byte LevelUpMovesCloyster -.4byte HMTMMovesCloyster -.4byte LevelUpMovesGastly -.4byte HMTMMovesGastly -.4byte LevelUpMovesHaunter -.4byte HMTMMovesHaunter -.4byte LevelUpMovesGengar -.4byte HMTMMovesGengar -.4byte LevelUpMovesOnix -.4byte HMTMMovesOnix -.4byte LevelUpMovesDrowzee -.4byte HMTMMovesDrowzee -.4byte LevelUpMovesHypno -.4byte HMTMMovesHypno -.4byte LevelUpMovesKrabby -.4byte HMTMMovesKrabby -.4byte LevelUpMovesKingler -.4byte HMTMMovesKingler -.4byte LevelUpMovesVoltorb -.4byte HMTMMovesVoltorb -.4byte LevelUpMovesElectrode -.4byte HMTMMovesElectrode -.4byte LevelUpMovesExeggcute -.4byte HMTMMovesExeggcute -.4byte LevelUpMovesExeggutor -.4byte HMTMMovesExeggutor -.4byte LevelUpMovesCubone -.4byte HMTMMovesCubone -.4byte LevelUpMovesMarowak -.4byte HMTMMovesMarowak -.4byte LevelUpMovesHitmonlee -.4byte HMTMMovesHitmonlee -.4byte LevelUpMovesHitmonchan -.4byte HMTMMovesHitmonchan -.4byte LevelUpMovesLickitung -.4byte HMTMMovesLickitung -.4byte LevelUpMovesKoffing -.4byte HMTMMovesKoffing -.4byte LevelUpMovesWeezing -.4byte HMTMMovesWeezing -.4byte LevelUpMovesRhyhorn -.4byte HMTMMovesRhyhorn -.4byte LevelUpMovesRhydon -.4byte HMTMMovesRhydon -.4byte LevelUpMovesChansey -.4byte HMTMMovesChansey -.4byte LevelUpMovesTangela -.4byte HMTMMovesTangela -.4byte LevelUpMovesKangaskhan -.4byte HMTMMovesKangaskhan -.4byte LevelUpMovesHorsea -.4byte HMTMMovesHorsea -.4byte LevelUpMovesSeadra -.4byte HMTMMovesSeadra -.4byte LevelUpMovesGoldeen -.4byte HMTMMovesGoldeen -.4byte LevelUpMovesSeaking -.4byte HMTMMovesSeaking -.4byte LevelUpMovesStaryu -.4byte HMTMMovesStaryu -.4byte LevelUpMovesStarmie -.4byte HMTMMovesStarmie -.4byte LevelUpMovesMrMime -.4byte HMTMMovesMrMime -.4byte LevelUpMovesScyther -.4byte HMTMMovesScyther -.4byte LevelUpMovesJynx -.4byte HMTMMovesJynx -.4byte LevelUpMovesElectabuzz -.4byte HMTMMovesElectabuzz -.4byte LevelUpMovesMagmar -.4byte HMTMMovesMagmar -.4byte LevelUpMovesPinsir -.4byte HMTMMovesPinsir -.4byte LevelUpMovesTauros -.4byte HMTMMovesTauros -.4byte LevelUpMovesMagikarp -.4byte HMTMMovesMagikarp -.4byte LevelUpMovesGyarados -.4byte HMTMMovesGyarados -.4byte LevelUpMovesLapras -.4byte HMTMMovesLapras -.4byte LevelUpMovesDitto -.4byte HMTMMovesDitto -.4byte LevelUpMovesEevee -.4byte HMTMMovesEevee -.4byte LevelUpMovesVaporeon -.4byte HMTMMovesVaporeon -.4byte LevelUpMovesJolteon -.4byte HMTMMovesJolteon -.4byte LevelUpMovesFlareon -.4byte HMTMMovesFlareon -.4byte LevelUpMovesPorygon -.4byte HMTMMovesPorygon -.4byte LevelUpMovesOmanyte -.4byte HMTMMovesOmanyte -.4byte LevelUpMovesOmastar -.4byte HMTMMovesOmastar -.4byte LevelUpMovesKabuto -.4byte HMTMMovesKabuto -.4byte LevelUpMovesKabutops -.4byte HMTMMovesKabutops -.4byte LevelUpMovesAerodactyl -.4byte HMTMMovesAerodactyl -.4byte LevelUpMovesSnorlax -.4byte HMTMMovesSnorlax -.4byte LevelUpMovesArticuno -.4byte HMTMMovesArticuno -.4byte LevelUpMovesZapdos -.4byte HMTMMovesZapdos -.4byte LevelUpMovesMoltres -.4byte HMTMMovesMoltres -.4byte LevelUpMovesDratini -.4byte HMTMMovesDratini -.4byte LevelUpMovesDragonair -.4byte HMTMMovesDragonair -.4byte LevelUpMovesDragonite -.4byte HMTMMovesDragonite -.4byte LevelUpMovesMewtwo -.4byte HMTMMovesMewtwo -.4byte LevelUpMovesMew -.4byte HMTMMovesMew -.4byte LevelUpMovesChikorita -.4byte HMTMMovesChikorita -.4byte LevelUpMovesBayleef -.4byte HMTMMovesBayleef -.4byte LevelUpMovesMeganium -.4byte HMTMMovesMeganium -.4byte LevelUpMovesCyndaquil -.4byte HMTMMovesCyndaquil -.4byte LevelUpMovesQuilava -.4byte HMTMMovesQuilava -.4byte LevelUpMovesTyphlosion -.4byte HMTMMovesTyphlosion -.4byte LevelUpMovesTotodile -.4byte HMTMMovesTotodile -.4byte LevelUpMovesCroconaw -.4byte HMTMMovesCroconaw -.4byte LevelUpMovesFeraligatr -.4byte HMTMMovesFeraligatr -.4byte LevelUpMovesSentret -.4byte HMTMMovesSentret -.4byte LevelUpMovesFurret -.4byte HMTMMovesFurret -.4byte LevelUpMovesHoothoot -.4byte HMTMMovesHoothoot -.4byte LevelUpMovesNoctowl -.4byte HMTMMovesNoctowl -.4byte LevelUpMovesLedyba -.4byte HMTMMovesLedyba -.4byte LevelUpMovesLedian -.4byte HMTMMovesLedian -.4byte LevelUpMovesSpinarak -.4byte HMTMMovesSpinarak -.4byte LevelUpMovesAriados -.4byte HMTMMovesAriados -.4byte LevelUpMovesCrobat -.4byte HMTMMovesCrobat -.4byte LevelUpMovesChinchou -.4byte HMTMMovesChinchou -.4byte LevelUpMovesLanturn -.4byte HMTMMovesLanturn -.4byte LevelUpMovesPichu -.4byte HMTMMovesPichu -.4byte LevelUpMovesCleffa -.4byte HMTMMovesCleffa -.4byte LevelUpMovesIgglybuff -.4byte HMTMMovesIgglybuff -.4byte LevelUpMovesTogepi -.4byte HMTMMovesTogepi -.4byte LevelUpMovesTogetic -.4byte HMTMMovesTogetic -.4byte LevelUpMovesNatu -.4byte HMTMMovesNatu -.4byte LevelUpMovesXatu -.4byte HMTMMovesXatu -.4byte LevelUpMovesMareep -.4byte HMTMMovesMareep -.4byte LevelUpMovesFlaaffy -.4byte HMTMMovesFlaaffy -.4byte LevelUpMovesAmpharos -.4byte HMTMMovesAmpharos -.4byte LevelUpMovesBellossom -.4byte HMTMMovesBellossom -.4byte LevelUpMovesMarill -.4byte HMTMMovesMarill -.4byte LevelUpMovesAzumarill -.4byte HMTMMovesAzumarill -.4byte LevelUpMovesSudowoodo -.4byte HMTMMovesSudowoodo -.4byte LevelUpMovesPolitoed -.4byte HMTMMovesPolitoed -.4byte LevelUpMovesHoppip -.4byte HMTMMovesHoppip -.4byte LevelUpMovesSkiploom -.4byte HMTMMovesSkiploom -.4byte LevelUpMovesJumpluff -.4byte HMTMMovesJumpluff -.4byte LevelUpMovesAipom -.4byte HMTMMovesAipom -.4byte LevelUpMovesSunkern -.4byte HMTMMovesSunkern -.4byte LevelUpMovesSunflora -.4byte HMTMMovesSunflora -.4byte LevelUpMovesYanma -.4byte HMTMMovesYanma -.4byte LevelUpMovesWooper -.4byte HMTMMovesWooper -.4byte LevelUpMovesQuagsire -.4byte HMTMMovesQuagsire -.4byte LevelUpMovesEspeon -.4byte HMTMMovesEspeon -.4byte LevelUpMovesUmbreon -.4byte HMTMMovesUmbreon -.4byte LevelUpMovesMurkrow -.4byte HMTMMovesMurkrow -.4byte LevelUpMovesSlowking -.4byte HMTMMovesSlowking -.4byte LevelUpMovesMisdreavus -.4byte HMTMMovesMisdreavus -.4byte LevelUpMovesUnownA -.4byte HMTMMovesUnownA -.4byte LevelUpMovesUnownB -.4byte HMTMMovesUnownB -.4byte LevelUpMovesUnownC -.4byte HMTMMovesUnownC -.4byte LevelUpMovesUnownD -.4byte HMTMMovesUnownD -.4byte LevelUpMovesUnownE -.4byte HMTMMovesUnownE -.4byte LevelUpMovesUnownF -.4byte HMTMMovesUnownF -.4byte LevelUpMovesUnownG -.4byte HMTMMovesUnownG -.4byte LevelUpMovesUnownH -.4byte HMTMMovesUnownH -.4byte LevelUpMovesUnownI -.4byte HMTMMovesUnownI -.4byte LevelUpMovesUnownJ -.4byte HMTMMovesUnownJ -.4byte LevelUpMovesUnownK -.4byte HMTMMovesUnownK -.4byte LevelUpMovesUnownL -.4byte HMTMMovesUnownL -.4byte LevelUpMovesUnownM -.4byte HMTMMovesUnownM -.4byte LevelUpMovesUnownN -.4byte HMTMMovesUnownN -.4byte LevelUpMovesUnownO -.4byte HMTMMovesUnownO -.4byte LevelUpMovesUnownP -.4byte HMTMMovesUnownP -.4byte LevelUpMovesUnownQ -.4byte HMTMMovesUnownQ -.4byte LevelUpMovesUnownR -.4byte HMTMMovesUnownR -.4byte LevelUpMovesUnownS -.4byte HMTMMovesUnownS -.4byte LevelUpMovesUnownT -.4byte HMTMMovesUnownT -.4byte LevelUpMovesUnownU -.4byte HMTMMovesUnownU -.4byte LevelUpMovesUnownV -.4byte HMTMMovesUnownV -.4byte LevelUpMovesUnownW -.4byte HMTMMovesUnownW -.4byte LevelUpMovesUnownX -.4byte HMTMMovesUnownX -.4byte LevelUpMovesUnownY -.4byte HMTMMovesUnownY -.4byte LevelUpMovesUnownZ -.4byte HMTMMovesUnownZ -.4byte LevelUpMovesWobbuffet -.4byte HMTMMovesWobbuffet -.4byte LevelUpMovesGirafarig -.4byte HMTMMovesGirafarig -.4byte LevelUpMovesPineco -.4byte HMTMMovesPineco -.4byte LevelUpMovesForretress -.4byte HMTMMovesForretress -.4byte LevelUpMovesDunsparce -.4byte HMTMMovesDunsparce -.4byte LevelUpMovesGligar -.4byte HMTMMovesGligar -.4byte LevelUpMovesSteelix -.4byte HMTMMovesSteelix -.4byte LevelUpMovesSnubbull -.4byte HMTMMovesSnubbull -.4byte LevelUpMovesGranbull -.4byte HMTMMovesGranbull -.4byte LevelUpMovesQwilfish -.4byte HMTMMovesQwilfish -.4byte LevelUpMovesScizor -.4byte HMTMMovesScizor -.4byte LevelUpMovesShuckle -.4byte HMTMMovesShuckle -.4byte LevelUpMovesHeracross -.4byte HMTMMovesHeracross -.4byte LevelUpMovesSneasel -.4byte HMTMMovesSneasel -.4byte LevelUpMovesTeddiursa -.4byte HMTMMovesTeddiursa -.4byte LevelUpMovesUrsaring -.4byte HMTMMovesUrsaring -.4byte LevelUpMovesSlugma -.4byte HMTMMovesSlugma -.4byte LevelUpMovesMagcargo -.4byte HMTMMovesMagcargo -.4byte LevelUpMovesSwinub -.4byte HMTMMovesSwinub -.4byte LevelUpMovesPiloswine -.4byte HMTMMovesPiloswine -.4byte LevelUpMovesCorsola -.4byte HMTMMovesCorsola -.4byte LevelUpMovesRemoraid -.4byte HMTMMovesRemoraid -.4byte LevelUpMovesOctillery -.4byte HMTMMovesOctillery -.4byte LevelUpMovesDelibird -.4byte HMTMMovesDelibird -.4byte LevelUpMovesMantine -.4byte HMTMMovesMantine -.4byte LevelUpMovesSkarmory -.4byte HMTMMovesSkarmory -.4byte LevelUpMovesHoundour -.4byte HMTMMovesHoundour -.4byte LevelUpMovesHoundoom -.4byte HMTMMovesHoundoom -.4byte LevelUpMovesKingdra -.4byte HMTMMovesKingdra -.4byte LevelUpMovesPhanpy -.4byte HMTMMovesPhanpy -.4byte LevelUpMovesDonphan -.4byte HMTMMovesDonphan -.4byte LevelUpMovesPorygon2 -.4byte HMTMMovesPorygon2 -.4byte LevelUpMovesStantler -.4byte HMTMMovesStantler -.4byte LevelUpMovesSmeargle -.4byte HMTMMovesSmeargle -.4byte LevelUpMovesTyrogue -.4byte HMTMMovesTyrogue -.4byte LevelUpMovesHitmontop -.4byte HMTMMovesHitmontop -.4byte LevelUpMovesSmoochum -.4byte HMTMMovesSmoochum -.4byte LevelUpMovesElekid -.4byte HMTMMovesElekid -.4byte LevelUpMovesMagby -.4byte HMTMMovesMagby -.4byte LevelUpMovesMiltank -.4byte HMTMMovesMiltank -.4byte LevelUpMovesBlissey -.4byte HMTMMovesBlissey -.4byte LevelUpMovesRaikou -.4byte HMTMMovesRaikou -.4byte LevelUpMovesEntei -.4byte HMTMMovesEntei -.4byte LevelUpMovesSuicune -.4byte HMTMMovesSuicune -.4byte LevelUpMovesLarvitar -.4byte HMTMMovesLarvitar -.4byte LevelUpMovesPupitar -.4byte HMTMMovesPupitar -.4byte LevelUpMovesTyranitar -.4byte HMTMMovesTyranitar -.4byte LevelUpMovesLugia -.4byte HMTMMovesLugia -.4byte LevelUpMovesHoOh -.4byte HMTMMovesHoOh -.4byte LevelUpMovesCelebi -.4byte HMTMMovesCelebi -.4byte LevelUpMovesTreecko -.4byte HMTMMovesTreecko -.4byte LevelUpMovesGrovyle -.4byte HMTMMovesGrovyle -.4byte LevelUpMovesSceptile -.4byte HMTMMovesSceptile -.4byte LevelUpMovesTorchic -.4byte HMTMMovesTorchic -.4byte LevelUpMovesCombusken -.4byte HMTMMovesCombusken -.4byte LevelUpMovesBlaziken -.4byte HMTMMovesBlaziken -.4byte LevelUpMovesMudkip -.4byte HMTMMovesMudkip -.4byte LevelUpMovesMarshtomp -.4byte HMTMMovesMarshtomp -.4byte LevelUpMovesSwampert -.4byte HMTMMovesSwampert -.4byte LevelUpMovesPoochyena -.4byte HMTMMovesPoochyena -.4byte LevelUpMovesMightyena -.4byte HMTMMovesMightyena -.4byte LevelUpMovesZigzagoon -.4byte HMTMMovesZigzagoon -.4byte LevelUpMovesLinoone -.4byte HMTMMovesLinoone -.4byte LevelUpMovesWurmple -.4byte HMTMMovesWurmple -.4byte LevelUpMovesSilcoon -.4byte HMTMMovesSilcoon -.4byte LevelUpMovesBeautifly -.4byte HMTMMovesBeautifly -.4byte LevelUpMovesCascoon -.4byte HMTMMovesCascoon -.4byte LevelUpMovesDustox -.4byte HMTMMovesDustox -.4byte LevelUpMovesLotad -.4byte HMTMMovesLotad -.4byte LevelUpMovesLombre -.4byte HMTMMovesLombre -.4byte LevelUpMovesLudicolo -.4byte HMTMMovesLudicolo -.4byte LevelUpMovesSeedot -.4byte HMTMMovesSeedot -.4byte LevelUpMovesNuzleaf -.4byte HMTMMovesNuzleaf -.4byte LevelUpMovesShiftry -.4byte HMTMMovesShiftry -.4byte LevelUpMovesTaillow -.4byte HMTMMovesTaillow -.4byte LevelUpMovesSwellow -.4byte HMTMMovesSwellow -.4byte LevelUpMovesWingull -.4byte HMTMMovesWingull -.4byte LevelUpMovesPelipper -.4byte HMTMMovesPelipper -.4byte LevelUpMovesRalts -.4byte HMTMMovesRalts -.4byte LevelUpMovesKirlia -.4byte HMTMMovesKirlia -.4byte LevelUpMovesGardevoir -.4byte HMTMMovesGardevoir -.4byte LevelUpMovesSurskit -.4byte HMTMMovesSurskit -.4byte LevelUpMovesMasquerain -.4byte HMTMMovesMasquerain -.4byte LevelUpMovesShroomish -.4byte HMTMMovesShroomish -.4byte LevelUpMovesBreloom -.4byte HMTMMovesBreloom -.4byte LevelUpMovesSlakoth -.4byte HMTMMovesSlakoth -.4byte LevelUpMovesVigoroth -.4byte HMTMMovesVigoroth -.4byte LevelUpMovesSlaking -.4byte HMTMMovesSlaking -.4byte LevelUpMovesNincada -.4byte HMTMMovesNincada -.4byte LevelUpMovesNinjask -.4byte HMTMMovesNinjask -.4byte LevelUpMovesShedinja -.4byte HMTMMovesShedinja -.4byte LevelUpMovesWhismur -.4byte HMTMMovesWhismur -.4byte LevelUpMovesLoudred -.4byte HMTMMovesLoudred -.4byte LevelUpMovesExploud -.4byte HMTMMovesExploud -.4byte LevelUpMovesMakuhita -.4byte HMTMMovesMakuhita -.4byte LevelUpMovesHariyama -.4byte HMTMMovesHariyama -.4byte LevelUpMovesAzurill -.4byte HMTMMovesAzurill -.4byte LevelUpMovesNosepass -.4byte HMTMMovesNosepass -.4byte LevelUpMovesSkitty -.4byte HMTMMovesSkitty -.4byte LevelUpMovesDelcatty -.4byte HMTMMovesDelcatty -.4byte LevelUpMovesSableye -.4byte HMTMMovesSableye -.4byte LevelUpMovesMawile -.4byte HMTMMovesMawile -.4byte LevelUpMovesAron -.4byte HMTMMovesAron -.4byte LevelUpMovesLairon -.4byte HMTMMovesLairon -.4byte LevelUpMovesAggron -.4byte HMTMMovesAggron -.4byte LevelUpMovesMeditite -.4byte HMTMMovesMeditite -.4byte LevelUpMovesMedicham -.4byte HMTMMovesMedicham -.4byte LevelUpMovesElectrike -.4byte HMTMMovesElectrike -.4byte LevelUpMovesManectric -.4byte HMTMMovesManectric -.4byte LevelUpMovesPlusle -.4byte HMTMMovesPlusle -.4byte LevelUpMovesMinun -.4byte HMTMMovesMinun -.4byte LevelUpMovesVolbeat -.4byte HMTMMovesVolbeat -.4byte LevelUpMovesIllumise -.4byte HMTMMovesIllumise -.4byte LevelUpMovesRoselia -.4byte HMTMMovesRoselia -.4byte LevelUpMovesGulpin -.4byte HMTMMovesGulpin -.4byte LevelUpMovesSwalot -.4byte HMTMMovesSwalot -.4byte LevelUpMovesCarvanha -.4byte HMTMMovesCarvanha -.4byte LevelUpMovesSharpedo -.4byte HMTMMovesSharpedo -.4byte LevelUpMovesWailmer -.4byte HMTMMovesWailmer -.4byte LevelUpMovesWailord -.4byte HMTMMovesWailord -.4byte LevelUpMovesNumel -.4byte HMTMMovesNumel -.4byte LevelUpMovesCamerupt -.4byte HMTMMovesCamerupt -.4byte LevelUpMovesTorkoal -.4byte HMTMMovesTorkoal -.4byte LevelUpMovesSpoink -.4byte HMTMMovesSpoink -.4byte LevelUpMovesGrumpig -.4byte HMTMMovesGrumpig -.4byte LevelUpMovesSpinda -.4byte HMTMMovesSpinda -.4byte LevelUpMovesTrapinch -.4byte HMTMMovesTrapinch -.4byte LevelUpMovesVibrava -.4byte HMTMMovesVibrava -.4byte LevelUpMovesFlygon -.4byte HMTMMovesFlygon -.4byte LevelUpMovesCacnea -.4byte HMTMMovesCacnea -.4byte LevelUpMovesCacturne -.4byte HMTMMovesCacturne -.4byte LevelUpMovesSwablu -.4byte HMTMMovesSwablu -.4byte LevelUpMovesAltaria -.4byte HMTMMovesAltaria -.4byte LevelUpMovesZangoose -.4byte HMTMMovesZangoose -.4byte LevelUpMovesSeviper -.4byte HMTMMovesSeviper -.4byte LevelUpMovesLunatone -.4byte HMTMMovesLunatone -.4byte LevelUpMovesSolrock -.4byte HMTMMovesSolrock -.4byte LevelUpMovesBarboach -.4byte HMTMMovesBarboach -.4byte LevelUpMovesWhiscash -.4byte HMTMMovesWhiscash -.4byte LevelUpMovesCorphish -.4byte HMTMMovesCorphish -.4byte LevelUpMovesCrawdaunt -.4byte HMTMMovesCrawdaunt -.4byte LevelUpMovesBaltoy -.4byte HMTMMovesBaltoy -.4byte LevelUpMovesClaydol -.4byte HMTMMovesClaydol -.4byte LevelUpMovesLileep -.4byte HMTMMovesLileep -.4byte LevelUpMovesCradily -.4byte HMTMMovesCradily -.4byte LevelUpMovesAnorith -.4byte HMTMMovesAnorith -.4byte LevelUpMovesArmaldo -.4byte HMTMMovesArmaldo -.4byte LevelUpMovesFeebas -.4byte HMTMMovesFeebas -.4byte LevelUpMovesMilotic -.4byte HMTMMovesMilotic -.4byte LevelUpMovesCastform -.4byte HMTMMovesCastform -.4byte LevelUpMovesCastformSunny -.4byte HMTMMovesCastformSunny -.4byte LevelUpMovesCastformRainy -.4byte HMTMMovesCastformRainy -.4byte LevelUpMovesCastformSnowy -.4byte HMTMMovesCastformSnowy -.4byte LevelUpMovesKecleon -.4byte HMTMMovesKecleon -.4byte LevelUpMovesShuppet -.4byte HMTMMovesShuppet -.4byte LevelUpMovesBanette -.4byte HMTMMovesBanette -.4byte LevelUpMovesDuskull -.4byte HMTMMovesDuskull -.4byte LevelUpMovesDusclops -.4byte HMTMMovesDusclops -.4byte LevelUpMovesTropius -.4byte HMTMMovesTropius -.4byte LevelUpMovesChimecho -.4byte HMTMMovesChimecho -.4byte LevelUpMovesAbsol -.4byte HMTMMovesAbsol -.4byte LevelUpMovesWynaut -.4byte HMTMMovesWynaut -.4byte LevelUpMovesSnorunt -.4byte HMTMMovesSnorunt -.4byte LevelUpMovesGlalie -.4byte HMTMMovesGlalie -.4byte LevelUpMovesSpheal -.4byte HMTMMovesSpheal -.4byte LevelUpMovesSealeo -.4byte HMTMMovesSealeo -.4byte LevelUpMovesWalrein -.4byte HMTMMovesWalrein -.4byte LevelUpMovesClamperl -.4byte HMTMMovesClamperl -.4byte LevelUpMovesHuntail -.4byte HMTMMovesHuntail -.4byte LevelUpMovesGorebyss -.4byte HMTMMovesGorebyss -.4byte LevelUpMovesRelicanth -.4byte HMTMMovesRelicanth -.4byte LevelUpMovesLuvdisc -.4byte HMTMMovesLuvdisc -.4byte LevelUpMovesBagon -.4byte HMTMMovesBagon -.4byte LevelUpMovesShelgon -.4byte HMTMMovesShelgon -.4byte LevelUpMovesSalamence -.4byte HMTMMovesSalamence -.4byte LevelUpMovesBeldum -.4byte HMTMMovesBeldum -.4byte LevelUpMovesMetang -.4byte HMTMMovesMetang -.4byte LevelUpMovesMetagross -.4byte HMTMMovesMetagross -.4byte LevelUpMovesRegirock -.4byte HMTMMovesRegirock -.4byte LevelUpMovesRegice -.4byte HMTMMovesRegice -.4byte LevelUpMovesRegisteel -.4byte HMTMMovesRegisteel -.4byte LevelUpMovesLatias -.4byte HMTMMovesLatias -.4byte LevelUpMovesLatios -.4byte HMTMMovesLatios -.4byte LevelUpMovesKyogre -.4byte HMTMMovesKyogre -.4byte LevelUpMovesGroudon -.4byte HMTMMovesGroudon -.4byte LevelUpMovesRayquaza -.4byte HMTMMovesRayquaza -.4byte LevelUpMovesJirachi -.4byte HMTMMovesJirachi -.4byte LevelUpMovesDeoxys -.4byte HMTMMovesDeoxys -.4byte LevelUpMovesUnownEMark -.4byte HMTMMovesUnownEMark -.4byte LevelUpMovesUnownQMark -.4byte HMTMMovesUnownQMark -.4byte LevelUpMovesDeoxysAttack -.4byte HMTMMovesDeoxysAttack -.4byte LevelUpMovesDeoxysDefense -.4byte HMTMMovesDeoxysDefense -.4byte LevelUpMovesDeoxysSpeed -.4byte HMTMMovesDeoxysSpeed diff --git a/data_monster.mk b/data_monster.mk index 34fecab5a..e91069287 100644 --- a/data_monster.mk +++ b/data_monster.mk @@ -21,9 +21,19 @@ $(MONSTER_DATA): $(MONSTER_DIR)/monster_data.json $(MONSTER_DATA_INC) LEARNSET_DIR = $(MONSTER_DIR)/learnset LEARNSET_DATA = $(LEARNSET_DIR)/learnset_data.inc +LEARNSET_PTRS = $(LEARNSET_DIR)/learnset_ptrs.s data_learnset: $(LEARNSET_DATA); $(LEARNSET_DATA): $(LEARNSET_DIR)/learnset_data.json $(DUNGEONJSON) learnset pmd-red $< +data_learnset_ptrs: ${LEARNSET_DATA}; + echo '.4byte 0' >> $(LEARNSET_PTRS) + echo '.4byte 0' >> $(LEARNSET_PTRS) + cat $(LEARNSET_DATA) | grep .global >> $(LEARNSET_PTRS) +ifeq ($(shell uname -s), Darwin) + sed -i '' 's/global/4byte/g' $(LEARNSET_PTRS) +else + sed -i 's/global/4byte/g' $(LEARNSET_PTRS) +endif diff --git a/include/constants/move_id.h b/include/constants/move_id.h index 371e82f61..b20521c92 100644 --- a/include/constants/move_id.h +++ b/include/constants/move_id.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONSTANTS_MOVE_ID_H #define GUARD_CONSTANTS_MOVE_ID_H +// These IDs should be kept in sync with tools/dungeonjson/move_id_json.cpp for any moves that Pokémon can learn normally. + #define MOVE_NOTHING 0x0 #define MOVE_IRON_TAIL 0x1 #define MOVE_ICE_BALL 0x2 diff --git a/sym_ewram.txt b/sym_ewram.txt index 739dcdcca..e23ab3003 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -928,13 +928,10 @@ gBoughtFriendAreas: /* 2038C28 (one byte for each friend area) */ gWazaParametersFile: /* 2038C64 */ .space 0x4 -gMoveLearnsets: /* 2038C6C */ - .space 0x4; - gMovesData: /* 2038C68 */ .space 0x4 -gMovesRelated_2038C6C: /* 2038C6C */ +gMoveLearnsets: /* 2038C6C */ .space 0x4 gGameOptions: /* 2038C70 */ diff --git a/tools/dungeonjson/move_id_json.cpp b/tools/dungeonjson/move_id_json.cpp index f03d20635..242ca0aa0 100644 --- a/tools/dungeonjson/move_id_json.cpp +++ b/tools/dungeonjson/move_id_json.cpp @@ -4,6 +4,7 @@ using std::string; #include using std::map; +#include "dungeonjson.h" #include "move_id_json.h" static map move_macro_ids; @@ -368,5 +369,12 @@ int get_move_id(string move_macro) { move_macro_ids["MOVE_WIDE_SLASH"] = 0x168; move_macro_ids["MOVE_VACUUM_CUT"] = 0x18A; } - return move_macro_ids[move_macro]; + if (move_macro_ids.count(move_macro)) + { + return move_macro_ids.at(move_macro); + } + else + { + FATAL_ERROR("Unknown move %s when generating learnsets. Make sure the move is registered in tools/data/move_id_json.cpp.\n", move_macro.c_str()); + } } \ No newline at end of file