OPENTYRIAN2000 / ENHANCED WIKI Site EN · wiki in English Download
Wiki / Modding / Game data formats
Modding

Tyrian game data formats

Mods never edit the original data files: they describe changes in JSON. This page is a map of those files for the curious and for tool writers. The byte-level specification is docs/formats-spec.md in the repository.

Conventions

The files

FileContent
tyrian1.lvl … tyrian5.lvlThe levels of each episode. Each level is a pair of entries: a header with the random-enemy list and the event list (11 bytes per event), then the three map layers. For episodes 4 and 5 the last entry also holds the item and enemy tables those episodes use.
levels1.dat … levels5.datEpisode scripts: sections that chain shops, levels, story screens, navigation choices and jumps.
tyrian.hdtItem and enemy tables for episodes 1 to 3: weapons, weapon ports (the guns sold in the shop), specials, generators, ships, sidekicks, shields and 1,701 enemy records.
shapesW/X/Y/Z/).datBackground tiles, 24×28 pixels, 600 per file.
newsh?.shpEnemy sprite sheets: 12×14 cells, run-length compressed; big enemies use 2×2 cells.
tyrian.shpFonts, planets, faces, option and weapon icons, player shots, player ships, power-ups and coins.
palette.dat24 palettes of 256 VGA colours (6 bits per channel).
tyrian.pic, tshp2.pcxFull-screen 320×200 pictures.
music.mus41 songs in the Loudness (LDS) AdLib format.
tyrian.snd, voices.sndSound effects and voices, 8-bit PCM at 11,025 Hz.
cubetxt1.dat … cubetxt5.datData cube texts. The game now shows translated texts from data/locales/.
demo.1 … demo.5The title-screen demos: the starting equipment, then recorded inputs.

Item and enemy tables

The tables have fixed sizes. Weapon records describe one firing pattern (fire delay, shots per volley, and for each projectile its damage, lifetime, speed, offset and sprite). A weapon port is what the shop sells: a name, a price, a power use, and for each of its one or two firing modes the weapon record used at each of the 11 power levels. Enemy records hold movement, armor, size, up to 20 animation frames, the sprite bank, three turrets with their fire rates, launched and dropped enemies, and the score value.

Some values have a special meaning:

Episodes 4 and 5 replace the whole table with their own copy, in which the same slot often holds a different enemy. That is why mods cite enemies by name rather than by slot.

Tools in the repository