• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Decomp Overworld Editor(and more)

11
Posts
5
Years
  • Age 28
  • Seen Nov 16, 2022
PokeEmerald Decomp Tools

Hi all,

I've lurked for a while, but decided that I should actually maybe give something back. I've been working on a rom hack in my spare time and developed a few tools to make it easier to interact with the decomp codebase. I've done some testing in my own rom hack, but I'm not perfect so I would still recommend being cautious.

Overworld Editing

The first tool is an editor for overworlds, i.e. event objects. It allows for modifying all of the properties of overworld sprites(adding overworlds, new spritesheets, new palettes, etc.), and effectively gui-ifies the pret tutorial. It can also auto-generate a new palette from the sprite image(shameless plug that you should use dynamic overworld palettes, palette slots are annoying)

2S0RhZB.png


It also allows for modifying/adding new sprites to the sprite sheet.
Spoiler:


Here is a simple demo I put together for a friend of replacing the totodile doll with an animated version:

Spoiler:


Trainer Editing
(Unfortunately for me I made this before Disturbo released theirs, but I'll document it here anyways)

The tool also contains a builtin trainer editor that allows for modifying all of the different properties of a trainer, e.g., name/C identifier/class/pokemon/etc.

OJQvtXd.png


The list of trainer classes can also be modified/expanded.

Spoiler:


Lastly, there is some support for adding/editing the front pictures of the trainer sprites. It will automatically handle the palette and file copying.

Spoiler:


For those interested, I would treat this as an alpha-ish release as there are still things that need to be cleaned up(e.g. documentation, sanitizing names, etc.). Just about everything has a tooltip, so hovering if you get lost can help. The current code can be found at https://github.com/River707/decomp-editor

Hope this helps someone.
 

takyon

Villain
17
Posts
6
Years
  • Age 25
  • Seen Aug 31, 2023
This is great stuff, what do I need in order to build it?
 
27
Posts
6
Years
  • Age 23
  • Seen Nov 19, 2023
Oh dang you also included trainer editing, nice! Will probably use this tool ^^
 
11
Posts
5
Years
  • Age 28
  • Seen Nov 16, 2022
This is great stuff, what do I need in order to build it?

As was noted in one of the other responses, the releases section on github has some prebuilt binaries. If you want to build it yourself you just need Visual Studio 2019(+C# development tools) to be able to open the project solution.
 
4
Posts
3
Years
  • Age 33
  • Seen Aug 19, 2022
I tried to use this tool today, however when I selected the pokeemerald folder to load the program froze and was unable to load. Are you aware of any troubleshooting steps I should take to load my project?
 
7
Posts
10
Years
  • Age 37
  • Seen Oct 31, 2023
I tried to use this tool today, however when I selected the pokeemerald folder to load the program froze and was unable to load. Are you aware of any troubleshooting steps I should take to load my project?

Try the 0.1.1 Release

works fine for me
 
4
Posts
3
Years
  • Age 33
  • Seen Aug 19, 2022
Thanks I didn't even think to try that version. 0.1.1 works perfectly, it's the 0.1.2 release that freezes
 
11
Posts
5
Years
  • Age 28
  • Seen Nov 16, 2022
I tried to use this tool today, however when I selected the pokeemerald folder to load the program froze and was unable to load. Are you aware of any troubleshooting steps I should take to load my project?
Sorry about that, looks like I donked up loading from a clean tree in 0.1.2. That's what I get for only testing in my project. Should be fixed now.

I have some plans to make troubleshooting and other things easier, but I've been busy with work lately so not much time to put into pokemon related stuff.
 

vxo

ROM Hacker
63
Posts
6
Years
This tool is awesome, and when it was working for me it was super nice using.

However, the most recent downloadable version (0.1.3) has suddenly stopped working for me. When I run it, nothing happens despite the program showing up in my Task Manager. I also tried to run an older version, which was able to open but was unable to load my project. Hopefully there is a way to fix this for future releases.
 

vxo

ROM Hacker
63
Posts
6
Years
My github export script seems to have been broken. I just re-pushed a release for 0.1.4.

Dang, still having issues loading up my Project. It seems that other people have this issue as well. Is there some sort of crash report or log that is generated? If not, that would be an excellent idea to add to this to help you fix bugs and other issues.
 
11
Posts
5
Years
  • Age 28
  • Seen Nov 16, 2022
Feel free to file a bug on the github page, even better if your project is something I could clone and load up. One thing that did change at some point is that I supporting multi-line struct definitions for data\object_events\object_event_graphics_info.h, they look really nice in code but porymap doesn't load them properly.

I've been kind of delaying some of the crash cleanup stuff, because I switched to a different format for event objects a while ago(~1-2 months). I've been moving the tool to generate that instead of the default format because it is way easier to work with and much easier to support custom extensions. Once I have a nice conversion from standard to that, will likely be a better release but that is all tied in a dev branch.
 

vxo

ROM Hacker
63
Posts
6
Years
Feel free to file a bug on the github page, even better if your project is something I could clone and load up. One thing that did change at some point is that I supporting multi-line struct definitions for data\object_events\object_event_graphics_info.h, they look really nice in code but porymap doesn't load them properly.

I've been kind of delaying some of the crash cleanup stuff, because I switched to a different format for event objects a while ago(~1-2 months). I've been moving the tool to generate that instead of the default format because it is way easier to work with and much easier to support custom extensions. Once I have a nice conversion from standard to that, will likely be a better release but that is all tied in a dev branch.

If you'd like to clone my current repo, here's the link for it: https://github.com/vexio/pokeemerald/tree/pokechroma

I'll file an Issue via Github as well with further details if possible.
 
11
Posts
5
Years
  • Age 28
  • Seen Nov 16, 2022
Took a look and seems like you have a duplication definition of `OBJ_EVENT_PAL_TAG_1` which was causing an exception. It shouldn't fail in that case, but fixing that allowed for it to load properly.
 
4
Posts
5
Years
  • Age 27
  • Seen Apr 17, 2024
The original link is down. I'm sure it needs to be updated, but does anyone have another source for this?
 

Lunos

Random Uruguayan User
3,114
Posts
15
Years
4
Posts
5
Years
  • Age 27
  • Seen Apr 17, 2024
Thanks, those were helpful, especially the archive link since it included the prebuilt files. Unfortunately, I couldn't get it to work. V0.3.0 and V0.2.0 both had a "Index was outside the bounds of the array" error trying to open the projects, and older builds either locked up or did nothing trying to open the projects. This includes both following the extra steps in the readme, and using some pokeemerald commits from back when this tool was made. All I can figure is that this tool doesn't like win11 for some reason?

I'm just going to have to import the 100ish overworld sprites manually then. I've already spent too much time trying to fix other people's tools/scripts/etc. instead of actually working on my hack.
 
Back
Top