-
Notifications
You must be signed in to change notification settings - Fork 37
Tutorial: The Graphical User Interface
While CoilSnake's graphical user interface (GUI) is straightforward in design, it is highly effective at performing its intended functions. Though much of the interface is intuitive, providing additional context can enhance usability. Each tab serves a distinct purpose, which we will outline in detail below.
To launch CoilSnake's GUI, execute the provided EXE file on Windows. On Linux or macOS, run the following command from a terminal after installation:
coilsnake
The Decompile tab allows you to extract data from an unmodified EarthBound ROM and save it to a specified directory on your system. You need to provide both the source ROM and the target directory for CoilSnake to place the extracted files.
The Compile tab performs the reverse operation. It compiles a project directory into a new ROM file, which can then be tested in an emulator or on development hardware. A base ROM must be specified for this process. Once configured, click Compile, and CoilSnake will process the data swiftly.
The Run button launches a SNES emulator with the selected ROM. To use this feature, configure your preferred SNES emulator through the Settings menu under Configure Emulator.
The Edit button opens the EB Project Editor for project modification, particularly for map-related data. Ensure Java is properly configured in the Settings menu under Configure Java for the EB Project Editor to launch successfully.
Note: Common Java installation paths will be added here.
The Upgrade tab converts projects created with older CoilSnake versions into the latest format while preserving existing data. This process requires a clean, unmodified ROM as a reference. Always create a backup before proceeding.
The Decompile Script tab extracts the game script into the ccscript
directory of a project. This process also updates the project's YAML files to reference the decompiled scripts. Use this feature when you need to modify extensive portions of the EarthBound text, such as during translation efforts.
The Apply Patch tab facilitates the application of patches to EarthBound ROMs. Patches describe changes to the original ROM, ensuring compliance with copyright laws by requiring users to have a legitimate copy of the base game.
CoilSnake supports two patch formats:
- International Patching Standard (IPS)
- EarthBound Patch (EBP)
The ROM Header (IPS only) checkbox ensures compatibility when applying IPS patches to ROMs with or without headers.
The Create Patch tab generates a patch file detailing the differences between the original ROM and your modified ROM. This is the standard method for sharing hacks with others.
CoilSnake supports creating both IPS and EBP patches. It is recommended to use EBP, as it automatically identifies the ROM type and avoids compatibility issues during patch application.
The Tools menu provides auxiliary functions:
- EB Project Editor: Launches the EB Project Editor directly.
- Expand ROM to 32/48 MBit: Increases the size of a ROM file, providing additional space for data storage during compilation.
- Add/Remove Header: Adds or removes a 512-byte header to/from a ROM file for compatibility with specific tools.
The Settings menu allows configuration of non-project-specific parameters:
- Configure Emulator: Specifies the SNES emulator for the Run buttons.
- Configure Java: Sets the Java installation path required for the EB Project Editor.
- Configure CCScript: Defines the ROM location for compiled CCScript text.
- Debug Mode: Enables verbose logging for debugging and troubleshooting.
Advanced users can access CoilSnake's command line interface via Linux or macOS by running:
coilsnake-cli
For detailed usage instructions, use:
coilsnake-cli --help
- Overworld Sprites
- Battle Backgrounds
- Battle Sprites
- Title Screen
- Window Graphics
- Logos
- Fonts
- Animations
- Swirls
- EB Project Editor
- Tile Data
- Tile Editor
- Collision Data
- Adding Map Palettes
- Map Editor
- Doors
- Warp Styles
- Enemy Placement
- Hotspots