Skip to content
Michael Steenbeek edited this page Feb 12, 2023 · 18 revisions

This page documents OpenRCT2's built-in tool for importing and exporting of sprites in the game.

  • openrct2 sprite details \<sprite file> [sprite index]
    • Displays basic information about the supplied sprite file, like the number of sprite and the total size of the file. If the index of a sprite has been supplied, the width, height, x and y offset and data offset of that sprite will be shown.
  • openrct2 sprite create \<sprite file>
    • Creates a new empty sprite file. For the newly added graphics the file g2.dat is used.
  • openrct2 sprite append \<sprite file> \<image> [x offset] [y offset]
    • Adds the specified image to the end of the sprite file. If supplied, the x and y offset will be used. Since OpenRCT2 has a limited colour palette, the image has to be converted. Currently, there are three modes of conversion, which can be specified by the option -m:
      • -m default: This mode behaves the same as the importer did before. Any pixels not present in the colour scheme will be ignored.

      • -m closest: This mode will change all pixels to the closest pixel in the palette. Already converted images will be unaffected.

        Converted using closest mode

      • -m dithering: This mode will use Floyd-Steinberg dithering to make the image look close to the original while converting to the colour palette. Already converted images will be unaffected.

        Converted using dithering mode

  • openrct2 sprite build \<sprite file> \<json path> [silent]
    • Creates a new sprite file and uses the supplied JSON file to add sprites. This also accepts the modes as described in append.

      Every time the game is compiled, the images in \resources\g2\ will get added in this way automatically. It should be noted that if an image already uses the OpenRCT2 colour palette, none of the modes will change the output. Therefore, if the result of dithering is not to your liking, you can add your own custom image and still use dithering with this command for the other images. To learn how to do dithering yourself, see dithering images. If silent is not used, the added sprites will be displayed.

  • openrct2 sprite export \<sprite file> \<sprite index> \<image to create>
    • Exports the sprite at the specified location in the sprite file to the image location.
  • openrct2 sprite exportall \<sprite file name> \<image directory>
    • Exports all the sprites in the specified sprite location to the image directory. This is useful when creating open replacements for the sprites in the original game.
  • openrct2 sprite exportalldat \<DAT identifier> \<image directory>
    • Exports all the sprites in the specified DAT to the image directory. This will also output JSON which includes the x and y offsets of the images. This feature is useful for converting legacy custom objects to JSON objects.
  • sprite combine <index file> <image file> <output>
    • Combines a set of index (CSG1i.dat) and image (CSG.DAT) files from RollerCoaster Tycoon 1 into a file compatible with g1.dat. This file can then be used by any tool that can modify these, such as OpenRCT2’s own sprite exporter.
Clone this wiki locally