-
Notifications
You must be signed in to change notification settings - Fork 584
Tutorials (Beta)
This page is a work in progress and is not currently being actively maintained. See discussion here: https://discord.com/channels/442462691542695948/1028919070839537684
This is a collection of handy modifications for pokeemerald. Modifications tend to range in both size and scope and cover all different facets of the games. The goal of this collection is to share resources among all fan-game developers while also showcasing to newer developers the ease and benefits of switching to decompilation-based projects.
This is intended to be a more sustainable version of the indexes that Avara and Anon822 maintained. Thank you both for all of your hard work!
- PLEASE make sure your implementation works in an unchanged/vanilla version of the game.
- PLEASE try formatting your tutorial for ease of reading. An excellent format to follow can be seen in Rangi's Adding a Pokémon Type & Disabling the Mystery Type.
- Choose a place to submit your tutorial. Github is preferred, but if you can't use GitHub, you can create a new post in this thread.
- Please add your tutorial to the table. (Or ask somebody who can, like psf on PokéCommunity, or members of #pokeemerald in pret.) Adding to the index will help other developers find it quickly and easily.
- Publicize your work! Post about it on reddit, Twitter, or discord communities like #pokeemerald in pret or #decomps-disassemblies in PokéCommunity. Spread the good word, & thanks for the contribution!
☺️
Hovering your mouse over the title of or icons in each column will explain what each column/icon signifies. If a tutorial has [ALT] after it, that means there is more than one way to implement this feature, and another example has been provided.
Tutorials may use diff syntax to show edits:
this is some code
-delete red - lines
+add green + lines
Fixes a bug in Pokémon Emerald.
Title | Difficulty | Gen | Bug | UI | Item | Script | OW | Gfx | Battle | Code |
---|---|---|---|---|---|---|---|---|---|---|
Example Table Row | ⭐⭐⭐ | 8 | 🐛 | 📋 | 🎒 | 📝 | 🌎 | 🎨 | ⚔ | 💻 |
Faster HP Drain | ⭐ | 5 | 🐛 | 📋 | 🎨 | ⚔ | ||||
Make space for EWRAM Data for Summary screen | ⭐ | 🐛 | 📋 | 💻 | ||||||
Not showing dex entries until getting the Pokédex | ⭐ | 🐛 | 📋 | |||||||
Wrong Save Type Error Screen | ⭐ | 🐛 | 📋 | |||||||
Implement Missing Text Function RESET_SIZE | ⭐ | 🐛 | 📝 | 🌎 | ||||||
Surf Dismount Ground Effects | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Fix Snow Weather | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Keep the Camera from Making Waves | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Better Reflection System | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Snow Weather Fix | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
[Pokefirered] Snow Weather fix ported | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Force load offscreen object events with a flag | ⭐ | 🐛 | 🌎 | 🎨 | ||||||
Fix critical bug with wild land Pokemon encounter ratio | ⭐ | 🐛 | 🌎 | ⚔ | ||||||
Restoring the Shred Split Battle Transition | ⭐ | 🐛 | 🎨 | ⚔ | ||||||
Improve the Loading of Battle Terrain | ⭐⭐ | 🐛 | 🎨 | ⚔ | ||||||
Improving the WaitForVBlank function | ⭐ | 🐛 | 🎨 | 💻 | ||||||
Fixing Battle Factory opponent IV Glitch | ⭐ | 🐛 | ⚔ | |||||||
Seeding the RNG properly on startup | ⭐ | 🐛 | 💻 | |||||||
⬆️ |
User interface of the game, such as menus, dropdowns, options, selections, etc.
Anything involving items.
Anything involving scripting.
Anything involving the overworld.
Look, feel, or display of the game. Has no bearing aside from visuals.
Title | Difficulty | Gen | Bug | UI | Item | Script | OW | Gfx | Battle | Code |
---|---|---|---|---|---|---|---|---|---|---|
Forcing Battle Anims for Major fights | ⭐ | 1 | 🎨 | ⚔ | ||||||
Trainer Class-Based Poké Balls | ⭐ | 7 | 🎨 | ⚔ | ||||||
Adding a New Trainer Class | ⭐ | 🎨 | ⚔ | |||||||
Battle music changes depending on the map the player is in | ⭐ | 🎨 | ⚔ | |||||||
Trainer Backsprite Editing | ⭐⭐ | 🎨 | ⚔ | |||||||
Editing Battle Backgrounds | ⭐⭐ | 🎨 | ⚔ | |||||||
Adding a New Trainer Image | ⭐⭐ | 🎨 | ⚔ | |||||||
Custom Battle Transition Mugshots | ⭐⭐ | 🎨 | ⚔ | |||||||
New Battle Transitions | ⭐⭐ | 🎨 | ⚔ | |||||||
De-linking Palette Sharing Between Player Back & Front Sprites | ⭐ | 🎨 | 💻 | |||||||
Implementing ipatix's High Quality Audio Mixer | ⭐⭐ | 🎨 | 💻 | |||||||
Changing Birch's Intro Pokémon | ⭐ | 🎨 | ||||||||
Change the title screen music | ⭐ | 🎨 | ||||||||
Remove the "Green Flash" screen of the opening's background when the pokemon logo appears | ⭐ | 🎨 | ||||||||
Skipping the Rayquaza Intro | ⭐ | 🎨 | ||||||||
Using Affine Animations | ⭐⭐⭐ | 🎨 | ||||||||
⬆️ |
Anything involving battles, such as stats, attacks, encounters, etc.
GBA hardware or background functionality, such as RNG seeds or palette loading.
Title | Difficulty | Gen | Bug | UI | Item | Script | OW | Gfx | Battle | Code |
---|---|---|---|---|---|---|---|---|---|---|
Delete save file | ⭐ | 💻 | ||||||||
Remove Pokemon Data Encryption | ⭐ | 💻 | ||||||||
Saveblock Cleansing | ⭐ | 💻 | ||||||||
[pokefirered] Remove redundant move grammar tables | ⭐ | 💻 | ||||||||
[pokefirered] Native Real-Time Clock | ⭐ | 💻 | ||||||||
Faster Soft Resets | ⭐ | 💻 | ||||||||
Version Identification | ⭐ | 💻 | ||||||||
Enable trade with FRLG without beating the game | ⭐ | 💻 | ||||||||
Extra save space with two lines of code | ⭐ | 💻 | ||||||||
Uniquely Shuffle Arrays | ⭐⭐ | 💻 | ||||||||
Debugging using printf | ⭐ | 💻 | ||||||||
⬆️ |