Skip to content

Project Directories

vince94 edited this page Sep 18, 2019 · 1 revision

The Project Directory

When you decompile an EarthBound ROM with CoilSnake, it will create a CoilSnake Project. A CoilSnake Project is simply a directory on your computer with a great amount of folders and files. The files are usually in the YML or PNG format.

The sheer amount of configurability here may appear a bit overwhelming at first, but each file is logically named and located to make things easier to manage.

We will go into more detail on the subject of each individual file in the later chapters, but let's take a general look at them first.

  • The Project.snake file - This is what makes this folder more than a collection of pretty images and gibberish: it provides CoilSnake with information on the location of every resource file there is, as well as some metadata like the ROM type (EarthBound) and the CoilSnake version with which the project is compatible (1.0, 1.1, 2.0.3, and so on). You should never have to edit this file manually.
  • The .yml files - These are among the most numerous files, and for good reason. They contain the actual settings of the game, such as "Don't Care" name options (when choosing names for your characters in EarthBound) in the dont_care_names.yml file. These fils are in the YAML format. YAML possesses a very self-explanatory syntax, but if you ever encounter something that confuses you, there is a wealth of online documentation available. You'll also notice a great number of address code, either as 0x82ab or $ef8543, for example. These are actually called pointers to data, indicating to EarthBound where it should look for the specified resource.
  • The BattleBGs directory - All the different types of battle backgrounds which should be stretched, deformed, etc. during battles.
  • The BattleSprites directory - The enemy sprites used during battles.
  • The ccscript directory - A place to put all your CCScript dialogue to be compiled.
  • The Fonts directory - The fonts used by EarthBound (including Saturnian, zoom!).
  • The Logos directory - The logos displayed at the beginning of the game.
  • The SpriteGroups directory - The sprites used to animate the characters on the world map (NPCs, player characters, enemies, etc.).
  • The Tilesets directory and map_tiles.map - The files in the Tilesets directory contain map tiles and should not be manually edited. Likewise, map_tiles.map, which should also not be manually edited, arranges those tiles into the maps used for the locations in the game.
  • The TownMaps directory - The small maps of towns displayed to the player when they use the Town Map item.
  • The WindowGraphics directory - The various GUI elements used to display the HUD, and the different window flavors (color schemes) available to the player.

To modify the game, simply modify existing files to your liking. For now, however, there is no way to add new files (except for CCScript files, which must all be placed in the ccscript directory, where they will be automatically detected).

Clone this wiki locally