Ultima Stones
Ultima III Home | Atlas | Development
| Economy | Equipment | FAQ
| Hostiles | Library | Magic
| Quests | Walkthrough | Who's
Who
Ultima > III Exodus > Development
Development
File Details
Party Data | Roster Data | Maps | Shape Tiles | Character Font
Party Data
All numerics are binary coded decimal (hex numbers representing decimal whole values) and least significant byte first.
18 characters
char ?
char ?
char ?
32bitBCD party moves 0-99999999
char ?
X coordinate on map 0-63
Y coordinate on map 0-63
party member one roster index 0-20
party member two roster index 0-20
party member three roster index 0-20
party member four roster index 0-20
char ?
char ?
char ?
char ?
4 party member character records
a character record follows:
10 char name string zero terminated, 9 valid characters
char
char
char
char
char marks-cards flags
char torches
char FF
char condition: Good Poisoned Dead Ashes
char strength 0-99
char dexterity 0-99
char intelligence 0-99
char wisdom 0-99
char race: Bobbit Dwarf Elf Fuzzy Human
char profession: Alchemist Barbarian Cleric Druid Fighter
Illusionist Lark Paladin Ranger Thief Wizard
char gender: Male Female Other
char magic 0-99
16bitlsb hits 0-9999
16bitlsb maximum hits 0-9999
16bitlsb experience 0-9999
char
16bitlsb food 0-9999
16bitlsb gold 0-9999
char gems 0-99
char keys 0-99
char powder 0-99
char armour worn 0-7
char armour cloth 0-99
char armour leather 0-99
char armour chain 0-99
char armour plate 0-99
char armour +2 chain 0-99
char armour +2 plate 0-99
char armour exotic 0-99
char weapon ready 0-15
char weapon dagger 0-99
char weapon mace 0-99
char weapon sling 0-99
char weapon axe 0-99
char weapon bow 0-99
char weapon sword 0-99
char weapon two handed sword 0-99
char weapon +2 axe 0-99
char weapon +2 bow 0-99
char weapon +2 sword 0-99
char weapon gloves 0-99
char weapon +4 axe 0-99
char weapon +4 bow 0-99
char weapon +4 sword 0-99
char weapon exotic 0-99
Roster Data
ROSTER.ULT
20 character records as detailed above.
Maps
64 x 64 (4096) byte map, bytes are indexes into shape tiles.
552 byte footer ? (Current assumption is storage for hostiles, which appear on the map as it is read from file)
AMBROSIA.ULT BRITISH.ULT DAWN.ULT DEATH.ULT DEVIL.ULT EXODUS.ULT FAWN.ULT GREY.ULT LCB.ULT MONTOR_E.ULT MONTOR_W.ULT MOON.ULT SOSARIA.ULT YEW.ULT
Shape Tiles
SHAPES.ULT
80 tiles, 16 x 16 pixels. The graphic format of the tiles is Color Graphics Adaptor (2 bits per pixel, black, cyan, magenta, white). This translates to every 4 bytes being one row. The tile data is interleaved such that every 16 row tile is laid out every other line, odd lines then even (1st 3rd ... 13th 15th 2nd 4th ... 14th 16th)
Character Font
CHARSET.ULT
20