A Kalos remake in Pokémon Emerald.
Find a file
Eduardo Quezada D'Ottone 4adc2dcb16
Species Simplifier™ - Part 3 (#3562)
* 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 <93446519+AlexOn1ine@users.noreply.github.com>

* 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 <93446519+AlexOn1ine@users.noreply.github.com>

* 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 <iasperbassoonian@gmail.com>

* 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 <iasperbassoonian@gmail.com>

* Fixed Phione graphics inclusion

* Family toggles for Teachable Learnsets

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Ordered Front Pic Anims

* Family toggles for front pic animations

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

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

* Family toggles for Egg Moves + reodered

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* 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 <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-08 15:05:10 +01:00
.github Reverted PR template tests 2023-11-17 11:59:34 -03:00
asm Merge branch 'RHH/master' into RHH/upcoming 2023-12-03 16:39:32 -03:00
common_syms replace global usage of gActiveBattler in controller files 2023-08-07 12:51:58 +02:00
constants Add include guards for assembly constants files 2023-09-03 20:57:54 -04:00
data EFFECT_CHILLY_RECEPTION (#3379) 2023-12-06 17:11:13 +01:00
docs Cleaned trailing whitespace 2022-09-11 14:14:49 -04:00
gflib Fix static variable names 2023-12-08 12:46:52 +00:00
graphics Species Simplifier™ - Part 3 (#3562) 2023-12-08 15:05:10 +01:00
include Species Simplifier™ - Part 3 (#3562) 2023-12-08 15:05:10 +01:00
libagbsyscall Fix $(AR) define, remove \u warns on macOS. 2021-01-04 11:35:59 -05:00
sound Species Simplifier™ - Part 3 (#3562) 2023-12-08 15:05:10 +01:00
src Species Simplifier™ - Part 3 (#3562) 2023-12-08 15:05:10 +01:00
test Species Simplifier™ - Part 3 (#3562) 2023-12-08 15:05:10 +01:00
tools Buffer 'GBA: '-prefixed messages 2023-10-23 07:47:13 +01:00
.gitattributes Add missing files to .gitattributes. 2020-11-08 20:13:21 -05:00
.gitignore Added src/data/map_group_count.h to .gitignore 2023-10-16 09:40:09 +01:00
asmdiff.ps1 Remove debug printing 2019-04-07 19:18:42 -05:00
asmdiff.sh [Round 3] Apply all source related changes for the new INSTALL.md in one commit. 2020-12-16 21:24:44 -05:00
build_tools.sh Update deprecated build_tools script 2019-08-27 09:15:44 -04:00
CHANGELOG.md Reverted PR3455 2023-10-31 07:33:53 -03:00
charmap.txt Merge branch 'tx_pokedexPlus_hgss' of https://github.com/TheXaman/pokeemerald into PokedexPlus_Hgss 2023-09-08 18:47:26 +05:30
graphics_file_rules.mk Cleaned up remaining Castform hack stuff (#3063) 2023-06-30 09:58:07 +02:00
INSTALL.md Added Teal Mask item graphics + updated install instructions (#3527) 2023-11-09 21:57:04 -03:00
json_data_rules.mk use json for region map sections 2022-04-04 23:32:03 -04:00
ld_script.txt Defines for Expansion version number (#3454) 2023-11-10 08:08:36 -03:00
ld_script_modern.txt Defines for Expansion version number (#3454) 2023-11-10 08:08:36 -03:00
ld_script_test.txt Defines for Expansion version number (#3454) 2023-11-10 08:08:36 -03:00
make_tools.mk Merge remote-tracking branch 'pret/master' into RHH/sync/pret_20230303 2023-03-03 11:00:50 -03:00
Makefile Added -Woverride-init Makefile flag 2023-11-09 13:32:41 +00:00
map_data_rules.mk [Round 3] Apply all source related changes for the new INSTALL.md in one commit. 2020-12-16 21:24:44 -05:00
README.md Merge branch 'RHH/master' into RHH/upcoming 2023-12-03 16:39:32 -03:00
rom.sha1 Make rom.sha1 lowercase to fix erroneous comparison results on *nix 2017-09-06 09:20:49 -04:00
songs.mk Sync encounter musics with encounter music types 2020-08-20 21:03:24 -04:00
spritesheet_rules.mk Merge remote-tracking branch 'RHH/battle_engine' into RHH_masterMerge 2022-07-22 22:57:02 -04:00
sym_bss.txt move m4a track definitions 2022-01-22 19:37:46 -05:00
sym_common.txt replace global usage of gActiveBattler in controller files 2023-08-07 12:51:58 +02:00
sym_ewram.txt Merge branch 'tx_pokedexPlus_hgss' of https://github.com/TheXaman/pokeemerald into PokedexPlus_Hgss 2023-09-08 18:47:26 +05:30

pokeemerald-expansion

What is pokeemerald-expansion?

pokeemerald-expansion is a decomp hack base project based off pret's pokeemerald decompilation project. It's recommended that any new projects that plan on using it, to clone this repository instead of pret's vanilla repository, as we regurlarly incorporate pret's documentation changes. This is NOT a standalone romhack, and as such, most features will be unavailable and/or unbalanced if played as is.

If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. You can phrase it as the following:

Based off RHH's pokeemerald-expansion v1.6.2 https://github.com/rh-hideout/pokeemerald-expansion/

What features are included?

  • IMPORTANT Read through these to learn what features you can toggle:
  • Upgraded battle engine.
    • Gen5+ damage calculation.
    • 2v2 Wild battles support.
    • 1v2/2v1 battles support.
    • Fairy Type (configurable).
    • Physical/Special/Status Category Split (configurable).
    • New moves and abilities up to Scarlet and Violet.
      • Custom Contest data up to SwSh, newer moves are WIP. (source)
    • Form change tables that allow customizing most form changes.
    • Mega Evolution, Primal Reversion and Ultra Burst.
    • Z-Moves
      • Gen 8+ damaging moves are given power extrapolated from Gen 7.
      • Gen 8+ status moves have no additional effects, like Healing Wish.
    • Initial battle parameters
      • Queueing stat boosts (aka, Totem Boosts)
      • Setting Terrains.
    • Mid-turn speed recalculation.
    • Quick Poké Ball selection in Wild Battles
      • Press R to use last selected Poké Ball.
      • Hold R to change selection with the D-Pad.
    • Faster battle intro
      • Message and animation/cry happens at the same time.
    • Faster HP drain.
    • Battle Debug menu.
      • Accessed by pressing Select on the "Fight/Bag/Pokémon/Run" menu.
    • Option to use AI flags in wild Pokémon battles.
    • FRLG/Gen4+ whiteout money calculation.
    • Configurable experience settings
      • Experience on catch.
      • Splitting experience.
      • Trainer experience.
      • Scaled experience.
      • Unevolved experience boost.
    • Frostbite.
      • Doesn't replace freezing unless a config is enabled, so you can mix and match.
    • Critical capture.
    • Removed badge boosts (configurable).
    • Recalculating stats at the end of every battle.
    • Level 100 Pokémon can earn EVs.
    • Inverse battle support.
    • TONS of other features listed here.
  • Full Trainer customization
    • Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess.
    • Custom tag battle support (teaming up an NPC in a double battle).
    • Sliding trainer messages.
    • Upgraded Trainer AI
      • Considers newer move effects.
      • New flag options to let you customize the intelligence of your trainers.
      • Faster calculations.
    • Specify Poké Balls by Trainer class.
  • Pokémon Species from Generations 1-8.
    • Option to disable unwanted generations.
    • Updated sprites to DS style.
    • Updated stats, types, abilities and egg groups (configurable).
    • Updated Hoenn's Regional Dex to match ORAS'.
    • Updated National Dex incorporating the new species.
    • Sprite and animation visualizer.
      • Accesible by pressing Select on a Pokémon's Summary screen.
    • Gen4+ evolution methods, with some changes:
      • Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'.
        • Leaf, Ice and Thunder Stones may also be used.
      • Inkay just needs level 30 to evolve.
        • You can't physically have both the RTC and gyroscope, so we skip this requirement.
      • Sylveon uses Gen8+'s evolution method (friendship + Fairy Move).
      • Option to use hold evolution items directly like stones.
    • Hidden Abilities.
      • Available via Ability Patch.
      • Compatible with Ghoul's DexNav branch.
    • All gender differences.
      • Different icons for female Hippopotas and Hippowdon
    • 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts
  • Breeding
    • Incense Baby Pokémon now happen automatically (configurable).
    • Level 1 eggs.
    • Poké Ball inheriting.
    • Egg Move Transfer, including Mirror Herb.
    • Nature inheriting 100% of the time with Everstone
    • Gen6+ Ability inheriting.
  • Items from newer Generations. Full list here.
    • Gen 6+ Exp. Share (configurable)
    • Existing item data but missing effects:
      • Mints
      • Dynamax Candy
      • Mulches
      • Rotom Catalog
      • DNA Splicers
      • Zygarde Cube
      • N Solarizer/Lunarizer
      • Reins of Unity
      • Dynamax Band
      • Gimmighoul Coin
      • Booster Energy
      • Tera Shards
      • Tera Orb
  • Feature branches incorporated:
    • RHH intro credits by Xhyzi.
      • A small signature from all of us to show the collective effort in the project :)
    • Overworld debug by TheXaman
      • May be disabled.
      • Accesible by pressing R + Start in the overworld by default.
      • Additional features:
        • Clear Boxes: cleans every Pokémon from the Boxes.
        • Hatch an Egg: lets you choose an Egg in your party and immediatly hatch it.
    • HGSS Pokédex by TheXaman
      • May be disabled.
      • Additional features:
        • Support for new evolution methods.
        • Dark Mode.
  • Other features
    • Pressing B while holding a Pokémon drops them like in modern games (configurable).
    • Running indoors (configurable).
    • Configurable overworld poison damage.
    • Configurable flags for disabling Wild encounters and Trainer battles.
    • Configurable flags for forcing or disabling Shinies.
    • Reusable TM (configurable).
    • B2W2+ Repel system that also supports LGPE's Lures
    • Gen6+'s EV cap.
    • All bugfixes from pret included.
    • Fixed overworld snow effect.

There are some mechanics, moves and abilities that are missing and being developed. Check the project's milestones to see which ones.

Documentation on features can be found here

If I already have a project based on regular pokeemerald, can I use pokeemerald-expansion?

Yes! Keep in mind that we keep up with pret's documentation of pokeemerald, which means that if your project a bit old, you might get merge conflicts that you need to solve manually.

  • If you haven't set up a remote, run the command git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion.
  • Once you have your remote set up, run the command git pull RHH master.

With this, you'll get the latest version of pokeemerald-expansion, plus a couple of bugfixes that haven't been released into the next patch version :)

How do I update my version of pokeemerald-expansion?

  • If you haven't set up a remote, run the command git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion.
  • Once you have your remote set up, run the command git pull RHH expansion/1.6.2.

Please consider crediting the entire list of contributors in your project, as they have all worked hard to develop this project :)

There's a bug in the project. How do I let you guys know?

Please submit any issues with the project here. Make sure that the issue wasn't reported by someone else by searching using the filters.

Can I contribute even if I'm not a member of ROM Hacking Hideout?

Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers. Don't feel discouraged if we take a bit to review your PR, we'll get to it.

Who maintains the project?

The project was originally started by DizzyEgg alongside other contributors.

The project has now gotten larger and DizzyEgg is now maintaining the project as part of the ROM Hacking Hideout community. Some members of this community are taking on larger roles to help maintain the project.

What is the ROM Hacking Hideout?

A Discord-based ROM hacking community that has many members who hack using the disassembly and decompilation projects for Pokémon. Quite a few contributors to the original feature branches by DizzyEgg were members of ROM Hacking Hideout. You can call it RHH for short!

Click here to join the RHH Discord Server!