Jump to content

PMD2 - SkyTemple ROM Editor (Maps, Scripts, Debugger, ...)


Recommended Posts

Project website: https://skytemple.org

 

Hi!

A few months ago I wondered if there are any tools to make custom PMD2 ROM Hacks. I found out that much work on the games had been done, but there wasn't really any user friendly GUI editor to make custom ROM hacks. So I decided, I'd give it a shot and try to make my own.

This tool can edit both the ROMs of Pokémon Mystery Dungeon Explorers of Sky EU / NA.

Now, before I begin, I want to stress that NONE of this would have been even remotely possible without people like @psy_commando, @Nerketur, @evandixon, @MegaMinerd or any of the other PMD ROM hackers. I'm not somebody who's good at reverse engineering ROMs or actually finding out how stuff works. They did all the hard work (especially Psy!) and they deserve all the credit for it! All I did was filling some gaps and building this editor, that I'll now present to you...:

Features

Map Background Editor

mapbg.png

Let's you view and edit the backgrounds of the map. Supports importing map backgrounds from image files. The collision of the map can also be changed.

Scene Editor

scenes.png

Let's you edit the position of Pokémon and Objects on the overworld maps and change how cutscenes are built.

Script Editor / Debugger

debugger.png

Let's you edit the script files of the game and debug them in realtime.

> Script Editing

You can edit all scripts in the game with features like auto-completion and calltips.

> Debugging

You can set breakpoints and let the game halt at different parts of the code.

> Debug Overlay

A debug overlay shows you where objects, triggers and Pokémon are rendered and what their hitboxes are

> Game State

View the current state of the Ground Engine, the game's script engine: What scripts and scenes are currently loaded and which actors and objects are placed on the map?

> Variables

View and modify the current game variables in real time.

> ExplorerScript

ExplorerScript is a new high level language that the scripts in SkyTemple are written in. It is compiled to the binary code (SSB) that the game uses.

Dungeon Editor

dungeon.png

Edit and create your own dungeons and customize the spawns for each floor.

Dungeon Tileset Editor

dungeon_tilesets.png

Edit the graphics of dungeon tilesets.

Fixed Room / Boss Fight Editor

fixed.png

Edit treasure rooms and boss fights, create entirely new bosses and assign them to dungeons however you like.

Ground Lists

worldmap.png

Change various lists in the game, such as the starters, the recruitment list, a list of placable NPCs (actors) or the world map.

Pokémon Data

monster.png

Edit the data of Pokémon, including stats, move learnsets and portraits.

More Features

  • Apply ASM patches to add new functionality to the game
  • Edit misc. graphics, such as the fonts or the message borders
  • Edit all text in the game

Source Code

Can be found on GitHub: https://github.com/skytemple

Downloads (Linux, Mac, Windows)

 

Discord

We have a Discord community for support: https://discord.gg/4e3X36f

starters.png

Edited by Parakoopa
  • Like 5
Link to comment
Share on other sites

I see that you are planning to add support for dungeon editing so I would like to help by posting everything I know about dungeon data in EoS, which I have compiled in this document: https://docs.google.com/document/d/1UfiFz4xAPtGd-1X2JNE0Jy2z-BLkze1PE4Fo9u-QeYo
I hope this helps with the development and makes everything easier. I'll join the Discord too, so feel free to ask me anything if you want.

  • Like 2
Link to comment
Share on other sites

  • 5 weeks later...
  • 4 weeks later...
  • 2 weeks later...

This is really amazing. I waited 10 years for mystery dungeon rom hacks. I was only wondering though. When I try to change my hero into a legendary / genderless pokemon, the screen frames become pink (this happens when you access the dungeons).

Now I know that this shouldn't really be much of a problem, but is there a way that the screen frames remains being blue when your hero is genderless?

 

Edited by CelebiOfficial
Link to comment
Share on other sites

12 hours ago, Parakoopa said:

What you can definetly do is change the palette for the female border to be the same as the male. Otherwise I'd probably require some code changes to make that work. 

