Skip to content

Commit

Permalink
Species Simplifier™ - Part 3 (#3562)
Browse files Browse the repository at this point in the history
* Added SpeciesInfo fields

# Conflicts:
#	include/pokemon.h

* Added missing comments

* Renamed gigantamax to isGigantamax

* Converted species flags to agbcc bit flags

* Added padding after flags

* Pikachu form config

* Dex text

* Reordered Paradox flag

* Missing Pikachu ifdef comments

* Moved P_GEN_x_POKEMON settings to the species_families file

* Gen 1 Dex entries

* Renamed file to species_enabled.h

* Prevent Pokémon from evolving if their evolution is disabled

* Prevent Pokémon from being affected by Eviolite if their evolution is disabled

* Prevent Pokémon offspring if they're disabled

* Corrected imprementation of evolution prevention

It could potentially overwrite items by accident

* Cross-evo configs

* Gen 2 dex entries

* Changed cry table to use assignable IDs

# Conflicts:
#	include/pokemon.h

* Form table pointers

* Beginning support for moving data to gSpeciesInfo

* Pokédexes reads text from gSpeciesInfo

* Reading species names from gSpeciesInfo

* Fixed erroneous copy-paste

* Moved Bulbasaur to Raichu Family data do gSpeciesinfo

* Added female pic sizes

* Macros for Front, Back, Palette and Learnsets

* Sandshrew to Dugtrio Families

* Obtains Height/Weight from gSpeciesInfo

* Read category from gSpeciesInfo

* Removed unused data from pokedex_entries.h

* Moved Gen 1 data to gSpeciesInfo

* Moved Gen 2 data to gSpeciesInfo + fixed Ursaluna Bloodmoon not producing Teddiursa eggs

* Moved Gen 3 data to gSpeciesInfo

* Moved Gen 4 data to gSpeciesInfo

* HGSS dex properly shows form sprites

* Fixed data type for GetSpeciesHeight/Weight

* Reading Pokédex Size data from gSpeciesInfo

* Cleaned up mon graphic decompression function

* Reading Front Pics gSpeciesInfo

* Reading Back Pics gSpeciesInfo

* Updated uses of GetMonSpritePalStruct to allow loading the data directly instead of reading the struct

* Reading palettes from gSpeciesInfo

* Reading animation delay from gSpeciesInfo

* Fixed Pokémon Debug Menu not reading animation delay

* Reading front anim Id from gSpeciesInfo

* Reading back anim Id from gSpeciesInfo

* Reading Animation Frames from gSpeciesInfo

* Reading Icon Sprites from gSpeciesInfo

* Reading Icon Palette IDs from gSpeciesInfo

* Reading Footprints from gSpeciesInfo

* Reading Mon Pic sizes from gSpeciesInfo

* Separate mon pic sizes for female mon

* Reading Level Up Learnsets from gSpeciesInfo

* Reading Teachable Learnsets from gSpeciesInfo

* Reading National Dex Number from gSpeciesInfo

* Reading Enemy Mon Elevation from gSpeciesInfo

* Reading Evolutions from gSpeciesInfo

* Reading form table from gSpeciesInfo

* Fixed button label inconsistency in pokémon debug menu

* Reading form change table from gSpeciesInfo

* Removed need to define mon graphics in include/graphics.h

* Reordered mon graphics by family

* Fixed National dex number offset

* gFrontierBannedSpecies now checks IsSpeciesEnabled

* Added 3 more toggles for Fusions, Primal Reversions and Ultra Burst

* Gen 3 & 4 family toggles for dex entries

* Fixed missing Mr. Rime data

* Gen 1 dex descriptions as compound strings

* Gen 2 dex descriptions as compound strings

* Gen 3 dex descriptions as compound strings

* Gen 4 dex descriptions as compound strings

* Fixed compile in agbcc

* Moved Gen 5 data to gSpeciesInfo

* Using PLACEHOLDER_ANIM_SINGLE_FRAME when needed (same hash)

* Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES

* Fixed capitalization for front pic anims

* Fixed `CanEvolve`

* Moved Gen 6 data to gSpeciesInfo

* Gen 7 without macros

* Gen 8 without macros

* Gen 9 without macros

* Fixed Gen 9 sound data

* Finished moving Gen 7 data in macros (by Alex)

Co-authored-by: Alex <[email protected]>

* Ultra Necrozma is now included in the fusion forms define

* Cries are now properly excluded from the rom when disabling species

* Removed P_GEN_x_POKEMON from form_change_tables.h

* Fixed Yanmega's cry ignoring the P_GEN_4_CROSS_EVOS setting

* Added P_NEW_EVOS_IN_REGIONAL_DEX setting

* Automatic ASSUMPTION_FAIL when used species are disabled

* Finished moving Gen 8 data in macros (by Alex)

Co-authored-by: Alex <[email protected]>

* Expanded Alcremie macro

* Finished moving Gen 9 data in macros (by Alex)

* Fixed missing data for Komala and Marshadow

* Form species id tables use family toggles + added missing Ursaluna form species id table

* Fixed Genesect palettes

* Fixed Flabébé family graphics

* Fixed Minior Graphics

* Fixed missing Calyrex data

* Family toggles in mon graphcis (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <[email protected]>

* Fixed missing Ogerpon data

* Ordered Level Up Learnsets (missing toggles)

Also added White Basculin learnset

* Added more Minior synonyms

* Fixed enamorus order

* Reordered teachable learnsets

* Removed sSpeciesXXX level up learnsets + reordered

* Removed unneeded assumes

* Removed unused extra animations

* Family toggles in mon level up learnsets (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <[email protected]>

* Fixed Phione graphics inclusion

* Family toggles for Teachable Learnsets

Co-authored-by: Bassoonian <[email protected]>

* Ordered Front Pic Anims

* Family toggles for front pic animations

Co-authored-by: Bassoonian <[email protected]>

* Fixed HGSS dex incorrectly showing the wrong mon when catching it

* Family toggles for Egg Moves + reodered

Co-authored-by: Bassoonian <[email protected]>

* Fixed HGSS not checking for null footprints

* Review changes

* Fixed Female difference mon not using their macros

* Fixed Alcremie Macro

* Fixed compile error when disabling the Bulbasaur family

* Fixed Turtwig and Chimchar family + Houndour and Mareep cries not being excluded properly

* Re-added missing Egg graphical data

* Fixed crash during the Birch Intro when Lotad is disabled

* Renamed PALLETE to PALETTES

* Removed extra spacing for YOffsets

* Fixed compile when only disabling cross-gen evolutions

* Added Tera Forms define (Ogerpon and Terapagos)

* Fixed Necrozma macro

* Removed .noFlip = FALSE

* Fixed dex number in summary screen for forms when nat dex is disabled

* Fixed Paldean form paths

---------

Co-authored-by: Alex <[email protected]>
Co-authored-by: Bassoonian <[email protected]>
  • Loading branch information
3 people authored Dec 8, 2023
1 parent 97cb4cd commit 4adc2dc
Show file tree
Hide file tree
Showing 232 changed files with 90,120 additions and 100,049 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
15 changes: 1 addition & 14 deletions include/config/pokemon.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,20 +38,7 @@
#define P_FLAG_FORCE_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into being Shiny.
#define P_FLAG_FORCE_NO_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into NOT being Shiny.

// Modifying the latest generation WILL change the saveblock due to Dex flags and will require a new save file.
// Generations of Pokémon are defined by the first member introduced.
// Eg: If P_GEN_2_POKEMON is set to FALSE, all members of the Sneasel Family will be disabled (Sneasel + Hisuian, Weavile and Sneasler).
#define P_GEN_1_POKEMON TRUE // Generation 1 Pokémon (RGBY)
#define P_GEN_2_POKEMON TRUE // Generation 2 Pokémon (GSC)
#define P_GEN_3_POKEMON TRUE // Generation 3 Pokémon (RSE, FRLG)
#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS)
#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2)
#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS)
#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE)
#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA)
#define P_GEN_9_POKEMON TRUE // Generation 9 Pokémon (SV)

// Go here if you want to disable specific families of Pokémon.
#include "config/species_families.h"
#include "config/species_enabled.h"

#endif // GUARD_CONFIG_POKEMON_H
Original file line number Diff line number Diff line change
@@ -1,17 +1,58 @@
#ifndef GUARD_CONFIG_SPECIES_FAMILIES_H
#define GUARD_CONFIG_SPECIES_FAMILIES_H
#ifndef GUARD_CONFIG_SPECIES_ENABLED_H
#define GUARD_CONFIG_SPECIES_ENABLED_H

// Modifying the latest generation WILL change the saveblock due to Dex flags and will require a new save file.
// Generations of Pokémon are defined by the first member introduced,
// so Pikachu depends on the Gen 1 setting despite Pichu being the lowest member of the evolution tree.
// Eg: If P_GEN_2_POKEMON is set to FALSE, all members of the Sneasel Family will be disabled
// (Sneasel + Hisuian, Weavile and Sneasler).
#define P_GEN_1_POKEMON TRUE // Generation 1 Pokémon (RGBY)
#define P_GEN_2_POKEMON TRUE // Generation 2 Pokémon (GSC)
#define P_GEN_3_POKEMON TRUE // Generation 3 Pokémon (RSE, FRLG)
#define P_GEN_4_POKEMON TRUE // Generation 4 Pokémon (DPPt, HGSS)
#define P_GEN_5_POKEMON TRUE // Generation 5 Pokémon (BW, B2W2)
#define P_GEN_6_POKEMON TRUE // Generation 6 Pokémon (XY, ORAS)
#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE)
#define P_GEN_8_POKEMON TRUE // Generation 8 Pokémon (SwSh, BDSP, LA)
#define P_GEN_9_POKEMON TRUE // Generation 9 Pokémon (SV)

// Setting this to TRUE will add the new evolutions to the Regional Dex.
#define P_NEW_EVOS_IN_REGIONAL_DEX TRUE

// Battle gimmick specific Forms.
#define P_MEGA_EVOLUTIONS TRUE
#define P_PRIMAL_REVERSIONS TRUE // Groudon and Kyogre only.
#define P_ULTRA_BURST_FORMS TRUE // Ultra Necrozma only.
#define P_GIGANTAMAX_FORMS TRUE
#define P_TERA_FORMS TRUE

// Fusion forms
#define P_FUSION_FORMS TRUE

// Regional Forms. Includes Regional Form evolutions, like Sirfetch'd.
#define P_REGIONAL_FORMS TRUE
#define P_ALOLAN_FORMS P_REGIONAL_FORMS
#define P_GALARIAN_FORMS P_REGIONAL_FORMS
#define P_HISUIAN_FORMS P_REGIONAL_FORMS
#define P_PALDEAN_FORMS P_REGIONAL_FORMS

#define P_MEGA_EVOLUTIONS TRUE
#define P_GIGANTAMAX_FORMS TRUE
// Big groups of forms that aren't always desired when choosing families.
#define P_PIKACHU_EXTRA_FORMS TRUE
#define P_COSPLAY_PIKACHU_FORMS P_PIKACHU_EXTRA_FORMS
#define P_CAP_PIKACHU_FORMS P_PIKACHU_EXTRA_FORMS

// To disable specific families, replace P_GEN_x_POKEMON with FALSE.
// Cross-generation evolutions. Includes pre-evolutions.
#define P_CROSS_GENERATION_EVOS TRUE
#define P_GEN_2_CROSS_EVOS P_CROSS_GENERATION_EVOS
#define P_GEN_3_CROSS_EVOS P_CROSS_GENERATION_EVOS
#define P_GEN_4_CROSS_EVOS P_CROSS_GENERATION_EVOS
//#define P_GEN_5_CROSS_EVOS // Gen 5 didn't introduce any cross-gen evos.
#define P_GEN_6_CROSS_EVOS P_CROSS_GENERATION_EVOS // Just Sylveon.
//#define P_GEN_7_CROSS_EVOS // Alolan evolutions handled by P_ALOLAN_FORMS.
#define P_GEN_8_CROSS_EVOS P_CROSS_GENERATION_EVOS // Regional evolutions handled by P_GALARIAN_FORMS and P_HISUIAN_FORMS.
#define P_GEN_9_CROSS_EVOS P_CROSS_GENERATION_EVOS // Clodsire handled by P_PALDEAN_FORMS.

// To disable specific families, replace P_GEN_x_POKEMON with FALSE.
#define P_FAMILY_BULBASAUR P_GEN_1_POKEMON
#define P_FAMILY_CHARMANDER P_GEN_1_POKEMON
#define P_FAMILY_SQUIRTLE P_GEN_1_POKEMON
Expand Down Expand Up @@ -554,4 +595,4 @@
#define P_FAMILY_FEZANDIPITI P_GEN_9_POKEMON
#define P_FAMILY_OGERPON P_GEN_9_POKEMON

#endif // GUARD_CONFIG_SPECIES_FAMILIES_H
#endif // GUARD_CONFIG_SPECIES_ENABLED_H
Loading

0 comments on commit 4adc2dc

Please sign in to comment.