1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 01:22:25 +01:00
Clone
19
Sprite compiler
Michael Steenbeek edited this page 2025-10-07 17:13:34 +02:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 exportobject <path to object> <image directory>
    • Exports all the sprites in the specified object (in DAT or PARKOBJ format) 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 OpenRCT2s own sprite exporter.