Wiki

Clone wiki

agtools / agtcut

agtcut

The agtcut tool allows art assets to be extracted easily from images and converted into formats suitable for realtime use on the Atari machines.

The tool operates in different modes, geared for different types of art asset.

Usage guide can be found here: usage.txt

map & tile mode

In this mode, the agtcut extracts 'maps' made up of reusable 16x16 tiles. The map and tiles are emitted to separate files: .ccm files for maps and .cct files for tile libraries. These files can then be loaded into the playfield engine on an Atari ST and used as a scrolling background.

Options are provided to control bitplane depth, colour reduction/remapping and 'fuzzy tile matching' which can help to compress tile libraries by increasing tile reuse at the cost of small visual errors.

Single- or dual-field maps can be produced, with the latter being able to simulate extra colour shades via interlaced display.

By providing a .csv text file containing tile numbers, the tool will produce a 'tags' diagnostic image showing those tile numbers highlighted in their correct positions. This can be used to quickly identify the solid tiles for platforms, walls etc.

spritesheet modes

In these modes, agtcut extracts sprite sequences called 'spritesheets' made up of a series of individual frames with approximately the same dimensions. This facilitates rendering of small-to-medium sized animated objects with transparency.

There are several options to control the cutting sequence, plane depth, remapping of colours, control over the transparent (key) colour, optimization of unused pixels and changing storage layouts for different drawing methods.

There are currently four different sprite formats.

imspr

Standard sprites for blitter or software drawing.

Size is currently limited to viewport_width x viewport_height pixels (blitter) or 128 x viewport_height (software).

X & Y clipping is supported.

Note that wide sprites are much faster using SLABS mode if they can meet the shape requirements.

emspr

[E]nd[M]ask sprites for blitter drawing only.

Size is limited to 32 x viewport_height pixels.

X & Y clipping is supported.

This is a generalised version of Anima's EM sprite method, supporting any source width up to 32. It is faster than the standard SPRITES method for small sprites

emxspr

Optimized, preshifted, code-generated [E]nd[M]ask sprites for blitter drawing only.

Size is limited to 32 x viewport_height pixels.

X & Y clipping is supported.

This is a highly optimized version of Anima's EM sprite method, supporting any source width up to 32. It is faster than the standard SPRITES and EMSPR methods for small sprites, but requires a relatively large amount of ram.

slabs

This is a special sprite method intended for fast drawing of objects which are primarily wide and with an irregular contour, but contain no holes or gaps horizontally. They have a solid interior between the left/right edges of the contour. This provides the efficiency benefits of EMSPR but for large fill areas.

Size is limited to 256 x viewport_height pixels.

Only Y clipping is supported. X clipping can be achieved using a hidden playfield guardband region.

Updated