Skip to content
Kurausukun edited this page Oct 22, 2023 · 36 revisions

The following branches maintained by contributors can be a good starting point for your hack, or can be merged into an existing codebase. Please visit each page, wiki, post, etc. to see information on how to give credit!

For tutorials, smaller modifications, and other useful features, please see the Tutorials / Mods Wiki Page. Good luck and happy hacking!

Table of Contents

How to apply a feature branch

  1. Add the repository as a remote on git: git remote add <name of your choice> <repository url>

    The URL you use is the same one you use when cloning the repository (so it should have .git at the end).

  2. Pull the specific branch you want: git pull <remote name you gave earlier> <branch_name>

Maintainers: ROM Hacking Hideout

More of a hack base than a "feature branch". The Expansion overhauls and expands pokeemerald with many modern features, including:

  • An overhaul and upgrade of pokeemerald's battle engine with newer gen features and mechanics, such as:
    • Physical/Special Split
    • New and Updated Move Effects, Abilities and Item Effects
    • Fairy Type, Mega Evolution
    • Double Wild Battles, Custom multi-battles, Smarter AI
    • Ability pop-up messages
    • Mid-battle trainer messages
    • And more!

  • Pokemon from future games backported to pokeemerald.
    • Most Pokemon have two frames of animation
    • 6 colors in icon palettes instead of 3
    • Base stats, forms, and evolution data, including new evolution methods
    • Hidden abilities
    • Updated Pokedex, entries, Cries for Pokemon
    • TM/HM and Move Tutor compatibility

  • Most items from future games backported to pokeemerald.
    • All new berries
    • All new Poke Balls, including throw animations, descriptions, pics, catch rates, etc.
    • Evolution stones and Gen 7 potions
  • Many many many Configuration options for all of the above

Note: previously had three separate branches (battle_engine, pokemon_expansion, and item_expansion), but recently shifted to working only on the combined master branch and implemented a semvar versioning scheme.

For more information see pokeemerald Expansion's wiki.

Maintainers: ghoulslash

Enables NPCs to follow you in the overworld.

For more information, see this Pokecommunity post.

Maintainers: ghoulslash

Adds sideways stairs to pokeemerald.

For more info see this Pokecommunity post.

Maintainers: AsparagusEduardo

Adds the following new pockets to the bag:

  • Medicine (HP, PP and status recovery items)
  • Power-Up (Vitamins, Rare Candy and evolution items)
  • Battle Items (X items, Pokédoll/FluffyTail and hold items with battle effects)

For more info see this Pokecommunity post.

Increases the number of maximum object events in the game from 255 to 65535. This is done by converting the ID from a u8 to a u16.

Maintainers: ghoulslash

Free up some saveblock space by removing superfluous saveblock data.

For more info see this Pokecommunity post.

To free up some more saveblock space, see this tutorial.

Maintainers: ghoulslash

Adds a simplified DexNav, complete with Search and Detector modes, creeping up to wild Pokemon, and chaining.

For more info, see this Pokecommunity post.

Maintainers: Kurausukun

Improves Emerald's RNG function drastically by using a full 32-bit RNG with 64-bit state based on the PCG family of PRNGs. The implementation of PCG used here was written by ax6 in handwritten assembly in order to ensure performance since the RNG function runs once per frame. This branch also includes the fix to seed the RNG from the RTC, as well as reverting trainer ID generation to the R/S method (Emerald kept the method used in FRLG, which uses hardware timers rather than the RTC).

Credits: ax6, Kurausukun

Maintainers: ExpoSeed

Adds a system to load and unload overworld palettes based on what is on screen, instead of keeping all overworld palettes loaded at once. This enables you to be much more flexible about overworld palettes.

Credits: Slawter666, Xhyzi, ShantyTown, ExpoSeed, UltimaSoul, ShinyDragonHunter

Day Night Systems

Multiple people have implemented day night systems, and with various levels of fidelity and complexity.

(TODO: Add gif of player character waiting for nightfall in Rustboro)
Originally implemented for Crystal Dust, this system features hourly lighting changes (similar to Crystal), expanded encounter tables for nighttime encounters, and per-tileset palette overrides for window lighting. It only affects the overworld.

(TODO: Add gif of player character waiting for nightfall in Rustboro)
This system is the highest fidelity of these three, with semi-transparent shadows under every overworld object, inter-frame blending for glowing light effects, and per-color overriding for window lights. However, it is also the most complex system, and is still in active development.
Note: THIS IS NOT A CLEAN FEATURE BRANCH which includes only the Day-Night system like the other two; this branch also includes HGSS-style pokemon followers and a dynamic overworld palette system, among many other minor changes and tweaks to hundreds of source files. Merge at your own risk.

I have created a DNS based on Merrp's DNS, and it has been significantly improved compared to Merrp's DNS. In this system, I have removed HGSS-style Pokemon followers, retaining only a dynamic overworld palette system and including backward-compatible 16-bit graphics IDs for object events.

Clone this wiki locally