Technical Informations

Here you will find some important notes which will improve the performance of the application as well as file format descriptions.

Supported File Formats

The application supports different file formats for loading and saving images and animations:
DescriptionTypeSuffix LoadSaveColor Depths for loading
Amiga animated IFFAnimation.iff yn all up to 256 colors
Amiga IFFImage.iff yy all up to 256 colors
Autodesk FLICAnimation.flc yy 256 colors
Autodesk FLICAnimation.fli yn 256 colors
Bitmap Font FormatImage/Font.bmf yy 63 colors
Compuserve GIFImage/Animation.gif yyall up to 256 colors
Deluxe Paint ImageImage.lbm yy all up to 256 colors
Dr.HaloImage.cut yyall up to 256 colors
JPEG ImageImage.jpg yy 16.8 million colors
Paintbrush ImageImage.pcx yy 256 colors
Portable Network Graphics Image.png yy all up to 16.8 million colors
Pro Motion SpriteAnimation.spr yy 256 colors
Truevision ImageImage.tga yy all up to 16.8 million colors
Windows animated Cursor Animation.ani yy all up to 256 colors
Windows AVIAnimation.avi yy all up to 16.8 million colors
Windows BitmapImage.bmp yy all up to 16.8 million colors
Windows Bitmap (AnimStrip)Animation.bmp yy 256 colors
Windows IconImage.ico yy all up to 256 colors
Gameboy CelImage.celyy 256 colors

Pro Motion usually saves images and animations with 256 colors, except otherwise specified. In the Preferences (menu File) section Miscellaneous you will find an option called "Save BMP, PNG, ICO, GIF with minimal Color Depth...".
If this option is enabled then those files are saved with only the colors necessary. That means if you use only the first 16 palette entries for your image then the image is saved as a 16 color image instead of a 256 color image.

When loading an image or animation that contains more that 256 colors (i.e. 24bit-BMP/PNG/TGA, JPG or AVI files) a dialog appears to set the color reduction mode.

Pro Motion supports different file formats for loading and saving non-graphical data such as palettes or stencils:

Description Type Suffix Load Save
Microsoft Palette Color Palette.palyy
Pro Motion Palette Color Palette.palyy
Gameboy RGB555 Palette Color Palette.palyy
Pro Motion Stencil Stencil.stnyy

File Format Descriptions

Pro Motion introduces some own file formats as well as extensions of well known file formats.

The Sprite file
Pro Motion has an own file format for saving animations, the Sprite format. This file type saves an animation by writing the image data plain uncompressed into a file. So these files can be easily read and converted to other formats.

The Header defines the dimensions of the animation.
Position(bytes)TypeDescription
$003 ASCII-chars "SPR" as sign for this format
$03WordNumber of frames
$05WordWIDTH in pixels
$07WordHEIGHT in pixels

The Header is followed by the color and animation data at position $09+.

For each frame repeating:
Position(bytes)TypeDescription
$00Worddelay value for this frame in ms
$02256*3 Bytesdescribes the 256 color table with the values Red, Green, Blue
$302WIDTH*HEIGHT Bytesimage data of this frame

Values are stored in the WORD format usingthe low byte order (little endian). That means that the least significant byte is saved first folloed by the most significant byte.

If the image data of the last frame is followed by the charactes "TRANSP" then a chunk containing transparency information follows:
Position(bytes)TypeDescription
$00Bytetransparent pixel


BMP/PNG AnimStrip/Sprite sheet
An AnimStrip is stored as standard Windows Bitmap file (BMP) or Portable Network Graphics (PNG). The information that is needed to define the AnimStrip layout is saved into a second file using the same directory and file name but with a different extension (.asd).

This file has the following simple structure:
Position(bytes)TypeDescription
$004 ASCII-chars "ASDE" as sign for this format
$04WordNumber of horizontal frames
$08WordNumber of vertical frames

Color palettes (*.pal)

These color tables are exactly 768 Bytes large and contain for each of the 256 colors 3 byte values for Red, Green and Blue.

Gameboy RGB555 color palettes (*.pal)

These color tables are exactly 512 Bytes large. Every RGB color value is stored in two bytes (word) using 5 Bits for each channel:
Bits 0-4 is red, 5-9 is green, 10-14 is blue. Bit 15 is unused.

Text Tile Map (*.txm)

When exporting tile map data this file type can be used. It just stores all tile indexes containes in the map as number values, separated by comma into a text file, line by line:
1,1,1,1,1,1,1,2,3,4,5,6
2,2,2,2,2,2,2,2,2,2,2,2
With this file format you may not use tile mirroring, because the mirror flags are not stored into this type of file.

Gameboy CEL file (*.cel)

This is a simple file format that just stores image data as 8x8 pixel blocks. Each 8x8 pixel block is saved bytewise, all 8 pixels of the first line then the next 8 pixels of the next line. Then the next 8x8 block is stored. There are no information about image width or height since this file format is normally used only to export tile libraries where this information is not needed. The color palette data is stored using a separate file of type Gameboy RGB555.

Gameboy Advance tile map (*.map)

This file format can be used to export tile maps in a format that can be used easily with Gameboy hardware:
Position(bytes)TypeDescription
$00DoubleWordNumber of tiles in a row (width)
$04DoubleWordNumber of tile rows (height)
$08Wordwidth * height Word values where each value is divided into Bit sections
0..9 tile index
10 flag if the tile must be displayer mirrored horizontally
11 flag if the tile must be displayer mirrored vertically
12..15 unused

Simple tile map (*.stm)

This file format can be used to export tile maps into a custom structured format:
Position(bytes)TypeDescription
$004 ASCII-chars "STMP" as sign for this format
$04WordNumber of horizontal tiles = WIDTH
$06WordNumber of vertical tiles = HEIGHT
$08   From this position there are WIDTH * HEIGHT entries made up of the following TileReference structure:

Tile Reference Structure
Position(bytes)TypeDescription
$00WordTile index
$02ByteFlag if the tile is to be displayed mirrored horizontally. 0=no mirror
$03ByteFlag if the tile is to be displayed mirrored vertically. 0=no mirror

Tile codes (*.tlc)

This file format can be used to export extra tile code data. Every tile can receive a code to define special options like collision flags or "tile can be picked up". For every tile in the tile palette it contains a word value.

Expansion of the Autodesk FLC-Format

So far you can save only animations using Autodesk FLC-format that only have one delay value for all frames. I expanded the format a bit so that each single frame can have its own delay value. The following change has been made:

Now the bytes 8 and 9 of each FRAMEHEADER (yet unused and 0) are a 16-Bit delay value for this specific frame.

A complete description of the FLC-format is available at https://en.wikipedia.org/wiki/FLIC_(file_format).


Related topics

Getting started
Pro Motion Online Help Contents
Tile Mapping Data Export
Tile Mapping Primer