Skip to content

Dumping Custom Graphics

D. S. Baxter edited this page May 31, 2016 · 5 revisions

Dumping Custom Graphics


Setting up GBE+

In order to replace a game's original graphics with custom graphics (CGFX), the original graphics must first be extracted from the game. This process is known as "dumping" or "ripping". GBE+ provides a user interface for this very purpose. At this time, it is important to note that CGFX only work for GB and GBC games. Support for GBA games will come in later releases. The guide is applicable to the Qt version only.

Before beginning, please make sure the paths for the BG and OBJ dump folders are correct. Go to Options -> Paths to check or change any settings. The BG and OBJ dump folders must always be in GBE+'s data folder. By default, these two folders are data/Dump/BG and data/Dump/OBJ, but they can be changed, moved or renamed (so long as they remain in the data folder).

When dumping custom graphics, a manifest file should be specified. This is simply a text file that will tell GBE+ where to look for custom graphics and how it should load and handle them. Go to Options -> Paths and make sure the CGFX Manifest points to a valid text file. When starting new custom graphics projects, the manifest may be left as an empty text file.

To get started, load a game from the menu. Once the game starts, click on Advanced -> Custom Graphics... The screen below will appear:

Here is an explanation of the options:

Use advanced menu: Every time graphics are dumped, GBE+ will let users specify additional options through an advanced menu. See below for an extended explanation of the advanced menu and its features.

Automatically dump OBJ tiles: GBE+ will automatically dump sprites as users play the game. This option is not recommended for beginners, as a lot of data can be generated. It can be hard to keep track of what graphics GBE+ is extracting, making editing harder as well. Use this only if you know what you're doing.

Automatically dump BG tiles: GBE+ will automatically dump background tiles as users play the game. This option is not recommended for beginners, as a lot of data can be generated. It can be hard to keep track of what graphics GBE+ is extracting, making editing harder as well. Use this only if you know what you're doing.

Ignore blank/empty tiles when dumping: Useful for the above automatic dumping options. Sometimes games generate graphics that are blank tiles (solid colors), that GBE+ may mistake for graphics that might be relevant. This option will prevent GBE+ from dumping them at all.

Dumping Graphics Manually

The automatic options only require users to check the boxes, close the Custom Graphics dialog, and run the game. This is generally not the recommended way to dump graphics because a lot of graphics can be dumped at once. This makes editing things quite hard in some cases. A better approach is to dump only a few graphics at a time manually. There are tabs specifically for dumping BG and OBJ tiles. Clicking on one of the tiles will dump it. For even greater control over dumping graphics, the Layers tab provides a better interface.

This is the recommended method of dumping graphics due to its ease of use. Here, users can switch between the Game Boy's Background, OBJ, and Window layers. The present screen will be displayed. Use the mouse to hover over a specific tile. A magnified version will appear on the right along with detailed data about the tile itself. Clicking here will dump the tile.

Dumping Meta-tiles

Meta-tiles offer users a way to dump a section of the screen all at once, then save the results as a single image. Take, for example, the POKEMON logo from Pokemon Red. The logo itself is just short of 100 8x8 background tiles. Normally, it would take many people hours to dump each tile and edit them by hand. As a convenience, GBE+ will let users save that logo as a single bitmap file which can be edited and loaded later.

To create a meta-tile, simply go to the Layers tab and go to Dump Selection. In this area are parameters to control which section will be dumped. The X and Y boxes determine where the on-screen selection will begin. The W and H boxes determine the dimensions of the selection. The selection will automatically highlight which area is going to be dumped. Additionally, EXT_VRAM_ADDR and EXT_AUTO_BRIGHT options are available (see below for more details). Once the selection has been made, enter in a name for the file. This file will automatically appear in data/Dump/BG and will automatically be saved as a .BMP file. All the necessary manifest entries are written when saving as well.

At this time, dumping meta-tiles is only supported for Background tiles, not OBJs. OBJs can still take advantage of meta-tiles if dumped manually and if the manifest file is edited by hand. See the wiki page for more info.

The Advanced Menu & Manifest Files

Manifest files are necessary for properly loading custom graphics in GBE+. They act like lists that describe what the emulator should do when loading custom graphics. GBE+ will let users automatically add entries into a manifest file via the Advanced Menu. Simply check the above Use advanced menu option, and every time a tile is dumped, GBE+ will write the manifest file for you. The following screen will pop up every time a tile is dumped:

Destination Folder: This will specify what folder to use to dump this tile. By default, it is either the BG or OBJ dump folder specified in Options -> Paths.

Tile Name: This gives the tile a unique name. By default, GBE+ will name the graphics after its hash. Use this to give it a descriptive name like "Mario_Hat_1.bmp" or "Link_Sword.bmp"

EXT_VRAM_ADDR: Checking this will allow GBE+ to associate this tile with its VRAM address. This is useful for dumping graphics that have the same hash but are located in different parts of VRAM. Often, games like Super Mario Land used a blank, white tile for the "sky" and the "ground". Ordinarily, GBE+ thinks these two are the same (they have the same data after all), but since they are located in different areas of VRAM, they can be replaced separately. This is an advanced option; if unsure, leave unchecked!

EXT_AUTO_BRIGHT: This option is generally only applicable to GBC games. This will force GBE+ to automatically adjust the brightness of this tile based on the game's original colors. With the GBC, many games had "fade in" and "fade out" effects programmed. When EXT_AUTO_BRIGHT is enabled for a tile, GBE+ will try to lighten or darken an image appropiately when this happens in a game. Generally, this can be reserved for things like intro logos or title screen elements. This is an advanced option; if unsure, leave unchecked!

Manifest files can be edited manually however. See the wiki page for more info.

#TL;DR

Here is a run-down of how to get started quickly:

  1. Go to Options -> Paths. Make sure the paths for the Dump BG, Dump OBJ, and CGFX Manifest are correct. Make sure CGFX Manifest points to a blank file.

  2. Run a game. Go to Advanced -> Custom Graphics...

  3. Check Use advanced menu

  4. Go to Layers tab. Click to dump.

  5. Close Custom Graphics windows. Continue playing and return to Advanced -> Custom Graphics... when you want to dump something else.

  6. Eventually read the rest of this wiki...