• 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
    • 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.
     
    27
    Posts
    6
    Years
    • Seen Nov 19, 2023
    Oh dang you also included trainer editing, nice! Will probably use this tool ^^
     
    11
    Posts
    5
    Years
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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