Data sets
The editor draws from one set of game files at a time, and a data set names one. The
default is the game's own. Any other is a mod's: the same files in the same formats with
some of them replaced, its own units.dat, graphics, sounds or stat_txt.tbl. Help ▸
Game Data… installs one beside the game's files and switches between them; the Data
sets list appears once there is a second one, and the choice is remembered.
To add one, give it a name and pick a folder. The folder has to hold the game's two
archives, because a mod replaces files rather than bringing the rest, together with the
mod's own files: any .mpq archives, and loose files under arr, unit, tileset,
game, scripts or rez folders, the way the mod's own loader lays them over the game.
Anything else in the folder is ignored. The copy is stored under its own name beside the
game's, so removing one leaves the others alone. On the desktop the app's own extraction
is always the game's; a mod's copy lives in the browser-style storage there as anywhere
else.
Switching drops everything decoded from the previous files, since the same ids now mean
different pictures, and loads again from the new ones; an open map stays open and picks
the new graphics up as they arrive. Plugins see the switch through api.gameData.
A data set is a name over files in the game's formats, nothing more. The table sizes
(228 unit types, 130 weapons, 61 upgrades, 44 technologies), the tileset formats and the
map file's own fixed-width sections are the game's, so a mod that extends them, with more
unit types, a longer .dat layout or extended tilesets, is not a data set and is not
supported.
Names#
The game names things in stat_txt.tbl: entries 0 to 227 are the unit types, and the
weapon, upgrade and technology tables each point into the same file. The editor's own
name tables are StarEdit's, which read better in about fifty places ("Cargo Ship
(Unused)" where the game says "Unused") and are the vocabulary the text trigger format
and other editors share.
The rule is per entry: where the loaded data's name differs from what the game's own data says for that id, the loaded name shows; everywhere else, StarEdit's stands. With Blizzard's files nothing changes. With a mod's, whatever it renamed shows the new name in every palette, list and dialog, and the text trigger parser accepts both names, so a trigger printed under a mod reads back.