Wiki
Clone wikiultima-exodus / U3_Dungeon_Maps_File_Format
U3 Dungeon Maps
There are eight dungeon map files.
- PERINIAN.ULT - Perinian Depths
- DARDIN.ULT - Dardin's Pit
- MINE.ULT - Mines of Morinia
- FIRE.ULT - Dungeon of Fire
- M.ULT - Dungeon of Doom
- P.ULT - Dungeon of the Snake
- TIME.ULT - Dungeon of Time
The dungeon map files are exactly 2192 bytes in size. The first 2048 bytes contain the layout of all 8 levels, each level consisting of a 16x16 grid of 1-byte tiles. The remaining 144 bytes contains the "misty writings" text.
0000-00FF = Level 1
0100-01FF = Level 2
0200-02FF = Level 3
0300-03FF = Level 4
0400-04FF = Level 5
0500-05FF = Level 6
0600-06FF = Level 7
0700-07FF = Level 8
0800-080F = Misty writings index (8 dwords)
0810-088F = Misty writings data
Level Maps
Each level in the dungeon is a 16x16 grid of 1-byte tiles. The high order nybble in the tile byte represents dungeon objects that are visible (walls, ladders, chests, etc) while the low order nybble consists of objects that are only visible with a gem (traps, marks, gremlins, etc).
The following list presents the list of possible values for each tile and their meanings.
- 00 - empty
- 01 - time lord
- 02 - fountain
- 03 - strange winds
- 04 - trap
- 05 - mark
- 06 - gremlins
-
08 - misty writings
-
10 - up ladder
- 20 - down ladder
- 30 - up & down ladder
- 40 - chest
- 80 - wall
- A0 - hidden doorway
- C0 - doorway
Misty Writings
The misty writings section is 144 bytes long and contains an index and the actual data. There are 8 misty writings in each dungeon, one for each level. The index contains 8 double-word offsets relative to the start of the misty writings section. The offsets point to the start of the actual text data. The text is zero-terminated. The end of the section is zero-padded so the section always equals 144 bytes.
Updated