Skip to content

4.1 Alpha Usage

Evan Dixon edited this page May 8, 2018 · 1 revision

This is the old guide. Please see the new guide here.

Version 4.1.0 is still in active development, but when used properly it still gets the job done. The below usage for creating and using projects is functional enough for demonstration. Doing anything not described below may cause crashes, glitches, or unexpected behavior. Please report any issues you encounter here so fixing them can be prioritized.

== Requirements ==

  • The .Net Framework 4.6.2
  • Java, if you want to use the Script and Language mod for PSMD and PMD: GTI (see below).

== Usage == To run an alpha version of Sky Editor:

Build the project, or acquire an already-built version

Run SkyEditor.ROMEditor.UI.WPF.exe

To display the correct windows:

Resize the main window however you like. Bigger is better.

Use Tools -> Settings

(Required until #50 is resolved) Check "Enable Development Mode".

(Required until #50 is resolved) Use File -> Save -> Save File

(Required until #50 is resolved) Close and reopen Sky Editor

Use View -> Solution Explorer

Use View -> Solution Build Progress

Use View -> Errors

Rearrange the windows however you like by dragging them around.

(Optional) Save your layout by closing and reopening Sky Editor

To create a ROM Hack Project:

Use File -> New Solution

Call it something directory safe (no question marks, exclamation points, etc. Spaces are fine)

Choose "DS Mod Solution" as the Type.

Choose a directory to store the solution. A directory with the same name as the solution will be made inside this.

Click OK

Go through the wizard you're presented, giving it a decrypted ROM. Supported formats are *.nds, *.3ds, *.cxi, and *.cia. These files must have been decrypted using Decrypt9 or a similar tool. Instructions can be found here; just follow the "Decrypting" section, and you can ignore the "HackingToolkit" stuff since Sky Editor takes care of that.

Wait for the extraction to complete. If it completes and the Finish button is disabled, click Back then Next.

Just to be safe, use File -> Save Solution. This will prevent you from having to repeat everything up until this point if there's a problem.

Right click the Solution node (called "[Directory] ") in Solution Explorer, and select Create Project.

Choose a mod type (detailed below), and wait for things to finish loading.

Make appropriate changes.

Right-click the ModPack project, and choose properties. Here you can set details for your ModPack. If you chose a 3DS ROM, you can also choose which outputs you want to build to: 3DS (0-key encrypted for Gateway), 3DS (for Gateway or Sky3DS with CFW after encrypting with Decrypt9), CIA (for CFW), and HANS (for homebrew). If you used Braindump to get your base rom, do not use anything but HANS. Do not check both encrypted 3DS and decrypted 3DS at the same time.

(Optional if you didn't choose HANS) The Short Name property in the previous step controls what the romfs and code files in Hans will be called. I haven't found any ''rules'' described anywhere for naming, so I recommend having this somewhat short (9 characters works, I don't know about more).

Use the Solution -> Build menu item, and wait for loading to complete.

When everything's finished, use Windows Explorer to browse to the directory you chose in step 4. Look in /{SolutionName}/ModPack/Output for the files that were just built. The .zip file is a redistributable ROM patcher (see below for permissions). If you chose "Build HANS", you'll see a folder called Hans SD. The contents of Hans SD can be copied to the root of your SD card.

To open an existing solution, use File -> Open -> Open (Auto-Detect File Type), and browse to the *.skysln file. You may have to change the "File Type" drop-down in the dialog to "All Files"

== Supported Mod Types == There are a few mod types that come with this version of Sky Editor:

  • Generic Mod ** This is the core of all mods. Use this mod if you want to change an unsupported file type, or use an external program to edit things. Take care not to change any files in the BaseRom project, or the build output will be invalid, and will almost certainly not run. ** Works for all NDS and 3DS games.
  • Script and Language Mod (For PSMD and PMD: GTI) ** Decompiles the lua scripts, and recompiles them on build. Also provides a UI to edit the corresponding language files. ** The script files can be opened in Sky Editor to have color highlighting. In the future, there may be auto complete. ** Add control characters (like \C200, which centers text in-game). Details [https://projectpokemon.org/wiki/Pmdgti_TextDb here]. ** Adding an item to a language file will create a new item in each language with a unique ID that's unique across all IDs in the same project. The first time you click "Add", Sky Editor will load all the used IDs into memory, which may take a minute. After the first ID has been added, all further additions made during the life of the application should occur in less than a second. ** Only the lua scripts that have been changed will be recompiled. There is currently a bug where if you change a script, compile, then change it back to what it was originally, it will not recompile, and the script will stay edited. To avoid this, try inserting white space, or a comment. ** Works in Pokemon Super Mystery Dungeon and Pokemon Mystery Dungeon: Gates to Infinity.
  • Starter Mod (PSMD) ** Patches the scripts for Pokémon Super Mystery Dungeon to allow the starters of your choosing to be available for the player and partner.
  • Starter Mod (Explorers) ** Allows changing the starter Pokemon for both you and your partner. Also updates the language files for the personality test, specifically the "So a ___ type like you... will be a ___" lines. ** Works in Pokemon Mystery Dungeon: Explorers of Sky.
  • Starter Mod (Rescue Team) (Displays as "SkyEditor.ROMEditor.MysteryDungeon.Rescue.Projects.BlueStarterModProject" for now) ** Basic patch for Blue Rescue Team (US) that allows modifying the player and partner starters.
  • Portrait Mod ** Extracts the portraits in Kaomado.kao for easy editing with external programs. It also fills in missing portraits with the default one (so if you play as a non-supported starter Pokemon, the default portait will appear all the time, instead of only sometimes. ** Works in Pokemon Mystery Dungeon: Explorers of Sky.
  • Background Mod ** Converts the images in the TOP folder into bitmaps, which can be edited with external programs. Will be converted back on build. ** Rules for the images: *** No more than 16 colors in each 8x8 tile. *** Having many different colors in adjacent 8x8 tiles may cause the palette to run out of room faster. *** If the image is built ''just'' right, there is a maximum of 256 colors. ** Works in Pokemon Mystery Dungeon: Explorers of Sky.

There may be others, but the ones above are currently the only ''supported'' ones.

== Redistributable ROM Patcher Permissions== The whole point of the Mod solution is to generate this patcher, since most of the files used to create it are ''not'' redistributable. It (theoretically) contains everything one would need to apply your ROM hack to their ROM. You have full permission to redistribute this zip file in its unaltered form (that is, if Sky Editor is the only thing that touches the contents). If you alter it, you only have permission to distribute it if it is clearly labeled as modified.

The project files are ''probably'' finalized, but may change if there's a flaw in their design. This means that if/when the patcher is updated, all you will ''probably'' need to do to create a new patcher zip is just use Solution -> Build again. If the project format is changed intentionally, there will be instructions on how to convert the project, or move around the files.

== Known Issues == See issues

== Credits ==

  • psy_commando for writing several utilities used in Explorers of Sky editing.
  • Kaphotics for writing pk3DS, which is included, but its integration is not fully supported for the time being.
  • SciresM for writing 3DS Builder, which I modified to add command-line argument support.
  • Neimod, for writing ctrtool.
  • DarkFader, for writing ndstool.
  • Joshua MacDonald, for writing xdelta.
  • The DeSmuMe team, for writing, well, DeSmuMe.
  • PUC-Rio for lua
  • Christopher Snowhill for vgmstream, which is included, but its integration is not fully supported for the time being.
  • Several others, including those who wrote some of the WPF components I'm using
Clone this wiki locally