Changing the pallete for the female border to the male one would be a good option indeed. Still, I was just curious if it could be implemented with a code fix since I would have to do that for each rom hack I create! ^^

Link to comment
Share on other sites

  • 3 weeks later...

Hi, 

1. that's not a virus message, it's just a normal message for most downloaded software. Click "Weitere Informationen" and it will let you run it. 

2. Until a few days ago Windows Defender acutally flagged SkyTemple as a virus. That has been cleared with Microsoft and it's no longer the case if you download the newest update of Windows Defender. 

 

There is no virus in SkyTemple. 

Link to comment
Share on other sites

  • 7 months later...

@Parakoopa Defender seems to think it's a virus again, check the latest review on your download.
You may wanna track down the line of code that makes the virus checkers think it's a virus.

 

@BobbyKazami read the post above mine. You can also run through the source code that is on github to 'find the virus'.
Virus checking programs once thought that my own innocent program was a virus, simply because I look for a particular file in the same directory, to be used as some kind of settings document..

Link to comment
Share on other sites

Suggestion for the Fairy-Type Gummi patch - would it be possible to add as a standard part or option of that patch, or as patch depending on it, a second function that, for every item-list that has the other 17 Gummis, append the Fairy Gummi to that list, with the same weight (or perhaps average, considering that some lists have slightly different weights across the different Types) of the other Gummis in that instance of that list?

At the moment, after patching in the Fairy-Type and its Gummi, one has to then manually add the Fairy Gummi to every list by hand.

Edited by ABZB
Link to comment
Share on other sites

  • 1 month later...
  • 11 months later...

I've tried to download several times but keep getting a network error.

I still can't tell if it's my computer objecting to this or if it's a problem on the site's side, or if there's something about this fine; I'm in the dark about all of this.

If anyone has any suggestions about this, I'd be willing to accept them.

Link to comment
Share on other sites

7 hours ago, Yukondiggy said:

I've tried to download several times but keep getting a network error.

I still can't tell if it's my computer objecting to this or if it's a problem on the site's side, or if there's something about this fine; I'm in the dark about all of this.

If anyone has any suggestions about this, I'd be willing to accept them.

Nvm, I got it. Don't know why it didn't work the first time :P

Link to comment
Share on other sites

  • 4 months later...

Even though I already asked this before, did anyone create/find a fix yet for the pink frame color which occurs when you play a genderless Pokemon?

Because when you choose a genderless Pokemon as a starter, the framecolor changes to pink when you access a dungeon.

The only (semi) fixes I could find on the internet is an action replay code (works on bottom screen only):

222A7F40 000000X0
222A7FC0 000000X0
222A8040 000000X0
222A80C0 000000X0

Replace X with..
0 = Blue
2 = Pink
4 = Green
6 = Yellow
8 = Black

Another way is to replace the gender with male or to replace the pink frame with the blue frame through a hex editor, but I am still curious if anyone has found a better fix for it.

 

Link to comment
Share on other sites

  • 1 month later...

Every time I try to apply the asm patches, I get an error like this. Is there a prereq I'm missing or something?

Failed applying patch 'ActorAndLevelLoader'. The ROM may be corrupted now.
Traceback (most recent call last):
  File "skytemple_files\patch\handler\actor_and_level_loader.py", line 137, in apply
  File "skytemple_files\patch\patches.py", line 359, in _apply_armips
  File "skytemple_files\patch\arm_patcher.py", line 205, in apply
skytemple_files.user_error.PatchErrorUser: ARMIPS reported an error while applying the patch.



The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "module\patch\controller\asm.py", line 147, in on_btn_apply_clicked
  File "module\patch\controller\asm.py", line 320, in _apply
  File "skytemple_files\patch\patches.py", line 305, in apply
  File "skytemple_files\patch\handler\actor_and_level_loader.py", line 140, in apply
skytemple_files.user_error.RuntimeErrorUser: ARMIPS reported an error while applying the patch.



The list was extracted anyway.
You can already edit it through SkyTemple, but it won't be used in game, until you successfully apply the patch.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...