Skip to content

Useful Modding Tools

Lox edited this page Apr 9, 2026 · 5 revisions

The vast majority of edits to pokeemerald are done either by modifying the code files in a text editor, or editing resource files with general-use programs such as image or sound editors. However, some parts of the repository either require special tools to properly edit them, or editing them becomes significantly easier with the use of said tools.

This page lists some helpful tools for creating custom games in pokeemerald, as well as a short summary and a link to its page. If you require assistance in using any of these tools, help can always be found on the pret discord.

Porymap

Type: Map Editor
Usefulness: Essentially required
Maintainer: huderlem
Download: Github Repository

Porymap

Porymap is a nearly universally-used editor for creating maps in Generation 3 decompilation projects. Not only does it handle the nitty-gritty of creating the map json files used by pokeemerald, but allows you to add and edit events, warps, connections, and much more with ease. There are also some miscellaneous features to help with mapping.

Full documentation can be found here.

Poryscript

Type: Script Compiler
Usefulness: Makes scripting easier
Maintainer: huderlem
Download: Github Repository

Poryscript is a new scripting language that can be added to your Makefile to automatically compile into normal scripts when building your ROM. Much of its syntax is the same as normal scripts, but it adds some basic features to make scripting easier, such as high-level control logic (proper if/then statements), an auto-formatter for message boxes, and improved map script organization. Those wishing to make complicated scripts in their hack should consider including this in their project.

You can test it online here.

Tilemap Studio

Type: Tilemap/Tileset Editor
Usefulness: For creating backgrounds
Maintainer: Rangi42
Download: Github Repository

Tilemap Studio

The vast majority of background images in pokeemerald use a graphical data file called a tilemap, which splits the background images into 8x8 pixel chunks to save space in memory. If you wish to edit these backgrounds, this tool will do the splitting for you and allow you to create the tilemaps to use in your project.

PoryMoves

Type: Moveset Editor
Usefulness: Useful for expanded Pokémon
Maintainer: AsparagusEduardo
Download: Github Repository

This tool allows you to set movesets for all Pokémon. You can choose from data from multiple generation ranging all the way up to the most recent games. Additionally, you can customize and modify the movesets after selecting a template.

Pokémon Emerald Textbox Simulator

Type: Web-based tool
Usefulness: Extra useful if not using Poryscript
Maintainer: meejle
Open in a new tab: Github.io

idk

This is a laughably-simple web-based tool that allows you to experiment with text wrapping and sentence lengths in your browser, without having to rebuild your ROM every time. Even if you're using Poryscript, this might save you some time rewriting your sentences to stop them wrapping onto too many lines.

Porypal

Type: Palette / Sprite Editor
Usefulness: Makes importing and handling graphics easier
Maintainer: Loxed
Download/Clone: Github Repository

features

The GBA can only display 16 colors per sprite. This is a hardware limitation, not 16 colors total, but 16 per palette, and every sprite has to use exactly one.

This means you can't just export a PNG from your art program and drop it into the game. Your sprite needs two things first:

A palette: a `.pal` file listing the 16 colors your sprite is allowed to use
A converted sprite: every pixel remapped to the nearest color in that palette

Porypal brings a suite of tools to fix this problem along with extra features to handle special types of sprites (shiny pokemon, item variants (e.g. potion, super potion)), making injecting and managing custom graphics in game much easier.

Clone this wiki locally