SkyTemple

From SkyTemple
Revision as of 21:08, 15 August 2024 by Frostbyte (talk | contribs) (Add Symbols section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

SkyTemple is a ROM editor for the video game "Pokémon Mystery Dungeon Explorers of Sky" (not official). It allows you to edit almost any aspect of the game, from the game's script scenes, to Pokémon data and Dungeons.

The editor is split into multiple sections which let you edit the various aspects of the game.

First launch

The first time you open SkyTemple it will show you two dialogs.

The first dialog asks you for your consent to collect user information whenever SkyTemple runs into an error. This helps us to fix issues with SkyTemple much easier, but it is fully optional. See the privacy policy for error reporting for information. You can change your preferences at a later time in the settings.

Afterwards you will presented with the SkyTemple main UI, where you can load a ROM to get started.

You will then be shown a second dialog, that introduces you to SkyTemple (welcome screen). It shows a brief introduction and may have linked you to this wiki. It also allows you to insert a "Created with SkyTemple" logo to the startup splash screen that shows when the game is started.

Loading a ROM

To load a ROM file, select the "Open" button in the top-left of the application. You can find a list of recently opened ROMs here or select "More Files" to browse for a ROM file.

Supported are all valid Nintendo DS ROM files (.nds files) that identify themselves as Pokémon Mystery Dungeon: Explorers of Sky. It can also open most ROM hacks of the game, unless the author of the hack has implemented measures that prevent SkyTemple from detecting it as a valid ROM of the game.

Menu options

On the top-right of the application you find various options.

  • SkyTemple Script Engine Debugger Logo (a bug/beetle): Clicking this button opens the Script Engine Debugger to test the game and modify it's scripts.
  • Reload icon: Clicking the reload icon will reload the current ROM, discarding all changes. This is useful if you edited the ROM in another tool.
  • Question mark icon: This opens the SkyTemple Wiki page that is relevant to the section you are currently editing.
  • "Save": Saves the changes you made to the ROM. This saves all files to the ROM that were modified in either the main SkyTemple application or in the Script Engine Debugger. In both applications, changed sections and files are marked with an asterisks (*). Saving can also be done with the keyboard shortcut CTRL+S.
  • "...": Opens a menu with additional options
    • "Save as...": Saves the ROM under a different file name. The editor will then also use this new file name the next time you hit "Save".
    • "Show welcome screen...": Shows the welcome screen dialog again, see First launch.
    • "Settings...": Opens the Settings dialog, which allows you to configure global settings for the application.
    • "Open Image Converter...": Opens the Tilequant image converter. This converter allows you to convert any image in the formats needed by the game.
    • "Open SpriteCollab Browser...": Opens the SpriteCollab Browser, which allows you to download Pokémon portraits and sprites from the community.
    • "Open config directory...": This opens the SkyTemple application configuration directory in your file browser. This directory also contains the log files SkyTemple generates, which can be useful if you encounter issues to report them.
    • "About": Opens a dialog that shows you the authors of SkyTemple, the license and the version of SkyTemple you are currently running.

Sections

After opening a ROM in SkyTemple, the editor will show a list of sections on the left side of the application. You can open all entries in this list by double-clicking.

You can expand the sections to see additional entries, such as a list of Pokémon or Dungeons to edit. The sections themselves may also provide some general settings when double-clicked.

ROM Settings ("<name of ROM>.nds")

This root section is the first section opened whenever you open a ROM. It lets you edit basic information about the game.

Patches

Main page: Patches Section

The Patches section allows you to apply bundled ASM patches that modify the game in substantial ways. It also allows you to load user-created ASM patches or your own and explains how to apply patches written in Rust or C.

Lists

Main page: Lists Section

The Lists section contains various lists and tables inside the game related to all sorts of things, such as starters, world map markers, menu configuration and IQ settings.

Text Strings

Main page: Text Strings

The Text Strings section allows editing all text that is not inside of scripts (script text is stored inside the scripts).

Script Scenes

Main page: Script Engine

Script Scenes are arrangements of NPCs, objects, performer (camera) and triggers on the overworld. This section lets you edit the layout and composition of these scenes, while the actual scenes are scripted and can be edited using the Script Engine Debugger.

Pokémon

Main page: Editing Pokémon

The Pokémon section lets you modify all data about each Pokémon in the game. Pokémon are grouped by female and male forms (even if they are genderless or only have one gender).

Items

Main page: Item Data

The Items section allows you to edit item properties and global item tables, such as the shop item tables. Dungeon item tables can be modified for each dungeon floor in the Dungeons section.

Moves

Main page: Move Data

The Moves section allows you to edit Pokémon move properties

Map Backgrounds

Main page: Map Background

Each script scene in the game has one or multiple Map Backgrounds (usually named in a similar way, but this does not necessarily have to be the case). These backgrounds are used for overworld locations, such as Treasure Town, but also cutscene images and the logos shown on startup.

Object Sprites

Main page: Object Sprite

Objects placed in script scenes can have sprites just like Pokémon. In this section you find a list of all object sprite files in the game and can edit them.

Backgrounds

Main page: Misc. Background

The Backgrounds section contains backgrounds used for special purposes, such as the main menu backgrounds.

Dungeons

Main page: Dungeon List

Mystery Dungeons are the main gameplay element of this game. In this section you can group and edit dungeons and their properties as well as modify the properties of each floor in a dungeon. Each floor can have unique generation properties and item, trap and Pokémon spawn lists.

Fixed Rooms

Main page: Fixed Room

Fixed Rooms are special dungeon rooms or floors used for treasure rooms, puzzle floors or boss fights. In this section you can edit their layout.

Dungeon Graphics

Main page: Dungeon Graphics

The graphics in dungeons are made out of tilesets. Fixed Rooms may even use a full image as a background. Additionally items and traps can spawn in dungeons which also have unique graphics. You can edit all of these graphics in the Dungeon Graphics section.

Misc. Graphics

Main page: Dungeon Graphics

The game has various other graphics for all kinds of purposes, which you can edit in the Misc. Graphics section.

Symbols

Main page: Symbols

The Symbols section allows you to edit some internal values of the game that are normally hardcoded.

Script Engine Debugger

By clicking the SkyTemple Script Engine Debugger Logo (a bug/beetle) (bug) icon in the top bar of the editor, you can launch the SkyTemple Script Engine Debugger.

With this tool you can test your game inside a bundled emulator and modify the code of the game's script scene. While the Script Scenes section in the main UI lets you edit the layout of the scenes (such as NPC placements), the actual scripts that run these scenes can be edited here. These scenes are used almost everywhere in the game outside of the main menu, dungeons and most of the personality quiz and shop menus. They are used for cutscenes, NPC interaction all player-controlled overworld maps. The game runs them in the so-called "Ground Mode" using its Script Engine.

Project directory and sharing your game

When you open a ROM in SkyTemple, the app will create a directory next to the ROM file, it is named the same as the ROM file suffixed with ".skytemple". This directory can safely be deleted and is not needed to play the ROM, however it contains information that is very useful for editing the game. This includes the source code for all scripts you edited and macro files. If you delete the directory SkyTemple will decompile scripts again, which leaves them in a rather unreadable state and removes all comments you made.

To share the ROM Hack / mod you made, save the ROM in SkyTemple and create a patch file from your game based on a clean copy of the original game ROM. You don't need to share the project directory. Never share the ".nds" file itself, only patch files. See the FAQ for more information.

Reporting issues

If you encounter an issue with SkyTemple, such as an error dialog, please share the issue with us so we can improve SkyTemple.

You can report issues on our community Discord server or preferably on our GitHub repository. Please include as much information as you can about what caused the error and share error details if available.

You can also enable error telemetry. In that case SkyTemple will automatically send error reports to the developers.

See also