Boy graphics converter
program converts PNG images into the
Nintendo Game Boy's planar tile format.
The resulting colors and their palette indices are determined differently
depending on the input PNG file:
- If the file has an embedded palette, that palette's color
and order are used.
- If not, and the image only contains shades of gray, rgbgfx
maps them to the indices appropriate for each shade. Any undetermined
indices are set to respective default shades of gray. For example: if the
bit depth is 2 and the image contains light gray and black, they become
the second and fourth colors - and the first and third colors get set to
default white and dark gray. If the image has multiple shades that map to
the same index, the palette is instead determined as if the image had
- If the image has color (or the grayscale method failed),
the colors are sorted from lightest to darkest.
The input image may not contain more colors than the selected bit depth allows.
Transparent pixels are set to palette index 0.
- Debug features are enabled.
- Fix the input PNG file to be a correctly indexed
- Same as -f, but additionally,
the supplied command line parameters are saved within the PNG and will be
loaded and automatically used next time.
- The bit depth of the output image (either 1 or 2). By
default, the bit depth is 2 (two bits per pixel).
- Lay out tiles horizontally rather than vertically.
- The name of the output file.
- Output the image's palette in standard GBC palette format -
bytes (8 bytes for two bits per pixel, 4 bytes for one bit per pixel)
containing the RGB15 values in little-endian byte order. If the palette
contains too few colors, the remaining entries are set to black.
- Same as -p, but the palette
file output name is made by taking the input PNG file's filename, removing
the file extension, and appending .pal.
- If any tiles are the same, don't place the repeat tiles in
the output file, and make a tilemap file.
- Same as -t, but the tilemap
file output name is made by taking the input filename, removing the file
extension, and appending .tilemap.
- Truncate repeated tiles. Useful with tilemaps.
- Print the version of the program and exit.
- Verbose. Print errors when the command line parameters and
the parameters in the PNG file don't match.
- Trim the end of the output file by this many tiles.
The following will take a PNG file with a bit depth of 1, 2, or 8, and output
planar 2bpp data:
$ rgbgfx -o out.2bpp in.png
The following creates a planar 2bpp file with only unique tiles, and its tilemap
$ rgbgfx -T -u -o out.2bpp in.png
The following will do nothing:
$ rgbgfx in.png
was created by
to be included in RGBDS. It is now
maintained by a number of contributors at