(unfinished project)
Main game structure: the game comes with a very small loader that loads the non-executable CURSE.AGO. From there, the other files are divided in 2 folders, DISKA and DISKB, and a SAVE folder containing created characters (*.GUY files) and saved games (SAVEGAMx.DAT).
Most of the data files have either an TBL or GBL extension. But they all have a similar structure, that was not used in the other game versions but seems very close to the later "Unlimited Adventures" construction kit that was released by SSI on PC.
File length appears twice in the TLB & GLB file headers: 4 bytes after the actual GLIB header, and 4 bytes as the last entry in the header index.
PC versions of TLB files have bytes swapped compared to the ST version: for file sizes and pointers.
All files with those extensions share a common structure: they start with a 'GLIB' ASCII header. Then the next 4 bytes hold the whole file size in hex, the next 2 bytes hold the number of actual entries minus one (this entry that is not counted represents the whole file size). Next 2 bytes are either 00 00 or 00 01. If it is 00 01, it means the first actual entry is a correspondence table between the internal entries game IDs and their actual order in the GLB/TLB file. Then the next 4 bytes are another ASCII string that represents the type of data in the file: TILE for graphic data, DATA for monsters/items names and stats, DIG4 for the sound samples file, and sometimes it is GLIB again, which means each entry has its own individual GLIB header.
After this second ASCII string you have the begining offsets for all entries, 4 bytes per entry. To know where it ends, you just have to search for the end of file offset, which is of the same value as the 4 bytes after the GLIB string at the begining of the file.
Header (4 bytes):GLIB
File size (next 4 bytes): 00 00 2D 9A = 11 674 bytes
Number of entries minus one (next 2 bytes): 00 48 = 72
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Full header length: 308 bytes
Contains interface graphics, including mouse cursors. The Amiga version has a much bigger file of the same format (swapping the files won't immediately crash the game) with more entries. The cursor graphics are different and the graphics are not stored in the same order. The Amiga file replacement crashes the ST during Demo mode with an 'Invalid tpalette call 0 44' message.
The cursors are 16*16 images in Amiga ACBM format with 5 planes. The middle plane is empty.
This file also contains the game colour palette loaded very early in boot process. It is in the first 56 bytes entry. It has a 8 bytes header, then each colour is coded on 3 bytes, each byte can have a value between 00 and FF (dec. 256).
Each entry seems to have a 8 bit header.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 01 34 | 308 | 56 | Colour palette: 8 bytes header + 3*16 bytes palette
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 6C | 364 | 168 | Sword cursor
03 | 00 00 02 14 | 532 | 168 | Shield cursor
04 | 00 00 02 BC | 700 | 168 | Circle cursor
05 | 00 00 03 64 | 868 | 168 | Combat Up/Right cursor
06 | 00 00 04 0C | 1036 | 168 | Combat Right cursor
07 | 00 00 04 B4 | 1204 | 168 | Combat Down/Right cursor
08 | 00 00 05 5C | 1372 | 168 | Combat Down cursor
09 | 00 00 06 04 | 1540 | 168 | Combat Down/Left cursor
10 | 00 00 06 AC | 1708 | 168 | Combat Left cursor
11 | 00 00 07 54 | 1876 | 168 | Combat Up/Left cursor
12 | 00 00 07 FC | 2044 | 168 | Combat Up /Exploration forward cursor
13 | 00 00 08 A4 | 2212 | 48 |
14 | 00 00 08 D4 | 2260 | 48 |
15 | 00 00 09 04 | 2308 | 48 |
16 | 00 00 09 34 | 2356 | 48 |
17 | 00 00 09 64 | 2404 | 78 | Character Creation Round widget (off state)
18 | 00 00 09 B2 | 2482 | 78 | Character Creation Round widget (on state)
19 | 00 00 0A 00 | 2560 | 78 |
20 | 00 00 0A 4E | 2638 | 78 | Character Creation Round Widget (clicked)
21 | 00 00 0A 9C | 2716 | 78 |
22 | 00 00 0A EA | 2794 | 88 | Character Creation Right arrow
23 | 00 00 0B 42 | 2882 | 88 | Character Creation Right arrow (clicked)
24 | 00 00 0B 9A | 2970 | 88 | Character Creation Left arrow
25 | 00 00 0B F2 | 3058 | 88 | Character Creation Left arrow (clicked)
26 | 00 00 0C 4A | 3146 | 68 |
27 | 00 00 0C 8E | 3214 | 56 |
28 | 00 00 0C C6 | 3270 | 68 |
29 | 00 00 0D 0A | 3338 | 68 |
30 | 00 00 0D 4E | 3406 | 56 |
31 | 00 00 0D 86 | 3462 | 68 |
32 | 00 00 0D CA | 3530 | 134 |
33 | 00 00 0E 50 | 3664 | 92 |
34 | 00 00 0E AC | 3756 | 140 |
35 | 00 00 0F 38 | 3896 | 72 | Frame Top left corner
36 | 00 00 0F 80 | 3968 | 72 | Frame Top border chain (pattern)
37 | 00 00 0F C8 | 4040 | 200 | Frame Chain to the left of the top right corner
38 | 00 00 10 90 | 4240 | 72 | Frame Left border chain (pattern)
39 | 00 00 10 D8 | 4312 | 72 | Frame Bottom left chain
40 | 00 00 11 20 | 4384 | 72 | Frame Right border chain (pattern)
41 | 00 00 11 68 | 4456 | 1114 | Frame Bottom
42 | 00 00 15 C2 | 5570 | 72 | Frame Middle vertical chain (pattern)
43 | 00 00 16 0A | 5642 | 40 | Frame Top junction between top chain and middle chain
44 | 00 00 16 32 | 5682 | 72 | Frame Junction between middle vertical & horizontal chains
45 | 00 00 16 7A | 5754 | 56 |
46 | 00 00 16 B2 | 5810 | 168 | Combat Aim/Target cursor
47 | 00 00 17 5A | 5978 | 168 | Exploration Turn right cursor
48 | 00 00 18 02 | 6146 | 168 | Exploration Turn left cursor
49 | 00 00 18 AA | 6314 | 168 | Exploration 180° turn cursor
50 | 00 00 19 52 | 6482 | 40 | Frame Junction between left chain and middle horizontal chain
51 | 00 00 19 7A | 6522 | 104 | Frame Junction between right chain and middle horizontal
| | | | chain
52 | 00 00 19 E2 | 6626 | 40 |
53 | 00 00 1A 0A | 6666 | 104 |
54 | 00 00 1A 72 | 6770 | 72 | Frame Middle horizontal chain (pattern)
55 | 00 00 1A BA | 6842 | 134 |
56 | 00 00 1B 40 | 6976 | 92 |
57 | 00 00 1B 9C | 7068 | 138 |
58 | 00 00 1C 26 | 7206 | 72 |
59 | 00 00 1C 6E | 7278 | 72 |
60 | 00 00 1C B6 | 7350 | 104 |
61 | 00 00 1D 1E | 7454 | 72 |
62 | 00 00 1D 66 | 7526 | 104 |
63 | 00 00 1D CE | 7630 | 600 |
64 | 00 00 20 26 | 8230 | 2276 |
65 | 00 00 29 0A | 10506 | 72 |
66 | 00 00 29 52 | 10578 | 72 |
67 | 00 00 29 9A | 10650 | 200 |
68 | 00 00 2A 62 | 10850 | 344 |
69 | 00 00 2B BA | 11194 | 72 |
70 | 00 00 2C 02 | 11266 | 136 |
71 | 00 00 2C 8A | 11402 | 200 |
72 | 00 00 2D 52 | 11602 | 72 | Frame Bottom right chain
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 2D 9A | 11674 | End of file |
Here is the palette contents:
Header | Colour 0 | Colour 1 | Colour 2 | Colour 3 | Colour 4 | Colour 5 | Colour 6 | Colour 7
| (Black) | (White) | (Red) | (Salmon) | (Yellow) | (Green) | (Blue) | (Dk blue)
00 00 00 00 00 00 00 08 | 00 00 00 | FF FF FF | BF 00 00 | FF AF 7F | FF F5 35 | 3F FF 3F | 00 50 F0 | 00 00 90
| Colour 8 | Colour 9 | Colour 10| Colour 11| Colour 12| Colour 13| Colour 14| Colour 15
| (Dk grey)| (L. grey)| (Pink) | (Orange) | (D.green)|(Dim blue)| (Magenta)|(Light blue)
| 50 50 50 | A0 A0 A0 | F0 50 F0 | E0 60 00 | 00 80 00 | 00 A0 A0 | A0 00 A0 | 35 E5 DA
Header (4 bytes):GLIB
File size (next 4 bytes): 00 00 BC 1A = 48 154 bytes
Number of entries minus 1 (next 2 bytes): 00 81 = 129 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header length: 536 bytes
Stores character body graphics you see in combat and character creation.
This seems to have been used in many games and versions. The Amiga versions of this file, from Curse of the Azure Bonds and Secret of the Silver Blades, are identical in size.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
001 | 00 00 02 18 | 536 | 514 | Index table: 2 bytes (number of entries) + 128*4
------|-----------------|-----------------|--------------|-----------------------------------------------------
002 | 00 00 04 1A | 1050 | All entries |
003 | 00 00 05 8A | 1418 | are 368 bytes|
004 | 00 00 06 FA | 1786 | long |
005 | 00 00 08 6A | 2154 | |
006 | 00 00 09 DA | 2522 | |
007 | 00 00 0B 4A | 2890 | |
008 | 00 00 0C BA | 3258 | |
009 | 00 00 0E 2A | 3626 | |
010 | 00 00 0F 9A | 3994 | |
011 | 00 00 11 0A | 4362 | |
012 | 00 00 12 7A | 4730 | |
013 | 00 00 13 EA | 5098 | |
014 | 00 00 15 5A | 5466 | |
015 | 00 00 16 CA | 5834 | |
016 | 00 00 18 3A | 6202 | |
017 | 00 00 19 AA | 6570 | |
018 | 00 00 1B 1A | 6938 | |
019 | 00 00 1C 8A | 7306 | |
020 | 00 00 1D FA | 7674 | |
021 | 00 00 1F 6A | 8042 | |
022 | 00 00 20 DA | 8410 | |
023 | 00 00 22 4A | 8778 | |
024 | 00 00 23 BA | 9146 | |
025 | 00 00 25 2A | 9514 | |
026 | 00 00 26 9A | 9882 | |
027 | 00 00 28 0A | 10250 | |
028 | 00 00 29 7A | 10618 | |
029 | 00 00 2A EA | 10986 | |
030 | 00 00 2C 5A | 11354 | |
031 | 00 00 2D CA | 11722 | |
032 | 00 00 2F 3A | 12090 | |
033 | 00 00 30 AA | 12458 | |
034 | 00 00 32 1A | 12826 | |
035 | 00 00 33 8A | 13194 | |
036 | 00 00 34 FA | 13562 | |
037 | 00 00 36 6A | 13930 | |
038 | 00 00 37 DA | 14298 | |
039 | 00 00 39 4A | 14666 | |
040 | 00 00 3A BA | 15034 | |
041 | 00 00 3C 2A | 15402 | |
042 | 00 00 3D 9A | 15770 | |
043 | 00 00 3F 0A | 16138 | |
044 | 00 00 40 7A | 16506 | |
045 | 00 00 41 EA | 16874 | |
046 | 00 00 43 5A | 17242 | |
047 | 00 00 44 CA | 17610 | |
048 | 00 00 46 3A | 17978 | |
049 | 00 00 47 AA | 18346 | |
050 | 00 00 49 1A | 18714 | |
051 | 00 00 4A 8A | 19082 | |
052 | 00 00 4B FA | 19450 | |
053 | 00 00 4D 6A | 19818 | |
054 | 00 00 4E DA | 20186 | |
055 | 00 00 50 4A | 20554 | |
056 | 00 00 51 BA | 20922 | |
057 | 00 00 53 2A | 21290 | |
058 | 00 00 54 9A | 21658 | |
059 | 00 00 56 0A | 22026 | |
060 | 00 00 57 7A | 22394 | |
061 | 00 00 58 EA | 22762 | |
062 | 00 00 5A 5A | 23130 | |
063 | 00 00 5B CA | 23498 | |
064 | 00 00 5D 3A | 23866 | |
065 | 00 00 5E AA | 24234 | |
066 | 00 00 60 1A | 24602 | |
067 | 00 00 61 8A | 24970 | |
068 | 00 00 62 FA | 25338 | |
069 | 00 00 64 6A | 25706 | |
070 | 00 00 65 DA | 26074 | |
071 | 00 00 67 4A | 26442 | |
072 | 00 00 68 BA | 26810 | |
073 | 00 00 6A 2A | 27178 | |
074 | 00 00 6B 9A | 27546 | |
075 | 00 00 6D 0A | 27914 | |
076 | 00 00 6E 7A | 28282 | |
077 | 00 00 6F EA | 28650 | |
078 | 00 00 71 5A | 29018 | |
079 | 00 00 72 CA | 29386 | |
080 | 00 00 74 3A | 29754 | |
081 | 00 00 75 AA | 30122 | |
082 | 00 00 77 1A | 30490 | |
083 | 00 00 78 8A | 30858 | |
084 | 00 00 79 FA | 31226 | |
085 | 00 00 7B 6A | 31594 | |
086 | 00 00 7C DA | 31962 | |
087 | 00 00 7E 4A | 32330 | |
088 | 00 00 7F BA | 32698 | |
089 | 00 00 81 2A | 33066 | |
090 | 00 00 82 9A | 33434 | |
091 | 00 00 84 0A | 33802 | |
092 | 00 00 85 7A | 34170 | |
093 | 00 00 86 EA | 34538 | |
094 | 00 00 88 5A | 34906 | |
095 | 00 00 89 CA | 35274 | |
096 | 00 00 8B 3A | 35642 | |
097 | 00 00 8C AA | 36010 | |
098 | 00 00 8E 1A | 36378 | |
099 | 00 00 8F 8A | 36746 | |
100 | 00 00 90 FA | 37114 | |
101 | 00 00 92 6A | 37482 | |
102 | 00 00 93 DA | 37850 | |
103 | 00 00 95 4A | 38218 | |
104 | 00 00 96 BA | 38586 | |
105 | 00 00 98 2A | 38954 | |
106 | 00 00 99 9A | 39322 | |
107 | 00 00 9B 0A | 39690 | |
108 | 00 00 9C 7A | 40058 | |
109 | 00 00 9D EA | 40426 | |
110 | 00 00 9F 5A | 40794 | |
111 | 00 00 A0 CA | 41162 | |
112 | 00 00 A2 3A | 41530 | |
113 | 00 00 A3 AA | 41898 | |
114 | 00 00 A5 1A | 42266 | |
115 | 00 00 A6 8A | 42634 | |
116 | 00 00 A7 FA | 43002 | |
117 | 00 00 A9 6A | 43370 | |
118 | 00 00 AA DA | 43738 | |
119 | 00 00 AC 4A | 44106 | |
120 | 00 00 AD BA | 44474 | |
121 | 00 00 AF 2A | 44842 | |
122 | 00 00 B0 9A | 45210 | |
123 | 00 00 B2 0A | 45578 | |
124 | 00 00 B3 7A | 45946 | |
125 | 00 00 B4 EA | 46314 | |
126 | 00 00 B6 5A | 46682 | |
127 | 00 00 B7 CA | 47050 | |
128 | 00 00 B9 3A | 47418 | |
129 | 00 00 BA AA | 47786 | |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 BC 1A | 48154 | |
Here is the index table; it starts with 00 80: number of actual picture files = 128 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
002 | 00 00 | 00 01 | 00 | 01 |
003 | 00 01 | 00 02 | 01 | 02 |
004 | 00 02 | 00 03 | 02 | 03 |
005 | 00 03 | 00 04 | 03 | 04 |
006 | 00 04 | 00 05 | 04 | 05 |
007 | 00 05 | 00 06 | 05 | 06 |
008 | 00 06 | 00 07 | 06 | 07 |
009 | 00 07 | 00 08 | 07 | 08 |
010 | 00 08 | 00 09 | 08 | 09 |
011 | 00 09 | 00 0A | 09 | 10 |
012 | 00 0A | 00 0B | 10 | 11 |
013 | 00 0B | 00 0C | 11 | 12 |
014 | 00 0C | 00 0D | 12 | 13 |
015 | 00 0D | 00 0E | 13 | 14 |
016 | 00 0E | 00 0F | 14 | 15 |
017 | 00 0F | 00 10 | 15 | 16 |
018 | 00 10 | 00 11 | 16 | 17 |
019 | 00 11 | 00 12 | 17 | 18 |
020 | 00 12 | 00 13 | 18 | 19 |
021 | 00 13 | 00 14 | 19 | 20 |
022 | 00 14 | 00 15 | 20 | 21 |
023 | 00 15 | 00 16 | 21 | 22 |
024 | 00 16 | 00 17 | 22 | 23 |
025 | 00 17 | 00 18 | 23 | 24 |
026 | 00 18 | 00 19 | 24 | 25 |
027 | 00 19 | 00 1A | 25 | 26 |
028 | 00 1A | 00 1B | 26 | 27 |
029 | 00 1B | 00 1C | 27 | 28 |
030 | 00 1C | 00 1D | 28 | 29 |
031 | 00 1D | 00 1E | 29 | 30 |
032 | 00 1E | 00 1F | 30 | 31 |
033 | 00 1F | 00 20 | 31 | 32 |
034 | 00 40 | 00 21 | 64 | 33 |
035 | 00 41 | 00 22 | 65 | 34 |
036 | 00 42 | 00 23 | 66 | 35 |
037 | 00 43 | 00 24 | 67 | 36 |
038 | 00 44 | 00 25 | 68 | 37 |
039 | 00 45 | 00 26 | 69 | 38 |
040 | 00 46 | 00 27 | 70 | 39 |
041 | 00 47 | 00 28 | 71 | 40 |
042 | 00 48 | 00 29 | 72 | 41 |
043 | 00 49 | 00 2A | 73 | 42 |
044 | 00 4A | 00 2B | 74 | 43 |
045 | 00 4B | 00 2C | 75 | 44 |
046 | 00 4C | 00 2D | 76 | 45 |
047 | 00 4D | 00 2E | 77 | 46 |
048 | 00 4E | 00 2F | 78 | 47 |
049 | 00 4F | 00 30 | 79 | 48 |
050 | 00 50 | 00 31 | 80 | 49 |
051 | 00 51 | 00 32 | 81 | 50 |
052 | 00 52 | 00 33 | 82 | 51 |
053 | 00 53 | 00 34 | 83 | 52 |
054 | 00 54 | 00 35 | 84 | 53 |
055 | 00 55 | 00 36 | 85 | 54 |
056 | 00 56 | 00 37 | 86 | 55 |
057 | 00 57 | 00 38 | 87 | 56 |
058 | 00 58 | 00 39 | 88 | 57 |
059 | 00 59 | 00 3A | 89 | 58 |
060 | 00 5A | 00 3B | 90 | 59 |
061 | 00 5B | 00 3C | 91 | 60 |
062 | 00 5C | 00 3D | 92 | 61 |
063 | 00 5D | 00 3E | 93 | 62 |
064 | 00 5E | 00 3F | 94 | 63 |
065 | 00 5F | 00 40 | 95 | 64 |
066 | 00 80 | 00 41 | 128 | 65 |
067 | 00 81 | 00 42 | 129 | 66 |
068 | 00 82 | 00 43 | 130 | 67 |
069 | 00 83 | 00 44 | 131 | 68 |
070 | 00 84 | 00 45 | 132 | 69 |
071 | 00 85 | 00 46 | 133 | 70 |
072 | 00 86 | 00 47 | 134 | 71 |
073 | 00 87 | 00 48 | 135 | 72 |
074 | 00 88 | 00 49 | 136 | 73 |
075 | 00 89 | 00 4A | 137 | 74 |
076 | 00 8A | 00 4B | 138 | 75 |
077 | 00 8B | 00 4C | 139 | 76 |
078 | 00 8C | 00 4D | 140 | 77 |
079 | 00 8D | 00 4E | 141 | 78 |
080 | 00 8E | 00 4F | 142 | 79 |
081 | 00 8F | 00 50 | 143 | 80 |
082 | 00 90 | 00 51 | 144 | 81 |
083 | 00 91 | 00 52 | 145 | 82 |
084 | 00 92 | 00 53 | 146 | 83 |
085 | 00 93 | 00 54 | 147 | 84 |
086 | 00 94 | 00 55 | 148 | 85 |
087 | 00 95 | 00 56 | 149 | 86 |
088 | 00 96 | 00 57 | 150 | 87 |
089 | 00 97 | 00 58 | 151 | 88 |
090 | 00 98 | 00 59 | 152 | 89 |
091 | 00 99 | 00 5A | 153 | 90 |
092 | 00 9A | 00 5B | 154 | 91 |
093 | 00 9B | 00 5C | 155 | 92 |
094 | 00 9C | 00 5D | 156 | 93 |
095 | 00 9D | 00 5E | 157 | 94 |
096 | 00 9E | 00 5F | 158 | 95 |
097 | 00 9F | 00 60 | 159 | 96 |
098 | 00 C0 | 00 61 | 192 | 97 |
099 | 00 C1 | 00 62 | 193 | 98 |
100 | 00 C2 | 00 63 | 194 | 99 |
101 | 00 C3 | 00 64 | 195 | 100 |
102 | 00 C4 | 00 65 | 196 | 101 |
103 | 00 C5 | 00 66 | 197 | 102 |
104 | 00 C6 | 00 67 | 198 | 103 |
105 | 00 C7 | 00 68 | 199 | 104 |
106 | 00 C8 | 00 69 | 200 | 105 |
107 | 00 C9 | 00 6A | 201 | 106 |
108 | 00 CA | 00 6B | 202 | 107 |
109 | 00 CB | 00 6C | 203 | 108 |
110 | 00 CC | 00 6D | 204 | 109 |
111 | 00 CD | 00 6E | 205 | 110 |
112 | 00 CE | 00 6F | 206 | 111 |
113 | 00 CF | 00 70 | 207 | 112 |
114 | 00 D0 | 00 71 | 208 | 113 |
115 | 00 D1 | 00 72 | 209 | 114 |
116 | 00 D2 | 00 73 | 210 | 115 |
117 | 00 D3 | 00 74 | 211 | 116 |
118 | 00 D4 | 00 75 | 212 | 117 |
119 | 00 D5 | 00 76 | 213 | 118 |
120 | 00 D6 | 00 77 | 214 | 119 |
121 | 00 D7 | 00 78 | 215 | 120 |
122 | 00 D8 | 00 79 | 216 | 121 |
123 | 00 D9 | 00 7A | 217 | 122 |
124 | 00 DA | 00 7B | 218 | 123 |
125 | 00 DB | 00 7C | 219 | 124 |
126 | 00 DC | 00 7D | 220 | 125 |
127 | 00 DD | 00 7E | 221 | 126 |
128 | 00 DE | 00 7F | 222 | 127 |
129 | 00 DF | 00 80 | 223 | 128 |
Header (4 bytes):GLIB
File size (next 4 bytes): 00 00 21 22=8 482 bytes
Number of entries (next 2 bytes): 00 39=57
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header length: 248 bytes
Your character head graphics you see in combat and character creation.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 F8 | 248 | 226 | Index table: 2 bytes (number of entries) + 56*4
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 DA | 474 | 158 |
03 | 00 00 02 78 | 632 | 158 |
04 | 00 00 03 16 | 790 | 158 |
05 | 00 00 03 B4 | 948 | 158 |
06 | 00 00 04 52 | 1106 | 158 |
07 | 00 00 04 F0 | 1264 | 158 |
08 | 00 00 05 8E | 1422 | 158 |
09 | 00 00 06 2C | 1580 | 158 |
10 | 00 00 06 CA | 1738 | 158 |
11 | 00 00 07 68 | 1896 | 158 |
12 | 00 00 08 06 | 2054 | 158 |
13 | 00 00 08 A4 | 2212 | 158 |
14 | 00 00 09 42 | 2370 | 158 |
15 | 00 00 09 E0 | 2528 | 158 |
16 | 00 00 0A 7E | 2686 | 128 |
17 | 00 00 0A FE | 2814 | 128 |
18 | 00 00 0B 7E | 2942 | 128 |
19 | 00 00 0B FE | 3070 | 128 |
20 | 00 00 0C 7E | 3198 | 128 |
21 | 00 00 0C FE | 3326 | 128 |
22 | 00 00 0D 7E | 3454 | 128 |
23 | 00 00 0D FE | 3582 | 128 |
24 | 00 00 0E 7E | 3710 | 128 |
25 | 00 00 0E FE | 3838 | 128 |
26 | 00 00 0F 7E | 3966 | 128 |
27 | 00 00 0F FE | 4094 | 128 |
28 | 00 00 10 7E | 4222 | 128 |
29 | 00 00 10 FE | 4350 | 128 |
30 | 00 00 11 7E | 4478 | 158 |
31 | 00 00 12 1C | 4636 | 158 |
32 | 00 00 12 BA | 4794 | 158 |
33 | 00 00 13 58 | 4952 | 158 |
34 | 00 00 13 F6 | 5110 | 158 |
35 | 00 00 14 94 | 5268 | 158 |
36 | 00 00 15 32 | 5426 | 158 |
37 | 00 00 15 D0 | 5584 | 158 |
38 | 00 00 16 6E | 5742 | 158 |
39 | 00 00 17 0C | 5900 | 158 |
40 | 00 00 17 AA | 6058 | 158 |
41 | 00 00 18 48 | 6216 | 158 |
42 | 00 00 18 E6 | 6374 | 158 |
43 | 00 00 19 84 | 6532 | 158 |
44 | 00 00 1A 22 | 6690 | 128 |
45 | 00 00 1A A2 | 6818 | 128 |
46 | 00 00 1B 22 | 6946 | 128 |
47 | 00 00 1B A2 | 7074 | 128 |
48 | 00 00 1C 22 | 7202 | 128 |
49 | 00 00 1C A2 | 7330 | 128 |
50 | 00 00 1D 22 | 7458 | 128 |
51 | 00 00 1D A2 | 7586 | 128 |
52 | 00 00 1E 22 | 7714 | 128 |
53 | 00 00 1E A2 | 7842 | 128 |
54 | 00 00 1F 22 | 7970 | 128 |
55 | 00 00 1F A2 | 8098 | 128 |
56 | 00 00 20 22 | 8226 | 128 |
57 | 00 00 20 A2 | 8354 | 128 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 21 22 | 8482 | End of file |
Here is the index table; it starts with 00 38: number of actual picture files = 56 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 |
03 | 00 01 | 00 02 | 01 | 02 |
04 | 00 02 | 00 03 | 02 | 03 |
05 | 00 03 | 00 04 | 03 | 04 |
06 | 00 04 | 00 05 | 04 | 05 |
07 | 00 05 | 00 06 | 05 | 06 |
08 | 00 06 | 00 07 | 06 | 07 |
09 | 00 07 | 00 08 | 07 | 08 |
10 | 00 08 | 00 09 | 08 | 09 |
11 | 00 09 | 00 0A | 09 | 10 |
12 | 00 0A | 00 0B | 10 | 11 |
13 | 00 0B | 00 0C | 11 | 12 |
14 | 00 0C | 00 0D | 12 | 13 |
15 | 00 0D | 00 0E | 13 | 14 |
16 | 00 40 | 00 0F | 64 | 15 |
17 | 00 41 | 00 10 | 65 | 16 |
18 | 00 42 | 00 11 | 66 | 17 |
19 | 00 43 | 00 12 | 67 | 18 |
20 | 00 44 | 00 13 | 68 | 19 |
21 | 00 45 | 00 14 | 69 | 20 |
22 | 00 46 | 00 15 | 70 | 21 |
23 | 00 47 | 00 16 | 71 | 22 |
24 | 00 48 | 00 17 | 72 | 23 |
25 | 00 49 | 00 18 | 73 | 24 |
26 | 00 4A | 00 19 | 74 | 25 |
27 | 00 4B | 00 1A | 75 | 26 |
28 | 00 4C | 00 1B | 76 | 27 |
29 | 00 4D | 00 1C | 77 | 28 |
30 | 00 80 | 00 1D | 128 | 29 |
31 | 00 81 | 00 1E | 129 | 30 |
32 | 00 82 | 00 1F | 130 | 31 |
33 | 00 83 | 00 20 | 131 | 32 |
34 | 00 84 | 00 21 | 132 | 33 |
35 | 00 85 | 00 22 | 133 | 34 |
36 | 00 86 | 00 23 | 134 | 35 |
37 | 00 87 | 00 24 | 135 | 36 |
38 | 00 88 | 00 25 | 136 | 37 |
39 | 00 89 | 00 26 | 137 | 38 |
40 | 00 8A | 00 27 | 138 | 39 |
41 | 00 8B | 00 28 | 139 | 40 |
42 | 00 8C | 00 29 | 140 | 41 |
43 | 00 8D | 00 2A | 141 | 42 |
44 | 00 C0 | 00 2B | 192 | 43 |
45 | 00 C1 | 00 2C | 193 | 44 |
46 | 00 C2 | 00 2D | 194 | 45 |
47 | 00 C3 | 00 2E | 195 | 46 |
48 | 00 C4 | 00 2F | 196 | 47 |
49 | 00 C5 | 00 30 | 197 | 48 |
50 | 00 C6 | 00 31 | 198 | 49 |
51 | 00 C7 | 00 32 | 199 | 50 |
52 | 00 C8 | 00 33 | 200 | 51 |
53 | 00 C9 | 00 34 | 201 | 52 |
54 | 00 CA | 00 35 | 202 | 53 |
55 | 00 CB | 00 36 | 203 | 54 |
56 | 00 CC | 00 37 | 204 | 55 |
57 | 00 CD | 00 38 | 205 | 56 |
This is just the font used in game. It cannot be swapped with some of the fonts from the other Gold Box games, unless you edit it.
Header (4 bytes): SLBR
File size (next 4 bytes): 00 00 0D B2 = 3 506 bytes
Number of entries minus one: none
This is the main menu music. It has a different header than the other files since it only contains one entry.
It is the same format as music in the Amiga versions of Secret of the Silver Blades (SECRET.SLB), Dark Queen of Krynn (MUSIC.SLB), Gateway to the Savage Frontier (GATEWAY.SLB) and Treasures of the Savage Frontier (TREASURE.SLB). Those files are interchangeable.
Also, if you unpack the MUSIC.DAX from the PC version of Pools of Darkness, the 2nd music file can be used in the ST version by stripping its header (the first 444 bytes) so that it starts with 'SLBR' as a header. Then rename it to CURSE.SLB.
One funny thing: the music from Windwalker and Starflight can also be used, as it is of the same format (those games were also ported to the ST by MicroMagic).
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 0A 94 = 2 708 bytes
Number of entries minus 1 (next 2 bytes): 00 01
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Graphic file. This contains the bottom panel background graphics. Gets referenced by the O00.OVL file.
Headerless and unencrypted file related to ingame items.
According to information from UA forums, it defines 128 item entries. Each is 16 bytes long. 16*128 = 2048 bytes.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 39 02 = 14 594 bytes
Number of entries minus 1 (next 2 bytes): 00 0A = 10 entries
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): DIG4
Full header size: 60 bytes
The whole sound bank for the game. All sounds start with a 1C FA 00 00 header. They seem to be raw 8 bit unsigned samples, but I'm not sure about the frequency.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 3C | 60 | 3386 |
02 | 00 00 0D 76 | 3446 | 1808 |
03 | 00 00 14 86 | 5254 | 5286 |
04 | 00 00 29 2C | 10540 | 1462 |
05 | 00 00 2E E2 | 12002 | 256 |
06 | 00 00 2F E2 | 12258 | 730 |
07 | 00 00 32 BC | 12988 | 130 |
08 | 00 00 33 3E | 13118 | 1142 |
09 | 00 00 37 B4 | 14260 | 98 |
10 | 00 00 38 16 | 14358 | 236 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 39 02 | 14594 | End of file |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 0E 86 = 3 718 bytes
Number of entries minus 1 (next 2 bytes): 01 34 = 308 entries
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TEXT
Full header length: 1252 bytes
Contains various unencrypted text strings. Note that the last entry, which should be the whole file size, is 00 00 0E 85 instead of 00 00 0E 86. Just a 1 byte difference, maybe a bug?
Entry | Starting Offset | Starting Offset | Entry Length | Text string
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
001 | 00 00 04 E4 | 1252 | 6 | Cleric
002 | 00 00 04 EA | 1258 | 5 | Druid
003 | 00 00 04 EF | 1263 | 7 | Fighter
004 | 00 00 04 F6 | 1270 | 7 | Paladin
005 | 00 00 04 FD | 1277 | 6 | Ranger
006 | 00 00 05 03 | 1283 | 10 | Magic-User
007 | 00 00 05 0D | 1293 | 5 | Thief
008 | 00 00 05 12 | 1298 | 4 | Monk
009 | 00 00 05 16 | 1302 | 14 | Cleric/Fighter
010 | 00 00 05 24 | 1316 | 25 | Cleric/Fighter/Magic-User
011 | 00 00 05 3D | 1341 | 13 | Cleric/Ranger
012 | 00 00 05 4A | 1354 | 17 | Cleric/Magic-User
013 | 00 00 05 5B | 1371 | 12 | Cleric/Thief
014 | 00 00 05 67 | 1383 | 18 | Fighter/Magic-User
015 | 00 00 05 79 | 1401 | 13 | Fighter/Thief
016 | 00 00 05 86 | 1414 | 24 | Fighter/Magic-User/Thief
017 | 00 00 05 9E | 1438 | 16 | Magic-User/Thief
------|-----------------|-----------------|--------------|-----------------------------------------------------
018 | 00 00 05 AE | 1454 | 22 | OK buddy, who are you?
------|-----------------|-----------------|--------------|-----------------------------------------------------
019 | 00 00 05 C4 | 1476 | 7 | Monster
020 | 00 00 05 CB | 1483 | 5 | Dwarf
021 | 00 00 05 D0 | 1488 | 3 | Elf
022 | 00 00 05 D3 | 1491 | 5 | Gnome
023 | 00 00 05 D8 | 1496 | 8 | Half-Elf
024 | 00 00 05 E0 | 1504 | 8 | Halfling
025 | 00 00 05 E8 | 1512 | 8 | Half-Orc
026 | 00 00 05 F0 | 1520 | 5 | Human
------|-----------------|-----------------|--------------|-----------------------------------------------------
027 | 00 00 05 F5 | 1525 | 11 | Lawful Good
028 | 00 00 06 00 | 1536 | 14 | Lawful Neutral
029 | 00 00 06 0E | 1550 | 11 | Lawful Evil
030 | 00 00 06 19 | 1561 | 12 | Neutral Good
031 | 00 00 06 25 | 1573 | 12 | True Neutral
032 | 00 00 06 31 | 1585 | 12 | Neutral Evil
033 | 00 00 06 3D | 1597 | 12 | Chaotic Good
034 | 00 00 06 49 | 1609 | 15 | Chaotic Neutral
035 | 00 00 06 58 | 1624 | 12 | Chaotic Evil
------|-----------------|-----------------|--------------|-----------------------------------------------------
036 | 00 00 06 64 | 1636 | 4 | Male
037 | 00 00 06 68 | 1640 | 6 | Female
------|-----------------|-----------------|--------------|-----------------------------------------------------
038 | 00 00 06 6E | 1646 | 6 | Copper
039 | 00 00 06 74 | 1652 | 6 | Silver
040 | 00 00 06 7A | 1658 | 8 | Electrum
041 | 00 00 06 82 | 1666 | 4 | Gold
042 | 00 00 06 86 | 1670 | 8 | Platinum
043 | 00 00 06 8E | 1678 | 4 | Gems
044 | 00 00 06 92 | 1682 | 7 | Jewelry
------|-----------------|-----------------|--------------|-----------------------------------------------------
045 | 00 00 06 99 | 1689 | 4 | Okay
046 | 00 00 06 9D | 1693 | 8 | Animated
047 | 00 00 06 A5 | 1701 | 8 | tempgone
048 | 00 00 06 AD | 1709 | 7 | Running
049 | 00 00 06 B4 | 1716 | 11 | Unconscious
050 | 00 00 06 BF | 1727 | 5 | Dying
051 | 00 00 06 C4 | 1732 | 4 | Dead
052 | 00 00 06 C8 | 1736 | 6 | Stoned
053 | 00 00 06 CE | 1742 | 4 | Gone
------|-----------------|-----------------|--------------|-----------------------------------------------------
054 | 00 00 06 D2 | 1746 | 10 | Battle Axe
055 | 00 00 06 DC | 1756 | 8 | Hand Axe
056 | 00 00 06 E4 | 1764 | 8 | Bardiche
057 | 00 00 06 EC | 1772 | 13 | Bec De Corbin
058 | 00 00 06 F9 | 1785 | 13 | Bill-Guisarme
059 | 00 00 07 06 | 1798 | 8 | Bo Stick
060 | 00 00 07 0E | 1806 | 4 | Club
061 | 00 00 07 12 | 1810 | 6 | Dagger
062 | 00 00 07 18 | 1816 | 4 | Dart
063 | 00 00 07 1C | 1820 | 8 | Fauchard
064 | 00 00 07 24 | 1828 | 13 | Fauchard-Fork
065 | 00 00 07 31 | 1841 | 5 | Flail
066 | 00 00 07 36 | 1846 | 13 | Military Fork
067 | 00 00 07 43 | 1859 | 6 | Glaive
068 | 00 00 07 49 | 1865 | 15 | Glaive-Guisarme
069 | 00 00 07 58 | 1880 | 8 | Guisarme
070 | 00 00 07 60 | 1888 | 15 | Guisarme-Voulge
071 | 00 00 07 6F | 1903 | 7 | Halberd
072 | 00 00 07 76 | 1910 | 13 | Lucern Hammer
073 | 00 00 07 83 | 1923 | 6 | Hammer
074 | 00 00 07 89 | 1929 | 7 | Javelin
075 | 00 00 07 90 | 1936 | 8 | Jo Stick
076 | 00 00 07 98 | 1944 | 4 | Mace
077 | 00 00 07 9C | 1948 | 12 | Morning Star
078 | 00 00 07 A8 | 1960 | 8 | Partisan
079 | 00 00 07 B0 | 1968 | 13 | Military Pick
080 | 00 00 07 BD | 1981 | 8 | Awl Pike
081 | 00 00 07 C5 | 1989 | 7 | Quarrel
082 | 00 00 07 CC | 1996 | 7 | Ranseur
083 | 00 00 07 D3 | 2003 | 8 | Scimitar
084 | 00 00 07 DB | 2011 | 5 | Spear
085 | 00 00 07 E0 | 2016 | 6 | Spetum
086 | 00 00 07 E6 | 2022 | 13 | Quarter Staff
087 | 00 00 07 F3 | 2035 | 13 | Bastard Sword
088 | 00 00 08 00 | 2048 | 11 | Broad Sword
089 | 00 00 08 0B | 2059 | 10 | Long Sword
090 | 00 00 08 15 | 2069 | 11 | Short Sword
091 | 00 00 08 20 | 2080 | 16 | Two-Handed Sword
092 | 00 00 08 30 | 2096 | 7 | Trident
093 | 00 00 08 37 | 2103 | 6 | Voulge
094 | 00 00 08 3D | 2109 | 18 | Composite Long Bow
095 | 00 00 08 4F | 2127 | 19 | Composite Short Bow
096 | 00 00 08 62 | 2146 | 8 | Long Bow
097 | 00 00 08 6A | 2154 | 9 | Short Bow
098 | 00 00 08 73 | 2163 | 14 | Heavy Crossbow
099 | 00 00 08 81 | 2177 | 14 | Light Crossbow
100 | 00 00 08 8F | 2191 | 5 | Sling
------|-----------------|-----------------|--------------|-----------------------------------------------------
101 | 00 00 08 94 | 2196 | 4 | Mail
102 | 00 00 08 98 | 2200 | 5 | Armor
103 | 00 00 08 9D | 2205 | 7 | Leather
104 | 00 00 08 A4 | 2212 | 6 | Padded
105 | 00 00 08 AA | 2218 | 7 | Studded
106 | 00 00 08 B1 | 2225 | 4 | Ring
107 | 00 00 08 B5 | 2229 | 5 | Scale
108 | 00 00 08 BA | 2234 | 5 | Chain
109 | 00 00 08 BF | 2239 | 6 | Splint
110 | 00 00 08 C5 | 2245 | 6 | Banded
111 | 00 00 08 CB | 2251 | 5 | Plate
112 | 00 00 08 D0 | 2256 | 6 | Shield
------|-----------------|-----------------|--------------|-----------------------------------------------------
113 | 00 00 08 D6 | 2262 | 5 | Woods
114 | 00 00 08 DB | 2267 | 5 | Arrow
115 | 00 00 08 E0 | 2272 | 1 | x
116 | 00 00 08 E1 | 2273 | 1 | x
117 | 00 00 08 E2 | 2274 | 6 | Potion
118 | 00 00 08 E8 | 2280 | 6 | Scroll
119 | 00 00 08 EE | 2286 | 4 | Ring
120 | 00 00 08 F2 | 2290 | 3 | Rod
121 | 00 00 08 F5 | 2293 | 5 | Stave
122 | 00 00 08 FA | 2298 | 4 | Wand
123 | 00 00 08 FE | 2302 | 3 | Jug
124 | 00 00 09 01 | 2305 | 6 | Amulet
125 | 00 00 09 07 | 2311 | 13 | Dragon Breath
126 | 00 00 09 14 | 2324 | 3 | Bag
127 | 00 00 09 17 | 2327 | 11 | Defoliation
128 | 00 00 09 22 | 2338 | 9 | Ice Storm
129 | 00 00 09 2B | 2347 | 4 | Book
130 | 00 00 09 2F | 2351 | 5 | Boots
131 | 00 00 09 34 | 2356 | 12 | Hornets Nest
132 | 00 00 09 40 | 2368 | 7 | Bracers
133 | 00 00 09 47 | 2375 | 8 | Piercing
134 | 00 00 09 4F | 2383 | 6 | Brooch
135 | 00 00 09 55 | 2389 | 11 | Elfin Chain
136 | 00 00 09 60 | 2400 | 8 | Wizardry
137 | 00 00 09 68 | 2408 | 4 | ac10
138 | 00 00 09 6C | 2412 | 9 | Dexterity
139 | 00 00 09 75 | 2421 | 8 | Fumbling
140 | 00 00 09 7D | 2429 | 5 | Chime
141 | 00 00 09 82 | 2434 | 5 | Cloak
142 | 00 00 09 87 | 2439 | 7 | Crystal
143 | 00 00 09 8E | 2446 | 4 | Cube
144 | 00 00 09 92 | 2450 | 5 | Cubic
145 | 00 00 09 97 | 2455 | 11 | The Dwarves
146 | 00 00 09 A2 | 2466 | 8 | Decanter
147 | 00 00 09 AA | 2474 | 6 | Gloves
148 | 00 00 09 B0 | 2480 | 5 | Drums
149 | 00 00 09 B5 | 2485 | 4 | Dust
150 | 00 00 09 B9 | 2489 | 8 | Thievery
151 | 00 00 09 C1 | 2497 | 3 | Hat
152 | 00 00 09 C4 | 2500 | 5 | Flask
153 | 00 00 09 C9 | 2505 | 9 | Gauntlets
154 | 00 00 09 D2 | 2514 | 3 | Gem
155 | 00 00 09 D5 | 2517 | 6 | Girdle
156 | 00 00 09 DB | 2523 | 4 | Helm
157 | 00 00 09 DF | 2527 | 4 | Horn
158 | 00 00 09 E3 | 2531 | 9 | Stupidity
159 | 00 00 09 EC | 2540 | 7 | Incense
160 | 00 00 09 F3 | 2547 | 5 | Stone
161 | 00 00 09 F8 | 2552 | 10 | Ioun Stone
162 | 00 00 0A 02 | 2562 | 7 | Javelin
163 | 00 00 0A 09 | 2569 | 5 | Jewel
164 | 00 00 0A 0E | 2574 | 8 | Ointment
165 | 00 00 0A 16 | 2582 | 9 | Pale Blue
166 | 00 00 0A 1F | 2591 | 11 | Scarlet And
167 | 00 00 0A 2A | 2602 | 6 | Manual
168 | 00 00 0A 30 | 2608 | 12 | Incandescent
169 | 00 00 0A 3C | 2620 | 8 | Deep Red
170 | 00 00 0A 44 | 2628 | 4 | Pink
171 | 00 00 0A 48 | 2632 | 6 | Mirror
172 | 00 00 0A 4E | 2638 | 8 | Necklace
173 | 00 00 0A 56 | 2646 | 9 | And Green
174 | 00 00 0A 5F | 2655 | 4 | Blue
175 | 00 00 0A 63 | 2659 | 5 | Pearl
176 | 00 00 0A 68 | 2664 | 13 | Powerlessness
177 | 00 00 0A 75 | 2677 | 6 | Vermin
178 | 00 00 0A 7B | 2683 | 5 | Pipes
179 | 00 00 0A 80 | 2688 | 4 | Hole
180 | 00 00 0A 84 | 2692 | 13 | Dragon Slayer
181 | 00 00 0A 91 | 2705 | 4 | Robe
182 | 00 00 0A 95 | 2709 | 4 | Rope
183 | 00 00 0A 99 | 2713 | 11 | Frost Brand
184 | 00 00 0A A4 | 2724 | 9 | Berserker
185 | 00 00 0A AD | 2733 | 6 | Scarab
186 | 00 00 0A B3 | 2739 | 5 | Spade
187 | 00 00 0A B8 | 2744 | 6 | Sphere
188 | 00 00 0A BE | 2750 | 7 | Blessed
189 | 00 00 0A C5 | 2757 | 8 | Talisman
190 | 00 00 0A CD | 2765 | 4 | Tome
191 | 00 00 0A D1 | 2769 | 7 | Trident
192 | 00 00 0A D8 | 2776 | 8 | Grimoire
193 | 00 00 0A E0 | 2784 | 4 | Well
194 | 00 00 0A E4 | 2788 | 5 | Wings
195 | 00 00 0A E9 | 2793 | 4 | Vial
196 | 00 00 0A ED | 2797 | 7 | Lantern
197 | 00 00 0A F4 | 2804 | 1 | x
198 | 00 00 0A F5 | 2805 | 12 | Flask of Oil
199 | 00 00 0B 01 | 2817 | 11 | 10 ft. Pole
200 | 00 00 0B 0C | 2828 | 11 | 50 ft. Rope
201 | 00 00 0B 17 | 2839 | 4 | Iron
202 | 00 00 0B 1B | 2843 | 17 | Thf Prickly Tools
203 | 00 00 0B 2C | 2860 | 12 | Iron Rations
204 | 00 00 0B 38 | 2872 | 16 | Standard Rations
205 | 00 00 0B 48 | 2888 | 11 | Holy Symbol
206 | 00 00 0B 53 | 2899 | 15 | Holy Water vial
207 | 00 00 0B 62 | 2914 | 17 | Unholy Water vial
208 | 00 00 0B 73 | 2931 | 7 | Barding
209 | 00 00 0B 7A | 2938 | 6 | Dragon
210 | 00 00 0B 80 | 2944 | 9 | Lightning
211 | 00 00 0B 89 | 2953 | 6 | Saddle
212 | 00 00 0B 8F | 2959 | 5 | Staff
213 | 00 00 0B 94 | 2964 | 4 | Drow
214 | 00 00 0B 98 | 2968 | 5 | Wagon
215 | 00 00 0B 9D | 2973 | 2 | +1
216 | 00 00 0B 9F | 2975 | 2 | +2
217 | 00 00 0B A1 | 2977 | 2 | +3
218 | 00 00 0B A3 | 2979 | 2 | +4
219 | 00 00 0B A5 | 2981 | 2 | +5
220 | 00 00 0B A7 | 2983 | 2 | of
221 | 00 00 0B A9 | 2985 | 13 | Vulnerability
222 | 00 00 0B B6 | 2998 | 5 | Cloak
223 | 00 00 0B BB | 3003 | 12 | Displacement
224 | 00 00 0B C7 | 3015 | 7 | Torches
225 | 00 00 0B CE | 3022 | 3 | Oil
226 | 00 00 0B D1 | 3025 | 5 | Speed
227 | 00 00 0B D6 | 3030 | 8 | Tapestry
228 | 00 00 0B DE | 3038 | 5 | Spine
229 | 00 00 0B E3 | 3043 | 6 | Copper
230 | 00 00 0B E9 | 3049 | 6 | Silver
231 | 00 00 0B EF | 3055 | 8 | Electrum
232 | 00 00 0B F7 | 3063 | 4 | Gold
233 | 00 00 0B FB | 3067 | 8 | Platinum
234 | 00 00 0C 03 | 3075 | 8 | Ointment
235 | 00 00 0C 0B | 3083 | 10 | Keoghtum's
236 | 00 00 0C 15 | 3093 | 5 | Sheet
237 | 00 00 0C 1A | 3098 | 8 | Strength
238 | 00 00 0C 22 | 3106 | 7 | Healing
239 | 00 00 0C 29 | 3113 | 7 | Holding
240 | 00 00 0C 30 | 3120 | 5 | Extra
241 | 00 00 0C 35 | 3125 | 12 | Gaseous Form
242 | 00 00 0C 41 | 3137 | 12 | Slipperiness
243 | 00 00 0C 4D | 3149 | 8 | Jewelled
244 | 00 00 0C 55 | 3157 | 6 | Flying
245 | 00 00 0C 5B | 3163 | 16 | Treasure Finding
246 | 00 00 0C 6B | 3179 | 4 | Fear
247 | 00 00 0C 6F | 3183 | 13 | Disappearance
248 | 00 00 0C 7C | 3196 | 9 | Statuette
249 | 00 00 0C 85 | 3205 | 6 | Fungus
250 | 00 00 0C 8B | 3211 | 5 | Chain
251 | 00 00 0C 90 | 3216 | 7 | Pendant
252 | 00 00 0C 97 | 3223 | 6 | Broach
253 | 00 00 0C 9D | 3229 | 10 | Of Seeking
254 | 00 00 0C A7 | 3239 | 2 | -1
255 | 00 00 0C A9 | 3241 | 2 | -2
256 | 00 00 0C AB | 3243 | 2 | -3
257 | 00 00 0C AD | 3245 | 14 | Lightning Bolt
258 | 00 00 0C BB | 3259 | 15 | Fire Resistance
259 | 00 00 0C CA | 3274 | 14 | Magic Missiles
260 | 00 00 0C D8 | 3288 | 4 | Save
261 | 00 00 0C DC | 3292 | 11 | Clrc Scroll
262 | 00 00 0C E7 | 3303 | 9 | MU Scroll
263 | 00 00 0C F0 | 3312 | 12 | With 1 Spell
264 | 00 00 0C FC | 3324 | 13 | With 2 Spells
265 | 00 00 0D 09 | 3337 | 13 | With 3 Spells
266 | 00 00 0D 16 | 3350 | 12 | Prot. Scroll
267 | 00 00 0D 22 | 3362 | 7 | Jewelry
268 | 00 00 0D 29 | 3369 | 4 | Fine
269 | 00 00 0D 2D | 3373 | 4 | Huge
270 | 00 00 0D 31 | 3377 | 4 | Bone
271 | 00 00 0D 35 | 3381 | 5 | Brass
272 | 00 00 0D 3A | 3386 | 3 | Key
273 | 00 00 0D 3D | 3389 | 4 | AC 2
274 | 00 00 0D 41 | 3393 | 4 | AC 6
275 | 00 00 0D 45 | 3397 | 4 | AC 4
276 | 00 00 0D 49 | 3401 | 4 | AC 3
277 | 00 00 0D 4D | 3405 | 8 | Of Prot.
278 | 00 00 0D 55 | 3413 | 12 | Paralyzation
279 | 00 00 0D 61 | 3425 | 10 | Ogre Power
280 | 00 00 0D 6B | 3435 | 12 | Invisibility
281 | 00 00 0D 77 | 3447 | 8 | Missiles
282 | 00 00 0D 7F | 3455 | 9 | Elvenkind
283 | 00 00 0D 88 | 3464 | 7 | Rotting
284 | 00 00 0D 8F | 3471 | 7 | Covered
285 | 00 00 0D 96 | 3478 | 7 | Efreeti
286 | 00 00 0D 9D | 3485 | 6 | Bottle
287 | 00 00 0D A3 | 3491 | 17 | Missile Attractor
288 | 00 00 0D B4 | 3508 | 13 | Of Maglubiyet
289 | 00 00 0D C1 | 3521 | 20 | Secr Door & Trap Det
290 | 00 00 0D D5 | 3541 | 17 | Gd Dragon Control
291 | 00 00 0D E6 | 3558 | 15 | Feather Falling
292 | 00 00 0D F5 | 3573 | 14 | Giant Strength
293 | 00 00 0E 03 | 3587 | 18 | Restoring Level(s)
294 | 00 00 0E 15 | 3605 | 12 | Flame Tongue
295 | 00 00 0E 21 | 3617 | 9 | Fireballs
296 | 00 00 0E 2A | 3626 | 9 | Spiritual
297 | 00 00 0E 33 | 3635 | 7 | Boulder
298 | 00 00 0E 3A | 3642 | 7 | Diamond
299 | 00 00 0E 41 | 3649 | 7 | Emerald
300 | 00 00 0E 48 | 3656 | 4 | Opal
301 | 00 00 0E 4C | 3660 | 7 | Saphire
302 | 00 00 0E 53 | 3667 | 6 | Of Tyr
303 | 00 00 0E 59 | 3673 | 9 | Of Tempus
304 | 00 00 0E 62 | 3682 | 7 | Of Sune
305 | 00 00 0E 69 | 3689 | 6 | Wooden
306 | 00 00 0E 6F | 3695 | 12 | +3 vs Undead
307 | 00 00 0E 7B | 3707 | 4 | Pass
308 | 00 00 0E 7F | 3711 | 6 | Cursed
EOF | 00 00 0E 85 | 3717 | 1 | (file ends with 0)
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 38 92=14 482 bytes
Number of entries (next 2 bytes): 00 03
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): HLIB
Full header size: 32 bytes
The copy protection tiles graphics. Also present on DISKB, which probably means there are other protection checks later in the game.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 20 | 32 | 10 | Index table: 2 bytes (number of entries) + 2*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 2A | 42 | 7820 |
03 | 00 00 1E B6 | 7862 | 6620 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 38 92 | 14482 | End of file |
Here is the index table; it starts with 00 02: number of actual picture files = 2.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
Both entries contain multiple tile graphics and have a GLIB header:
Header (4 bytes): GLIB
1 File size (next 4 bytes): 00 00 1E 8C = 7 820 bytes
s Number of entries minus 1 (next 2 bytes): 00 1A = 26 entries
t Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Header (4 bytes): GLIB
2 File size (next 4 bytes): 00 00 19 DC = 6 620 bytes
n Number of entries minus 1 (next 2 bytes): 00 16 = 22 entries
d Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
I think the graphics are in Amiga ACBM format.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 01 27 C0=75 712
Number of entries minus 1 (next 2 bytes): 00 06
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header size: 44 bytes
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 2C | 44 | 22 | Index table: 2 bytes (number of entries) + 5*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 42 | 66 | 12704 | 'SSI Presents' picture (fullscreen)
03 | 00 00 31 E2 | 12770 | 26354 | 'Girl' picture (fullscreen)
04 | 00 00 98 D4 | 39124 | 9460 | 'Curse of the Azure Bonds' logo (half screen with transparency)
05 | 00 00 BD C8 | 48584 | 11320 | 'Forgotten Realms' logo (half screen with transparency)
06 | 00 00 EA 00 | 59904 | 15808 | 'Atari ST Credits' picture (fullscreen)
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 01 27 C0 | 75712 | End of file |
Here is the index table; it starts with HEX 00 05: number of actual picture files = 5 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
04 | 00 03 | 00 03 | 03 | 03 |
05 | 00 04 | 00 04 | 04 | 04 |
06 | 00 05 | 00 05 | 05 | 05 |
Note that images 00 03 (with the Curse logo) and 00 04 (the Forgotten Realms logo) are half sized images that are displayed on the bottom half of the screen. The Y coordinates are set in those file headers.
1st picture header: 00 C8 00 00 00 00
00 C8 is the image height. Next 2 bytes will increase Y coordinates (image moves up). Last 2 will decrease X coordinates (= move the image to the left).
2nd picture header: same as above.
3rd picture header: 00 69 FF F9 00 00
00 69 = 105 dec. This is the Curse logo height.
FF F9 = 65 529 dec. Y position. Not sure how it works.
00 00 = X position.
4rth picture header: 00 5F FF F2 00 00
Same logic as above. You get the idea.
Replacing this file with the Amiga file from Treasures of the Savage Frontier will show no title screen at all.
The credits screen background graphics actually come from the ALWAYS.TLB file.
The images are in LBM format without the usual ILBM header.
The first 4 bytes of the 2nd-6th entries seem to contain some additional header. In the first real image (2nd entry), it is 00 C8 00 00. They have to be removed at least for the 1st image if you add an ILBM header as explained below.
A standard ILBM header is as follows:
header (4 bytes): FORM
file size minus 8 bytes (next four bytes): from moddingwiki: "Length of chunk data, in bytes. Does not include the pad byte. Will be the same as the file size minus eight bytes (this field and chunkID are not included in the count)".
Format ID (next 4 bytes): ILBM
Actual header: starts with BMHD (for 'BitMapHeaDer').
next 4 bytes: ???
next 2 bytes: image width (01 40 = 320)
next 2 bytes: image height (00 C8 = 200)
next 2 bytes: top left corner X position
next 2 bytes: top left corner Y position
next byte: number of planes (in the Amiga image from Death Knights of Krynn that I tested it was 05, of course on the ST it has to be 04).
next byte: mask. According to moddingwiki, "1 = masked, 2 = transparent color, 3 = lasso (for MacPaint). Mask data is not considered a bit plane." My Amiga test image is 00. 00 and 02 seem to display the same, 01 looks ugly.
next byte: compression. 0 = no compression, 1 = RLE compression. The ST files are, of course, RLE compressed.
next byte: pad1. According to moddingwiki, "Ignore when reading, set to 0 when writing for future compatibility".
next 2 bytes: "Transparent colour, useful only when mask >= 2".
next byte: pixel X aspect ratio.
next byte: pixel Y aspect ratio.
next 2 bytes: screen width. 01 40 = 320.
next 2 bytes: screen height. 00 C8 = 200.
next 4 bytes: CMAP = colour palette header. "The CMAP chunk contains the image's palette and consists of 3-byte RGB values for each colour used. Each byte is between 0 and 255 inclusive. The chunk is 3 x numColours bytes long. The number of colours in the palette will be 2 ^ numBitplanes. This chunk is optional and a default palette will be used if it is not present. It is possible to have fewer entries than expected (e.g. 7 colours for a 4-plane '16 colour' bitmap for example.) Remember that if this has an odd number of colours, as per the IFF specification the chunk will be padded by one byte to make it an even number of bytes long, but the pad byte is not included in the chunk's length field."
To reimport an image, use Prism Paint on the ST, save it as IFF with compression. Then hex edit the file, you have to copy and paste the data chunk that starts at offset 'BODY' (ASCII) + 4 bytes!
Inside the TLB file, the entry header has to be 00 C8 00 00 00 00 28 D2. Paste the data chunk after that! Then modify the TLB header with the final file size and correct offsets.
The 2 logos are in ACBM format, with an empty plane in the middle.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 8C 96 = 35 990 bytes
Number of entries minus 1 (next 2 bytes): 00 15 = 21 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): GLIB
Full header size: 104
According to UA Forums, this file is related to wallsets. In the PC version, "For each 8x8Dx.DAX file there's a corresponding GEOx.DAX and a corresponding WALLDEFx.DAX file. Given any x, y co-ord on the map in the GEO file you go lookup the graphic indexes in WALLDEF and pluck them out of the 8x8 files to render them."
After opening them with Goldbox Explorer, we can see they hold smaller parts of the wallset (like roof corners, etc...) as 8x8 tiles.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 68 | 104 | 82 | Index table: 2 bytes (number of entries) + 20*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 BA | 186 | 1634 |
03 | 00 00 07 1C | 1820 | 2010 |
04 | 00 00 0E F6 | 3830 | 2096 |
05 | 00 00 17 26 | 5926 | 2388 |
06 | 00 00 20 7A | 8314 | 2102 |
07 | 00 00 28 B0 | 10416 | 1526 |
08 | 00 00 2E A6 | 11942 | 1898 |
09 | 00 00 36 10 | 13840 | 1796 |
10 | 00 00 3D 14 | 15636 | 1858 |
11 | 00 00 44 56 | 17494 | 1962 |
12 | 00 00 4C 00 | 19456 | 2024 |
13 | 00 00 53 E8 | 21480 | 1870 |
14 | 00 00 5B 36 | 23350 | 1680 |
15 | 00 00 61 C6 | 25030 | 2326 |
16 | 00 00 6A DC | 27356 | 1490 |
17 | 00 00 70 AE | 28846 | 1896 |
18 | 00 00 78 16 | 30742 | 2094 |
19 | 00 00 80 44 | 32836 | 1880 |
20 | 00 00 87 9C | 34716 | 328 |
21 | 00 00 88 E4 | 35044 | 946 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 8C 96 | 35990 | End of file |
Here is the index table; it starts with HEX 00 14: number of actual picture files = 20 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
04 | 00 03 | 00 03 | 03 | 03 |
05 | 00 04 | 00 04 | 04 | 04 |
06 | 00 05 | 00 05 | 05 | 05 |
07 | 00 06 | 00 06 | 06 | 06 |
08 | 00 07 | 00 07 | 07 | 07 |
09 | 00 08 | 00 08 | 08 | 08 |
10 | 00 09 | 00 09 | 09 | 09 |
11 | 00 0A | 00 0A | 10 | 10 |
12 | 00 0B | 00 0B | 11 | 11 |
13 | 00 0C | 00 0C | 12 | 12 |
14 | 00 0D | 00 0D | 13 | 13 |
15 | 00 10 | 00 0E | 16 | 14 |
16 | 00 8D | 00 0F | 141 | 15 |
17 | 00 8E | 00 10 | 142 | 16 |
18 | 00 AB | 00 11 | 171 | 17 |
19 | 00 AC | 00 12 | 172 | 18 |
20 | 00 CA | 00 13 | 202 | 19 |
21 | 00 CB | 00 14 | 203 | 20 |
The PC version has an additional entry with dec. ID 201 that contains a small font.
I think entry IDs 141 & 142 have to be considered as IDs 14 part 1 and 14 part 2, same thing for IDs 171 and 172. This would correspond with the IDs from WALLDEF.TLB so it makes sense.
Each entry has a 16 byte header starting with GLIB and ending with TILE (ASCII values).
The 8 middle bytes are as follow:
Entry | Entry Length | Entry Length | Number of | Number of | Unknown
# | Hex | Hex | parts Hex | parts Dec |
------|--------------|--------------|------------|------------|--------
02-19 | 00 00 0E 4C | 3660 | 00 46 | 70 | 03 00
20 | 00 00 03 84 | 900 | 00 14 | 20 | 03 00
21 | 00 00 09 38 | 2360 | 00 2D | 45 | 03 00
Header (4 bytes): GLIB
File size (next 4 bytes): 00 D5 7C = 56 652 bytes
Number of entries minus 1 (next 2 bytes): 00 05 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): GLIB
Full header size: 40 bytes
This contains pictures that fill the whole screen horizontally.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 28 | 40 | 18 | Index table: 2 bytes (number of entries) + 4*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 3A | 58 | 9318 |
03 | 00 00 24 A0 | 9376 | 15082 |
04 | 00 00 5F 8A | 24458 | 12474 |
05 | 00 00 90 44 | 36932 | 17720 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 D5 7C | 54652 | End of file |
Here is the index table; it starts with HEX 00 04: number of actual picture files = 4 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 78 | 00 01 | 120 | 01 | 3 guys at night
03 | 00 79 | 00 02 | 121 | 02 | World map
04 | 00 7A | 00 03 | 122 | 03 | City at night
05 | 00 7B | 00 04 | 123 | 04 | Demon
Here are the picture headers:
Entry |Header| Picture size|Pict.|Nb of |Nb of | Magic | Data | Actual pic | End of file | Unknown
# |ASCII | Hex |Size |entries|entries| Number| Type | Start offset| Hex |
| | |Dec | Hex | Dec | | ASCII| Hex | |
------|------|-------------|-----|-------|-------|-------|------|-------------|-------------|----
02 |GLIB | 00 00 24 66 |9318 | 00 01 | 01 | 00 00 | TILE | 00 00 00 18 | 00 00 24 66 | 00 78 00 00 00 00 26 02
03 |GLIB | 00 00 3A EA |15082| 00 01 | 01 | 00 00 | TILE | 00 00 00 18 | 00 00 3A EA | 00 78 00 00 00 00 26 02
04 |GLIB | 00 00 30 BA |12474| 00 0C | 12 | 00 00 | TILE | 00 00 00 44 | 00 00 22 3C | 00 00 22 DA 00 00 23 C4
05 |GLIB | 00 00 45 38 |17720| 00 01 | 01 | 00 00 | TILE | 00 00 00 18 | 00 00 45 38 | 00 78 00 00 00 00 26 02
Each picture has its own GLIB header.
Entry | Picture | Picture | Picture | Picture | Misc
# | Start Offset| End Offset |Start Offset| End Offset |
| Hex | Hex | Dec | Dec |
------|-------------|-------------|------------|------------|--------------------------------------------------
02 | 00 00 00 18 | 00 00 24 66 | 24 | 9318 |
03 | 00 00 00 18 | 00 00 3A EA | 24 | 15082 |
05 | 00 00 00 18 | 00 00 45 38 | 24 | 17720 |
Entry 4 is special as it has multiple parts:
Part | Picture | Picture | Misc
# | Start Offset|Start Offset|
| Hex | Dec |
------|-------------|------------|-----------------------------------------------------------------------------
01 | 00 00 00 44 | 68 |
02 | 00 00 22 3C | 8764 |
03 | 00 00 22 DA | 8922 |
04 | 00 00 23 C4 | 9156 |
05 | 00 00 25 AC | 9644 |
06 | 00 00 27 D0 | 10192 |
07 | 00 00 29 F4 | 10740 |
08 | 00 00 2C 18 | 11288 |
09 | 00 00 2D 10 | 11536 |
10 | 00 00 2D FA | 11770 |
11 | 00 00 2F 42 | 12098 |
12 | 00 00 30 B2 | 12466 |
------|-------------|------------|-----------------------------------------------------------------------------
EOF | 00 00 30 BA | End of file|
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 93 6E = 37 742 bytes
Number of entries minus 1 (next 2 bytes): 00 1B = 27 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header size: 128 bytes
When you meet a humanoid character in exploration, a picture shows up in the upper left frame. This file contains the lower part of the image, showing the body, without the head. Image size is 48*88.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 80 | 128 | 106 | Index table: 2 bytes (number of entries) + 26*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 EA | 234 | 1674 |
03 | 00 00 07 74 | 1908 | 1372 |
04 | 00 00 0C D0 | 3280 | 1322 |
05 | 00 00 11 FA | 4602 | 1378 |
06 | 00 00 17 5C | 5980 | 1034 |
07 | 00 00 1B 66 | 7014 | 1530 |
08 | 00 00 21 60 | 8544 | 976 |
09 | 00 00 25 30 | 9520 | 1966 |
10 | 00 00 2C DE | 11486 | 1382 |
11 | 00 00 32 44 | 12868 | 1492 |
12 | 00 00 38 18 | 14360 | 1584 |
13 | 00 00 3E 48 | 15944 | 1864 |
14 | 00 00 45 90 | 17808 | 1502 |
15 | 00 00 4B 6E | 19310 | 1806 |
16 | 00 00 52 AE | 21116 | 1298 |
17 | 00 00 57 8E | 22414 | 1356 |
18 | 00 00 5C DA | 23770 | 1296 |
19 | 00 00 61 EA | 25066 | 1608 |
20 | 00 00 68 32 | 26674 | 1250 |
21 | 00 00 6D 14 | 27924 | 1544 |
22 | 00 00 73 1C | 29468 | 1290 |
23 | 00 00 78 26 | 30758 | 1492 |
24 | 00 00 7D FA | 32250 | 1748 |
25 | 00 00 84 CE | 33998 | 1502 |
26 | 00 00 8A AC | 35500 | 1012 |
27 | 00 00 8E A0 | 36512 | 1230 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 93 6E | 37742 | End of file |
Here is the index table; it starts with HEX 00 1A: number of actual pictures = 26 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 | White warrior with horse drawing on the armour
03 | 00 01 | 00 02 | 01 | 02 | Rogue with a knife
04 | 00 02 | 00 03 | 02 | 03 | Guy with a knife (blue shirt)
05 | 00 03 | 00 04 | 03 | 04 | Woman (used by tavern keeper at the beginning)
06 | 00 04 | 00 05 | 04 | 05 | Guy in green with cloak
07 | 00 05 | 00 06 | 05 | 06 | Noble woman with purple cloak and dress
08 | 00 06 | 00 07 | 06 | 07 | Priest in white robes
09 | 00 10 | 00 08 | 16 | 08 | Warrior in shiny armour
10 | 00 11 | 00 09 | 17 | 09 | Woman mage in blue robes
11 | 00 12 | 00 0A | 18 | 10 | Guy in chain mail & blue shirt
12 | 00 13 | 00 0B | 19 | 11 | Warrior in white armour
13 | 00 16 | 00 0C | 22 | 12 | Warrior amazon woman
14 | 00 20 | 00 0D | 32 | 13 | Warrior with eagle on the chest
15 | 00 21 | 00 0E | 33 | 14 | Man in purple robes
16 | 00 22 | 00 0F | 34 | 15 | Priest in brown robes
17 | 00 23 | 00 10 | 35 | 16 | Guy in green/brown with key around his neck
18 | 00 2A | 00 11 | 42 | 17 | Girl in yellow and black with luth
19 | 01 C1 | 00 1A | 449 | 18 | Guy in green
20 | 02 25 | 00 12 | 549 | 19 | Warrior with sword
21 | 00 32 | 00 13 | 50 | 20 | Guy in grey
22 | 00 33 | 00 14 | 51 | 21 | Black woman (head partially visible)
23 | 00 3A | 00 15 | 58 | 22 | Man in brown robes, with dragon drawing on it
24 | 00 3B | 00 16 | 59 | 23 | Merchant in purple robes
25 | 00 40 | 00 17 | 64 | 24 | Man in large blue shirt
26 | 00 41 | 00 18 | 65 | 25 | Warrior with unicorn on his chest
27 | 00 46 | 00 19 | 70 | 26 | Man in black robes
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 16 02 = 5 634 bytes
Number of entries minus 1 (next 2 bytes): 00 1B = 27 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header size: 128 bytes
Some combat tiles: arrows, bolts, magic effects, dead creature symbol, and the square that appears when you highlight something in combat.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 80 | 128 | 106 | Index table: 2 bytes (number of entries) + 26*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 EA | 234 | 88 |
03 | 00 00 01 42 | 322 | 88 |
04 | 00 00 01 9A | 410 | 218 |
05 | 00 00 02 74 | 628 | 218 |
06 | 00 00 03 4E | 846 | 84 |
07 | 00 00 03 A2 | 930 | 84 |
08 | 00 00 03 F6 | 1014 | 278 |
09 | 00 00 05 0C | 1292 | 234 |
10 | 00 00 05 F6 | 1526 | 188 |
11 | 00 00 06 B2 | 1714 | 138 |
12 | 00 00 07 3C | 1852 | 278 |
13 | 00 00 08 52 | 2130 | 278 |
14 | 00 00 09 68 | 2408 | 368 |
15 | 00 00 0A D8 | 2776 | 368 |
16 | 00 00 0C 48 | 3144 | 234 |
17 | 00 00 0D 32 | 3378 | 234 |
18 | 00 00 0E 1C | 3612 | 28 |
19 | 00 00 0E 38 | 3640 | 28 |
20 | 00 00 0E 54 | 3668 | 338 |
21 | 00 00 0F A6 | 4006 | 338 |
22 | 00 00 10 F8 | 4344 | 78 |
23 | 00 00 11 46 | 4422 | 368 |
24 | 00 00 12 B6 | 4790 | 274 |
25 | 00 00 13 C8 | 5064 | 274 |
26 | 00 00 14 DA | 5338 | 148 |
27 | 00 00 15 6E | 5486 | 148 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 16 02 | 5634 | End of file |
Here is the index table; it starts with HEX 00 1A: number of actual pictures = 26 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 |
03 | 00 80 | 00 02 | 128 | 02 |
04 | 00 01 | 00 03 | 01 | 03 |
05 | 00 81 | 00 04 | 129 | 04 |
06 | 00 02 | 00 05 | 02 | 05 |
07 | 00 82 | 00 06 | 130 | 06 |
08 | 00 03 | 00 07 | 03 | 07 |
09 | 00 83 | 00 08 | 131 | 08 |
10 | 00 04 | 00 09 | 04 | 09 |
11 | 00 84 | 00 0A | 132 | 10 |
12 | 00 05 | 00 0B | 05 | 11 |
13 | 00 85 | 00 0C | 133 | 12 |
14 | 00 06 | 00 0D | 06 | 13 |
15 | 00 86 | 00 0E | 134 | 14 |
16 | 00 07 | 00 0F | 07 | 15 |
17 | 00 87 | 00 10 | 135 | 16 |
18 | 00 08 | 00 11 | 08 | 17 |
19 | 00 88 | 00 12 | 136 | 18 |
20 | 00 09 | 00 13 | 09 | 19 |
21 | 00 89 | 00 14 | 137 | 20 |
22 | 00 0A | 00 15 | 10 | 21 |
23 | 00 8A | 00 16 | 138 | 22 |
24 | 00 0B | 00 17 | 11 | 23 |
25 | 00 8B | 00 18 | 139 | 24 |
26 | 00 19 | 00 19 | 25 | 25 |
27 | 00 99 | 00 1A | 153 | 26 |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 01 1E D2 = 73 426 bytes
Number of entries minus 1 (next 2 bytes): 00 85 = 133 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header size:
This contains the monsters combat graphics.
The Amiga version is almost identical to the ST; but the first entry has 8 bytes less (2nd entry starts at decimal 1082 on the Amiga, and dec. 1090 on the ST). The graphics themselves are exactly the same.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
001 | 00 00 02 28 | 552 | 538 | Index table: 2 bytes (number of entries) + 134*4 bytes (there are several duplicate entries)
------|-----------------|-----------------|--------------|-----------------------------------------------------
002 | 00 00 04 42 | 1090 | 728 |
003 | 00 00 07 1A | 1818 | 728 |
004 | 00 00 09 F2 | 2546 | 728 |
005 | 00 00 0C CA | 3274 | 728 |
006 | 00 00 0F A2 | 4002 | 728 |
007 | 00 00 12 7A | 4730 | 728 |
008 | 00 00 15 52 | 5458 | 368 |
009 | 00 00 16 C2 | 5826 | 368 |
010 | 00 00 18 32 | 6194 | 728 |
011 | 00 00 1B 0A | 6922 | 728 |
012 | 00 00 1D E2 | 7650 | 368 |
013 | 00 00 1F 52 | 8018 | 368 |
014 | 00 00 20 C2 | 8386 | 368 |
015 | 00 00 22 32 | 8754 | 368 |
016 | 00 00 23 A2 | 9122 | 728 |
017 | 00 00 26 7A | 9850 | 728 |
018 | 00 00 29 52 | 10578 | 368 |
019 | 00 00 2A C2 | 10946 | 368 |
020 | 00 00 2C 32 | 11314 | 368 |
021 | 00 00 2D A2 | 11682 | 368 |
022 | 00 00 2F 12 | 12050 | 368 |
023 | 00 00 30 82 | 12418 | 368 |
024 | 00 00 31 F2 | 12786 | 368 |
025 | 00 00 33 62 | 13154 | 368 |
026 | 00 00 34 D2 | 13522 | 368 |
027 | 00 00 36 42 | 13890 | 368 |
028 | 00 00 37 B2 | 14258 | 368 |
029 | 00 00 39 22 | 14626 | 368 |
030 | 00 00 3A 92 | 14994 | 368 |
031 | 00 00 3C 02 | 15362 | 368 |
032 | 00 00 3D 72 | 15730 | 368 |
033 | 00 00 3E E2 | 16098 | 368 |
034 | 00 00 40 52 | 16466 | 728 |
035 | 00 00 43 2A | 17194 | 728 |
036 | 00 00 46 02 | 17922 | 368 |
037 | 00 00 47 72 | 18290 | 368 |
038 | 00 00 48 E2 | 18658 | 728 |
039 | 00 00 4B BA | 19386 | 728 |
040 | 00 00 4E 92 | 20114 | 728 |
041 | 00 00 51 6A | 20842 | 728 |
042 | 00 00 54 42 | 21570 | 368 |
043 | 00 00 55 B2 | 21938 | 368 |
044 | 00 00 57 22 | 22306 | 728 |
045 | 00 00 59 FA | 23034 | 728 |
046 | 00 00 5C D2 | 23762 | 368 |
047 | 00 00 5E 42 | 24130 | 368 |
048 | 00 00 5F B2 | 24498 | 368 |
049 | 00 00 61 22 | 24866 | 368 |
050 | 00 00 62 92 | 25234 | 368 |
051 | 00 00 64 02 | 25602 | 368 |
052 | 00 00 65 72 | 25970 | 368 |
053 | 00 00 66 E2 | 26338 | 368 |
054 | 00 00 68 52 | 26706 | 368 |
055 | 00 00 69 C2 | 27074 | 368 |
056 | 00 00 6B 32 | 27442 | 368 |
057 | 00 00 6C A2 | 27810 | 368 |
058 | 00 00 6E 12 | 28178 | 368 |
059 | 00 00 6F 82 | 28546 | 368 |
060 | 00 00 70 F2 | 28914 | 368 |
061 | 00 00 72 62 | 29282 | 368 |
062 | 00 00 73 D2 | 29650 | 368 |
063 | 00 00 75 42 | 30018 | 368 |
064 | 00 00 76 B2 | 30386 | 728 |
065 | 00 00 79 8A | 31114 | 728 |
066 | 00 00 7C 62 | 31842 | 1448 |
067 | 00 00 82 0A | 33290 | 1448 |
068 | 00 00 87 B2 | 34738 | 368 |
069 | 00 00 89 22 | 35106 | 368 |
070 | 00 00 8A 92 | 35474 | 368 |
071 | 00 00 8C 02 | 35842 | 368 |
072 | 00 00 8D 72 | 36210 | 728 |
073 | 00 00 90 4A | 36938 | 728 |
074 | 00 00 93 22 | 37666 | 368 |
075 | 00 00 94 92 | 38034 | 368 |
076 | 00 00 96 02 | 38402 | 368 |
077 | 00 00 97 72 | 38770 | 368 |
078 | 00 00 98 E2 | 39138 | 368 |
079 | 00 00 9A 52 | 39506 | 368 |
080 | 00 00 9B C2 | 39874 | 728 |
081 | 00 00 9E 9A | 40602 | 728 |
082 | 00 00 A1 72 | 41330 | 728 |
083 | 00 00 A4 4A | 42058 | 728 |
084 | 00 00 A7 22 | 42786 | 728 |
085 | 00 00 A9 FA | 43514 | 728 |
086 | 00 00 AC D2 | 44242 | 368 |
087 | 00 00 AE 42 | 44610 | 368 |
088 | 00 00 AF B2 | 44978 | 368 |
089 | 00 00 B1 22 | 45346 | 368 |
090 | 00 00 B2 92 | 45714 | 728 |
091 | 00 00 B5 6A | 46442 | 728 |
092 | 00 00 B8 42 | 47170 | 368 |
093 | 00 00 B9 B2 | 47538 | 368 |
094 | 00 00 BB 22 | 47906 | 368 |
095 | 00 00 BC 92 | 48274 | 368 |
096 | 00 00 BE 02 | 48642 | 368 |
097 | 00 00 BF 72 | 49010 | 368 |
098 | 00 00 C0 E2 | 49378 | 368 |
099 | 00 00 C2 52 | 49746 | 368 |
100 | 00 00 C3 C2 | 50114 | 728 |
101 | 00 00 C6 9A | 50842 | 728 |
102 | 00 00 C9 72 | 51570 | 1448 |
103 | 00 00 CF 1A | 53018 | 1448 |
104 | 00 00 D4 C2 | 54466 | 1448 |
105 | 00 00 DA 6A | 55914 | 1448 |
106 | 00 00 E0 12 | 57362 | 728 |
107 | 00 00 E2 EA | 58090 | 728 |
108 | 00 00 E5 C2 | 58818 | 728 |
109 | 00 00 E8 9A | 59546 | 728 |
110 | 00 00 EB 72 | 60274 | 728 |
111 | 00 00 EE 4A | 61002 | 728 |
112 | 00 00 F1 22 | 61730 | 368 |
113 | 00 00 F2 92 | 62098 | 368 |
114 | 00 00 F4 02 | 62466 | 368 |
115 | 00 00 F5 72 | 62834 | 368 |
116 | 00 00 F6 E2 | 63202 | 1448 |
117 | 00 00 FC 8A | 64650 | 1448 |
118 | 00 01 02 32 | 66098 | 368 |
119 | 00 01 03 A2 | 66466 | 368 |
120 | 00 01 05 12 | 66834 | 368 |
121 | 00 01 06 82 | 67202 | 368 |
122 | 00 01 07 F2 | 67570 | 368 |
123 | 00 01 09 62 | 67938 | 368 |
124 | 00 01 0A D2 | 68306 | 728 |
125 | 00 01 0D AA | 69034 | 728 |
126 | 00 01 10 82 | 69762 | 368 |
127 | 00 01 11 F2 | 70130 | 368 |
128 | 00 01 13 62 | 70498 | 368 |
129 | 00 01 14 D2 | 70866 | 368 |
130 | 00 01 16 42 | 71234 | 728 |
131 | 00 01 19 1A | 71962 | 728 |
132 | 00 01 1B F2 | 72690 | 368 |
133 | 00 01 1D 62 | 73058 | 368 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 01 1E D2 | 73426 | End of file |
Here is the index table; it starts with HEX 00 86: number of actual pictures = 134 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
002 | 00 D0 | 00 01 | 208 | 001 |
003 | 00 50 | 00 02 | 80 | 002 |
004 | 00 D1 | 00 03 | 209 | 003 |
005 | 00 51 | 00 04 | 81 | 004 |
006 | 00 D2 | 00 05 | 210 | 005 |
007 | 00 52 | 00 06 | 82 | 006 |
008 | 00 D3 | 00 07 | 211 | 007 |
009 | 00 53 | 00 08 | 83 | 008 |
010 | 00 D4 | 00 09 | 212 | 009 |
011 | 00 54 | 00 0A | 84 | 010 |
012 | 00 D5 | 00 0B | 213 | 011 |
013 | 00 55 | 00 0C | 85 | 012 |
014 | 00 D6 | 00 0D | 214 | 013 |
015 | 00 56 | 00 0E | 86 | 014 |
016 | 00 D7 | 00 0F | 215 | 015 |
017 | 00 57 | 00 10 | 87 | 016 |
018 | 00 D8 | 00 11 | 216 | 017 |
019 | 00 58 | 00 12 | 88 | 018 |
020 | 00 D9 | 00 13 | 217 | 019 |
021 | 00 59 | 00 14 | 89 | 020 |
022 | 00 DA | 00 15 | 218 | 021 |
023 | 00 5A | 00 16 | 90 | 022 |
024 | 00 80 | 00 17 | 128 | 023 |
025 | 00 00 | 00 18 | 00 | 024 |
026 | 00 81 | 00 19 | 129 | 025 |
027 | 00 01 | 00 1A | 01 | 026 |
028 | 00 82 | 00 1B | 130 | 027 |
029 | 00 02 | 00 1C | 02 | 028 |
030 | 00 83 | 00 1D | 131 | 029 |
031 | 00 03 | 00 1E | 03 | 030 |
032 | 00 84 | 00 1F | 132 | 031 |
033 | 00 04 | 00 20 | 04 | 032 |
034 | 00 85 | 00 21 | 133 | 033 |
035 | 00 05 | 00 22 | 05 | 034 |
036 | 00 86 | 00 23 | 134 | 035 |
037 | 00 06 | 00 24 | 06 | 036 |
038 | 00 87 | 00 25 | 135 | 037 |
039 | 00 07 | 00 26 | 07 | 038 |
040 | 00 88 | 00 27 | 136 | 039 |
041 | 00 08 | 00 28 | 08 | 040 |
042 | 00 89 | 00 29 | 137 | 041 |
043 | 00 09 | 00 2A | 09 | 042 |
044 | 00 8A | 00 2B | 138 | 043 |
045 | 00 0A | 00 2C | 10 | 044 |
046 | 00 90 | 00 2D | 144 | 045 |
047 | 00 10 | 00 2E | 16 | 046 |
048 | 00 91 | 00 2F | 145 | 047 |
049 | 00 11 | 00 30 | 17 | 048 |
050 | 00 92 | 00 31 | 146 | 049 |
051 | 00 12 | 00 32 | 18 | 050 |
052 | 00 93 | 00 33 | 147 | 051 |
053 | 00 13 | 00 34 | 19 | 052 |
054 | 00 94 | 00 35 | 148 | 053 |
055 | 00 14 | 00 36 | 20 | 054 |
056 | 00 95 | 00 37 | 149 | 055 |
057 | 00 15 | 00 38 | 21 | 056 |
058 | 00 96 | 00 39 | 150 | 057 |
059 | 00 16 | 00 3A | 22 | 058 |
060 | 00 97 | 00 3B | 151 | 059 |
061 | 00 17 | 00 3C | 23 | 060 |
062 | 00 98 | 00 3D | 152 | 061 |
063 | 00 18 | 00 3E | 24 | 062 |
064 | 00 99 | 00 3F | 153 | 063 |
065 | 00 19 | 00 40 | 25 | 064 |
066 | 00 9A | 00 41 | 154 | 065 |
067 | 00 1A | 00 42 | 26 | 066 |
068 | 00 9B | 00 43 | 155 | 067 |
069 | 00 1B | 00 44 | 27 | 068 |
070 | 00 9C | 00 45 | 156 | 069 |
071 | 00 1C | 00 46 | 28 | 070 |
072 | 00 9E | 00 47 | 158 | 071 |
073 | 00 1E | 00 48 | 30 | 072 |
074 | 00 A0 | 00 49 | 160 | 073 |
075 | 00 20 | 00 4A | 32 | 074 |
076 | 00 A1 | 00 4B | 161 | 075 |
077 | 00 21 | 00 4C | 33 | 076 |
078 | 00 A2 | 00 4D | 162 | 077 |
079 | 00 22 | 00 4E | 34 | 078 |
080 | 00 A3 | 00 4F | 163 | 079 |
081 | 00 23 | 00 50 | 35 | 080 |
082 | 00 A5 | 00 51 | 165 | 081 |
083 | 00 25 | 00 52 | 37 | 082 |
084 | 00 A6 | 00 53 | 166 | 083 |
085 | 00 26 | 00 54 | 38 | 084 |
086 | 00 A7 | 00 55 | 167 | 085 |
087 | 00 27 | 00 56 | 39 | 086 |
088 | 00 A8 | 00 57 | 168 | 087 |
089 | 00 28 | 00 58 | 40 | 088 |
090 | 00 A9 | 00 59 | 169 | 089 |
091 | 00 29 | 00 5A | 41 | 090 |
092 | 00 B0 | 00 5B | 176 | 091 |
093 | 00 30 | 00 5C | 48 | 092 |
094 | 00 B1 | 00 5D | 177 | 093 |
095 | 00 31 | 00 5E | 49 | 094 |
096 | 00 B2 | 00 5F | 178 | 095 |
097 | 00 32 | 00 60 | 50 | 096 |
098 | 00 B3 | 00 61 | 179 | 097 |
099 | 00 33 | 00 62 | 51 | 098 |
100 | 00 B4 | 00 63 | 180 | 099 |
101 | 00 34 | 00 64 | 52 | 100 |
102 | 00 B5 | 00 65 | 181 | 101 |
103 | 00 35 | 00 66 | 53 | 102 |
104 | 00 B6 | 00 67 | 182 | 103 |
105 | 00 36 | 00 68 | 54 | 104 |
106 | 00 B7 | 00 69 | 183 | 105 |
107 | 00 37 | 00 6A | 55 | 106 |
108 | 00 B8 | 00 6B | 184 | 107 |
109 | 00 38 | 00 6C | 56 | 108 |
110 | 00 B9 | 00 6D | 185 | 109 |
111 | 00 39 | 00 6E | 57 | 110 |
112 | 00 BA | 00 6F | 186 | 111 |
113 | 00 3A | 00 70 | 58 | 112 |
114 | 00 BB | 00 71 | 187 | 113 |
115 | 00 3B | 00 72 | 59 | 114 |
116 | 00 BC | 00 73 | 188 | 115 |
117 | 00 3C | 00 74 | 60 | 116 |
118 | 00 C0 | 00 75 | 192 | 117 |
119 | 00 40 | 00 76 | 64 | 118 |
120 | 00 C1 | 00 77 | 193 | 119 |
121 | 00 41 | 00 78 | 65 | 120 |
122 | 00 C2 | 00 77 | 194 | 119 | Duplicate
123 | 00 42 | 00 78 | 66 | 120 | Duplicate
124 | 00 C3 | 00 79 | 195 | 121 |
125 | 00 43 | 00 7A | 67 | 122 |
126 | 00 C4 | 00 7B | 196 | 123 |
127 | 00 44 | 00 7C | 68 | 124 |
128 | 00 C5 | 00 7D | 197 | 125 |
129 | 00 45 | 00 7E | 69 | 126 |
130 | 00 C6 | 00 7F | 198 | 127 |
131 | 00 46 | 00 80 | 70 | 138 |
132 | 00 C7 | 00 81 | 199 | 129 |
133 | 00 47 | 00 82 | 71 | 130 |
134 | 00 C8 | 00 83 | 200 | 131 |
135 | 00 48 | 00 84 | 72 | 132 |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 1D 60 = 7 520 bytes
Number of entries minus 1 (next 2 bytes): = 00 19 = 25 entries
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Full header size: 120 bytes
Dungeon walls during combat. The PC version contains the same graphics file twice.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 78 | 120 | 296 |
02 | 00 00 01 A0 | 416 | 296 |
03 | 00 00 02 C8 | 712 | 296 |
04 | 00 00 03 F0 | 1008 | 296 |
05 | 00 00 05 18 | 1304 | 296 |
06 | 00 00 06 40 | 1600 | 296 |
07 | 00 00 07 68 | 1896 | 296 |
08 | 00 00 08 90 | 2192 | 296 |
09 | 00 00 09 B8 | 2488 | 296 |
10 | 00 00 0A E0 | 2784 | 296 |
11 | 00 00 0C 08 | 3080 | 296 |
12 | 00 00 0D 30 | 3376 | 296 |
13 | 00 00 0E 58 | 3672 | 296 |
14 | 00 00 0F 80 | 3968 | 296 |
15 | 00 00 10 A8 | 4264 | 296 |
16 | 00 00 11 D0 | 4560 | 296 |
17 | 00 00 12 F8 | 4856 | 296 |
18 | 00 00 14 20 | 5152 | 296 |
19 | 00 00 15 48 | 5448 | 296 |
20 | 00 00 16 70 | 5744 | 296 |
21 | 00 00 17 98 | 6040 | 296 |
22 | 00 00 18 C0 | 6336 | 296 |
23 | 00 00 19 E8 | 6632 | 296 |
24 | 00 00 1B 10 | 6928 | 296 |
25 | 00 00 1C 38 | 7224 | 296 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 1D 60 | 7520
Header (4 bytes): GLIB
File size (next 4 bytes): 02 1D 42 = 138562 bytes
Number of entries minus 1 (next 2 bytes):00 1A = 26
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 124 bytes
ECL.GLB contains scripts and script text. Script text strings are encrypted, but not script commands.
According to Goldbox Explorer, the individual (decoded) files contained in the PC ECL*.DAX files are of the same size as the ST ones but with 2 more bytes. Those 2 bytes are a 88 13 (hex) header.
1st file actually corresponds to PC ECL2.DAX. ECL1.DAX is actually the last 3 files in the ST ECL.GLB file.
To figure out the scripts IDs, use Goldbox Explorer. Scripts have the same IDs on all platforms.
The demo script has 82 as an ID and is the last in the file.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 7C | 124 | 102 | Index table: 2 bytes (number of entries) + 25*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 E2 | 226 | 7622 |
03 | 00 00 1E A8 | 7848 | 3548 |
04 | 00 00 2C 84 | 11396 | 7234 |
05 | 00 00 48 C6 | 18630 | 5970 |
06 | 00 00 60 18 | 24600 | 7664 |
07 | 00 00 7E 08 | 32264 | 6430 |
08 | 00 00 97 26 | 38694 | 7358 |
09 | 00 00 B3 E4 | 46052 | 3330 |
10 | 00 00 C0 E6 | 49382 | 7418 |
11 | 00 00 DD E0 | 56800 | 5454 |
12 | 00 00 F3 2E | 62254 | 5394 |
13 | 00 01 08 40 | 67648 | 2898 |
14 | 00 01 13 92 | 70546 | 5598 |
15 | 00 01 29 70 | 76144 | 584 |
16 | 00 01 2B B8 | 76728 | 3776 |
17 | 00 01 3A 78 | 80504 | 6104 |
18 | 00 01 52 50 | 86608 | 7390 |
19 | 00 01 6F 2E | 93998 | 6798 |
20 | 00 01 89 BC | 100796 | 7146 |
21 | 00 01 A5 A6 | 107942 | 6298 |
22 | 00 01 BE 40 | 114240 | 5362 |
23 | 00 01 D3 32 | 119602 | 2932 |
24 | 00 01 DE A6 | 122534 | 7514 |
25 | 00 01 FC 00 | 130048 | 7592 |
26 | 00 02 19 A8 | 137640 | 922 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 02 1D 42 | 138562 | | End of file
Here is the index table; it starts with HEX 00 19: number of actual script files = 25 entries.
Entry | Script | Script order | Script | Script order | Corresponds to | Misc
# | Ingame ID | in ECL file | Ingame ID | in ECL file | a GEO map? |
| Hex | Hex | Dec | Dec | * = Yes |
------|-----------|--------------|-----------|--------------|----------------|----------------------------------
02 | 00 01 | 00 01 | 01 | 01 | * | Game start script - Tilverton
03 | 00 02 | 00 02 | 02 | 02 | | Thieves' Guild
04 | 00 03 | 00 03 | 03 | 03 | * | Tilverton Sewers
05 | 00 04 | 00 04 | 04 | 04 | * | The Fire Knife Hideout
06 | 00 10 | 00 05 | 16 | 05 | * | Yulash
07 | 00 11 | 00 06 | 17 | 06 | * | The Pit of Moander
08 | 00 12 | 00 07 | 18 | 07 | | The Pit of Moander
09 | 00 15 | 00 08 | 21 | 08 | * | Voonlar/Phlan ruins
10 | 00 20 | 00 09 | 32 | 09 | * | Zhentil Keep
11 | 00 21 | 00 0A | 33 | 10 | * | Temple of Bane
12 | 00 22 | 00 0B | 34 | 11 | | The Cave of the Beholder
13 | 00 23 | 00 0C | 35 | 12 | | Zhentil Keep Court/Arena
14 | 00 25 | 00 0D | 37 | 13 | * | Mulmaster Beholder Corps
15 | 00 30 | 00 0E | 48 | 14 | | Exiting from any of Hap/Cave of the
| | | | | | Dracolich/Dracandros's Tower to World
| | | | | | Map
16 | 00 31 | 00 0F | 49 | 15 | | Village of Haptooth
17 | 00 32 | 00 10 | 50 | 16 | * | Cave of the Dracolich
18 | 00 33 | 00 11 | 51 | 17 | * | Dracandros's Tower
19 | 00 35 | 00 12 | 53 | 18 | * | Shadowdale/Ashabenford/Essembra dungeons
20 | 00 40 | 00 13 | 64 | 19 | * | The Burial Glen
21 | 00 42 | 00 14 | 66 | 20 | * | The Ruins of Myth Drannor
22 | 00 43 | 00 15 | 67 | 21 | * | The Grand Ruined Temple
23 | 00 45 | 00 16 | 69 | 22 | * | Teshwave/Hillsfar ruins
24 | 00 50 | 00 17 | 80 | 23 | | World Map (Ashabenford, Dagger Falls,
| | | | | | Essembra, Hap, Myth Drannor, Shadowdale,
| | | | | | The Standing Stone, Tilverton)
25 | 00 51 | 00 18 | 81 | 24 | | World Map (Hillsfar, Phlan, Teshwave,
| | | | | | Voonlar, Yulash, Zhentil Keep)
26 | 00 52 | 00 19 | 82 | 25 | | Demo mode script
(location names come from Goldbox Explorer's ECL descriptions)
Here is a list of the script commands (taken from Goldbox Explorer):
Command | Command | Info
Hex value | Name |
----------|-------------------|----------------------------------------
00 | EXIT |
01 | GOTO | Seems to be used in double (01 01); next 2 bytes are the destination value in little
| | endian mode
02 | GOSUB |
03 | COMPARE |
04 | ADD |
05 | SUBSTRACT |
06 | DIVIDE |
07 | MULTIPLY |
08 | RANDOM |
09 | SAVE |
0A | LOAD CHARACTER |
0B | LOAD MONSTER |
0C | SETUP MONSTER |
0D | APPROACH |
0E | PICTURE | Picture number defined by the next 2 bytes - this loads NPC bodies, preceded by SAVE
| | for heads (to be confirmed)?
0F | INPUT NUMBER |
10 | INPUT STRING |
11 | PRINT | Display text (usually used after the next command for remaining lines of text)
12 | PRINTCLEAR | Clear dialog window then display text
13 | RETURN |
14 | COMPARE AND |
15 | VERTICAL MENU |
16 | IF = |
17 | IF <> |
18 | IF < |
19 | IF > |
1A | IF <= |
1B | IF >= |
1C | CLEARMONSTERS |
1D | PARTYSTRENGTH |
1E | CHECKPARTY |
1F | (unused in COTAB) |
20 | NEWECL |
21 | LOAD FILES | File number defined in the next 2 bytes; one command can load several files
22 | PARTY SURPRISE |
23 | SURPRISE |
24 | COMBAT |
25 | ON GOTO |
26 | ON GOSUB |
27 | TREASURE |
28 | ROB |
29 | ENCOUNTER MENU |
2A | GETTABLE |
2B | HORIZONTAL MENU |
2C | PARLAY |
2D | CALL |
2E | DAMAGE |
2F | AND |
30 | OR |
31 | SPRITE OFF |
32 | FIND ITEM |
33 | PRINT RETURN |
34 | ECL CLOCK |
35 | SAVE TABLE |
36 | ADD NPC |
37 | LOAD PIECES |
38 | PROGRAM |
39 | WHO |
3A | DELAY |
3B | SPELL |
3C | PROTECTION |
3D | CLEAR BOX |
3E | DUMP |
3F | FIND SPECIAL |
40 | DESTROY ITEMS |
41 | ADD XP |
Here are the various startup scripts IDs for the Goldbox games:
Game | Game start | Demo
| Script ID | Script ID
| Hex/Dec | Hex/Dec
----------------------------|------------|-------------
Pool of Radiance | 00 | No demo mode
Curse of the Azure Bonds | 01 | 52/82
Secret of the Silver Blades | 11/17 | 03
| (intro) |
| 10/16 |
|actual game |
header (4 bytes):GLIB
file size (next 4 bytes): 00 00 0A 94 =2 708 bytes
number of entries (next 2 bytes): 00 01
magic number (next 2 bytes): 00 00
data type (next 4 bytes): TILE
Full header size: 24 bytes
This contains the bottom panel background graphics. Same file as the one in the DISKA folder.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 18 | 24 | 2684 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 0A 94 | 2708 | End of file |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 40 9A = 16 538 bytes
Number of entries minus 1 (next 2 bytes):00 11 = 17 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 88 bytes
This file contains the different game maps. The PC version has no GEO1.DAX, only GEO2.DAX to GEO6.DAX. This is normal, as the total number of maps in those PC GEO files are 16. They also have an additional 2 bytes header (it is 00 04) and are crypted, unlike the ST GEO.SLB, which contains the unencrypted data you can obtain when extracting the PC files with DAX-Builder (from Goldbox Explorer).
Map IDs are the same between versions; Goldbox explorer's dax tool can display them.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 58 | 88 | 66 | Index table: 2 bytes (number of entries) + 16*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 9A | 154 | 1024 |
03 | 00 00 04 9A | 1178 | 1024 |
04 | 00 00 08 9A | 2202 | 1024 |
05 | 00 00 0C 9A | 3226 | 1024 |
06 | 00 00 10 9A | 4250 | 1024 |
07 | 00 00 14 9A | 5274 | 1024 |
08 | 00 00 18 9A | 6298 | 1024 |
09 | 00 00 1C 9A | 7322 | 1024 |
10 | 00 00 20 9A | 8346 | 1024 |
11 | 00 00 24 9A | 9370 | 1024 |
12 | 00 00 28 9A | 10394 | 1024 |
13 | 00 00 2C 9A | 11418 | 1024 |
14 | 00 00 30 9A | 12442 | 1024 |
15 | 00 00 34 9A | 13466 | 1024 |
16 | 00 00 38 9A | 14490 | 1024 |
17 | 00 00 3C 9A | 15514 | 1024 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 40 9A | 16538
Here is the index table; it starts with HEX 00 10: number of actual map files = 16 entries.
Entry | Map | Map order | Map | Map order | Misc
# | Ingame ID | in ECL file | Ingame ID | in ECL file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 | Tilverton
03 | 00 03 | 00 02 | 03 | 02 | Tilverton Sewers
04 | 00 04 | 00 03 | 04 | 03 | The Fire Knife Hideout
05 | 00 10 | 00 04 | 16 | 04 | Yulash
06 | 00 11 | 00 05 | 17 | 05 | The Pit of Moander
07 | 00 15 | 00 06 | 21 | 06 | Voonlar / Phlan ruins
08 | 00 20 | 00 07 | 32 | 07 | Zhentil Keep
09 | 00 21 | 00 08 | 33 | 08 | Temple of Bane
10 | 00 25 | 00 09 | 37 | 09 | Mulmaster Beholder Corps
11 | 00 32 | 00 0A | 50 | 10 | Cave of the Dracolich
12 | 00 33 | 00 0B | 51 | 11 | Dracandros's Tower
13 | 00 35 | 00 0C | 53 | 12 | Shadowdale / Ashabenford / Essembra dungeons
14 | 00 40 | 00 0D | 64 | 13 | The Burial Glen
15 | 00 42 | 00 0E | 66 | 14 | The Ruins of Myth Drannor
16 | 00 43 | 00 0F | 67 | 15 | The Grand Ruined Temple
17 | 00 45 | 00 10 | 69 | 16 | Teshwave / Hillsfar ruins
(locations names come from Goldbox Explorer's ECL descriptions)
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 62 7C = 25 212 bytes
Number of entries minus 1 (next 2 bytes): 00 24 = 36 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): TILE
Full header size: 164 bytes
When you meet a humanoid character in exploration, a picture shows up in the upper left frame. This file contains the upper part of the image, showing the head, without the body. Image size is 40*88.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 A4 | 164 | 146 | Index table 2 bytes (number of entries) + 36*4 bytes (there
| | | | are 2 entries with different ingame IDs pointing to the same
| | | | file)
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 36 | 310 | 570 |
03 | 00 00 03 70 | 880 | 754 |
04 | 00 00 06 62 | 1634 | 494 |
05 | 00 00 08 50 | 2128 | 770 |
06 | 00 00 0B 52 | 2898 | 680 |
07 | 00 00 0D FA | 3578 | 504 |
08 | 00 00 0F F2 | 4082 | 822 |
09 | 00 00 13 28 | 4904 | 654 |
10 | 00 00 15 B6 | 5558 | 786 |
11 | 00 00 18 C8 | 6344 | 632 |
12 | 00 00 1B 40 | 6976 | 948 |
13 | 00 00 1E F4 | 7924 | 722 |
14 | 00 00 21 C6 | 8646 | 542 |
15 | 00 00 23 E4 | 9188 | 584 |
16 | 00 00 26 2C | 9772 | 986 |
17 | 00 00 2A 06 | 10758 | 534 |
18 | 00 00 2C 1C | 11292 | 788 |
19 | 00 00 2F 30 | 12080 | 718 |
20 | 00 00 31 FE | 12798 | 774 |
21 | 00 00 35 04 | 13572 | 818 |
22 | 00 00 38 36 | 14390 | 612 |
23 | 00 00 3A 9A | 15002 | 500 |
24 | 00 00 3C 8E | 15502 | 602 |
25 | 00 00 3E E8 | 16104 | 516 |
26 | 00 00 40 EC | 16620 | 932 |
27 | 00 00 44 90 | 17552 | 628 |
28 | 00 00 47 04 | 18180 | 840 |
29 | 00 00 4A 4C | 19020 | 528 |
30 | 00 00 4C 5C | 19548 | 1332 |
31 | 00 00 51 90 | 20880 | 1198 |
32 | 00 00 56 3E | 22078 | 656 |
33 | 00 00 58 CE | 22734 | 614 |
34 | 00 00 5B 34 | 23348 | 632 |
35 | 00 00 5D AC | 23980 | 608 |
36 | 00 00 60 0C | 24588 | 624 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 62 7C | 25212 | End of file |
Here is the index table; it starts with HEX 00 24: number of actual pictures = 36 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 | Black/brown male
03 | 00 01 | 00 02 | 01 | 02 | Ninja
04 | 00 02 | 00 03 | 02 | 03 | Asian
05 | 00 03 | 00 04 | 03 | 04 | Woman
06 | 00 04 | 00 05 | 04 | 05 | Bearded redhead man
07 | 00 05 | 00 06 | 05 | 06 | Woman
08 | 00 06 | 00 07 | 06 | 07 | Old priest with with white hood
09 | 00 08 | 00 08 | 08 | 08 | Man with ponytail, black hair
10 | 00 09 | 00 09 | 09 | 09 | Younger priest with with white hood
11 | 00 41 | 00 0A | 65 | 10 | Asterix-looking guy
12 | 00 10 | 00 0B | 16 | 11 | Warrior with antique helm
13 | 00 11 | 00 0C | 17 | 12 | Blonde woman with mean looks
14 | 00 12 | 00 0D | 18 | 13 | Man with moustache and short hair
15 | 00 13 | 00 0E | 19 | 14 | Man
16 | 00 14 | 00 0F | 20 | 15 | Bearded warrior with antique helm
17 | 00 15 | 00 10 | 21 | 16 | Bearded man, black hair
18 | 00 16 | 00 11 | 22 | 17 | Blonde woman with long hair
19 | 00 18 | 00 12 | 24 | 18 | Woman, brunette
20 | 00 20 | 00 13 | 32 | 19 | Man with moustache and long hair
21 | 00 21 | 00 14 | 33 | 20 | Old man with orange hood
22 | 00 22 | 00 15 | 34 | 21 | Woman (or man?) with hat
23 | 00 23 | 00 16 | 35 | 22 | Bearded man with black hair
24 | 00 24 | 00 17 | 36 | 23 | Bald man
25 | 00 25 | 00 18 | 37 | 24 | Man with glasses
26 | 00 26 | 00 19 | 38 | 25 | Blond man with jewels and moustache
27 | 00 2A | 00 1A | 42 | 26 | Woman
28 | 01 C1 | 00 1C | 449 | 28 | Man - Duplicate entry
29 | 02 25 | 00 1B | 549 | 27 | Black elf or demon with white hair - male
30 | 00 32 | 00 1C | 50 | 28 | Man - Duplicate entry
31 | 00 33 | 00 1D | 51 | 29 | Black elf or demon with white hair - female
32 | 00 3A | 00 1E | 58 | 30 | Man with brown hood, raising left hand
33 | 00 3B | 00 1F | 59 | 31 | Bearded man with oriental cap
34 | 00 40 | 00 20 | 64 | 32 | Man
35 | 00 41 | 00 21 | 65 | 33 | Asterix-looking guy (exactly the same as HEX 0A)
36 | 00 43 | 00 22 | 67 | 34 | Old bearded man with white hair
37 | 00 46 | 00 23 | 70 | 35 | Man with dark blue hood (looks like a pervert)
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 21 72 = 8 562 bytes
Number of entries minus 1 (next 2 bytes): 00 14 = 20 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 100 bytes
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 64 | 100 | 78 | Index table: 2 bytes (number of entries) + 19*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 B2 | 178 | 126 |
03 | 00 00 01 30 | 304 | 630 |
04 | 00 00 03 A6 | 934 | 442 |
05 | 00 00 05 60 | 1376 | 316 |
06 | 00 00 06 9C | 1692 | 756 |
07 | 00 00 09 90 | 2448 | 126 |
08 | 00 00 0A 0E | 2574 | 126 |
09 | 00 00 0A 8C | 2700 | 756 |
10 | 00 00 0D 80 | 3456 | 190 |
11 | 00 00 0E 3E | 3646 | 190 |
12 | 00 00 0E FC | 3836 | 504 |
13 | 00 00 10 F4 | 4340 | 252 |
14 | 00 00 11 F0 | 4592 | 504 |
15 | 00 00 13 E8 | 5096 | 378 |
16 | 00 00 15 62 | 5474 | 190 |
17 | 00 00 16 20 | 5664 | 756 |
18 | 00 00 19 14 | 6420 | 756 |
19 | 00 00 1C 08 | 7176 | 756 |
20 | 00 00 1E FC | 7932 | 630 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 21 72 | 8562 | End of file |
Here is the index table; it starts with 00 13: number of actual item files = 19.
Entry | Item File |Item file Ord.| Item File |Item File Ord.| Misc
# | Ingame ID | in GLB file | Ingame ID | in GLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
04 | 00 03 | 00 03 | 03 | 03 |
05 | 00 04 | 00 04 | 04 | 04 |
06 | 00 05 | 00 05 | 05 | 05 |
07 | 00 10 | 00 06 | 16 | 06 |
08 | 00 11 | 00 07 | 17 | 07 |
09 | 00 20 | 00 08 | 32 | 08 |
10 | 00 23 | 00 09 | 35 | 09 |
11 | 00 30 | 00 0A | 48 | 10 |
12 | 00 31 | 00 0B | 49 | 11 |
13 | 00 32 | 00 0C | 50 | 12 |
14 | 00 40 | 00 0D | 64 | 13 |
15 | 00 41 | 00 0E | 65 | 14 |
16 | 00 43 | 00 0F | 67 | 15 |
17 | 00 5A | 00 10 | 90 | 16 |
18 | 00 5B | 00 11 | 91 | 17 |
19 | 00 5C | 00 12 | 92 | 18 |
20 | 00 5D | 00 13 | 93 | 19 |
The byte before an item name contains the following item name length. For instance in the 4th entry, the byte just before 'Flail' is 05, because 'Flail' is 5 characters long.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 24 C0 = 9 408 bytes
Number of entries minus 1 (next 2 bytes): 00 4F = 79 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 336 bytes
Monsters names and characteristics. For each entry, the first 2 bytes represent the monster ASCII name length. Both bytes are usually identical (like 07 07 for the last entry, 'FIGHTER' being 7 characters long), but not always! In this case the second one is the name length. Meaning of the first one is unknown.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 01 50 | 336 | 314 | Index table 2 bytes (number of entries) + 78*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 02 8A | 650 | 108 | ROYAL GUARD
03 | 00 00 02 F6 | 758 | 106 | THIEF
04 | 00 00 03 60 | 864 | 111 | MAGE
05 | 00 00 03 CF | 975 | 108 | BAR PATRON
06 | 00 00 04 3B | 1083 | 106 | FIGHTING DOG
07 | 00 00 04 A5 | 1189 | 106 | MONKEY
08 | 00 00 05 0F | 1295 | 103 | TROLL
09 | 00 00 05 76 | 1398 | 103 | CROCODILE
10 | 00 00 05 DD | 1501 | 97 | OTYUGH
11 | 00 00 06 3E | 1598 | 101 | NEO-OTYUGH
12 | 00 00 06 A3 | 1699 | 115 | KNIGHT
13 | 00 00 07 16 | 1814 | 107 | LOOTER
14 | 00 00 07 81 | 1921 | 130 | ZHENTRIM CLERIC
15 | 00 00 08 03 | 2051 | 114 | ZHENTRIM FGHTR
16 | 00 00 08 75 | 2165 | 131 | ZHENTRIM MAGE
17 | 00 00 08 F8 | 2296 | 102 | ALIAS
18 | 00 00 09 5E | 2398 | 114 | DRAGONBAIT
19 | 00 00 09 D0 | 2512 | 124 | MOGION
20 | 00 00 0A 4C | 2636 | 112 | SHAMBLING MOUND
21 | 00 00 0A BC | 2748 | 112 | BIT O' MOANDER
22 | 00 00 0B 2C | 2860 | 107 | SM VEGEPYGMY
23 | 00 00 0B 97 | 2967 | 107 | LG VEGEPYGMY
24 | 00 00 0C 02 | 3074 | 106 | GIANT SLUG
25 | 00 00 0C 6C | 3180 | 126 | ZHENTIL MAGE
26 | 00 00 0C EA | 3306 | 128 | ZHENTIL CLERIC
27 | 00 00 0D 6A | 3434 | 106 | OGRE
28 | 00 00 0D D4 | 3540 | 98 | GRIFFON
29 | 00 00 0E 36 | 3638 | 105 | MANTICORE
30 | 00 00 0E 9F | 3743 | 109 | HOODED MEDUSA
31 | 00 00 0F 0C | 3852 | 106 | BEHOLDER
32 | 00 00 0F 76 | 3958 | 109 | MINOTAUR
33 | 00 00 0F E3 | 4067 | 126 | DARK ELF LORD (2 bytes at dec. offset 17: 10 10)
34 | 00 00 10 61 | 4193 | 126 | DARK ELF LORD (2 bytes at dec. offset 17: 14 14)
35 | 00 00 10 DF | 4319 | 124 | DK ELF FIGHTER
36 | 00 00 11 5B | 4443 | 142 | DARK ELF MAGE
37 | 00 00 11 E9 | 4585 | 140 | DARK ELF CLERIC
38 | 00 00 12 75 | 4725 | 111 | EFREETI
39 | 00 00 12 E4 | 4836 | 97 | WYVERN
40 | 00 00 13 45 | 4933 | 104 | OWL BEAR
41 | 00 00 13 AD | 5037 | 105 | ANHKHEG
42 | 00 00 14 16 | 5142 | 106 | SALAMANDER
43 | 00 00 14 80 | 5248 | 130 | DRACANDROS
44 | 00 00 15 02 | 5378 | 151 | AKABAR BEL AKAS
45 | 00 00 15 99 | 5529 | 108 | THRI-KREEN
46 | 00 00 16 05 | 5637 | 114 | PHASE SPIDER
47 | 00 00 16 77 | 5751 | 104 | GIANT SPIDER
48 | 00 00 16 DF | 5855 | 109 | HELL HOUND
49 | 00 00 17 4C | 5964 | 101 | MARGOYLE
50 | 00 00 17 B1 | 6065 | 128 | PRIEST OF BANE
51 | 00 00 18 31 | 6193 | 115 | TYRANTHRAXUS
52 | 00 00 18 A4 | 6308 | 133 | HIGH PRIEST
53 | 00 00 19 29 | 6441 | 132 | RAKSHASA
54 | 00 00 19 AD | 6573 | 99 | DISPLACER BEAST
55 | 00 00 1A 10 | 6672 | 96 | HIPPOGRIFF
56 | 00 00 1A 70 | 6768 | 95 | ETTIN
57 | 00 00 1A CF | 6863 | 103 | LIZARD MAN
58 | 00 00 1B 36 | 6966 | 104 | CENTAUR
59 | 00 00 1B 9E | 7070 | 98 | RUSTLE
60 | 00 00 1C 00 | 7168 | 102 | BUGBEAR
61 | 00 00 1C 66 | 7270 | 90 | WORG
62 | 00 00 1C C0 | 7360 | 114 | CYNTHIA
63 | 00 00 1D 32 | 7474 | 108 | GRENDEL
64 | 00 00 1D 9E | 7582 | 115 | FIRE KNIFE
65 | 00 00 1E 11 | 7697 | 108 | RED PLUME
66 | 00 00 1E 7D | 7805 | 116 | CULTIST
67 | 00 00 1E F1 | 7921 | 112 | ZHENTIL FIGHTER
68 | 00 00 1F 61 | 8033 | 114 | BLACK DRAGON
69 | 00 00 1F D3 | 8147 | 118 | DRACOLICH
70 | 00 00 20 49 | 8265 | 106 | FIGHTER
71 | 00 00 20 B3 | 8371 | 115 | FIRE KNIFE
72 | 00 00 21 26 | 8486 | 108 | RED PLUME
73 | 00 00 21 92 | 8594 | 116 | CULTIST
74 | 00 00 22 06 | 8710 | 114 | ZHENTIL FIGHTER
75 | 00 00 22 78 | 8824 | 123 | RAKSHASA
76 | 00 00 22 F3 | 8947 | 114 | BLACK DRAGON
77 | 00 00 23 65 | 9061 | 118 | DRACOLICH
78 | 00 00 23 DB | 9179 | 123 | RAKSHASA
79 | 00 00 24 56 | 9302 | 106 | FIGHTER
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 24 C0 | 9408 | End of file |
Here is the index table; it starts with HEX 00 4E: number of actual monsters = 78 entries.
Entry | Monster | Monster order| Monster | Monster order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 | ROYAL GUARD
03 | 00 02 | 00 02 | 02 | 02 | THIEF
04 | 00 03 | 00 03 | 03 | 03 | MAGE
05 | 00 04 | 00 04 | 04 | 04 | BAR PATRON
06 | 00 05 | 00 05 | 05 | 05 | FIGHTING DOG
07 | 00 06 | 00 06 | 06 | 06 | MONKEY
08 | 00 07 | 00 07 | 07 | 07 | TROLL
09 | 00 08 | 00 08 | 08 | 08 | CROCODILE
10 | 00 09 | 00 09 | 09 | 09 | OTYUGH
11 | 00 0A | 00 0A | 10 | 10 | NEO-OTYUGH
12 | 00 0B | 00 0B | 11 | 11 | KNIGHT
13 | 00 12 | 00 0C | 18 | 12 | LOOTER
14 | 00 13 | 00 0D | 19 | 13 | ZHENTRIM CLERIC
15 | 00 14 | 00 0E | 20 | 14 | ZHENTRIM FGHTR
16 | 00 15 | 00 0F | 21 | 15 | ZHENTRIM MAGE
17 | 00 16 | 00 10 | 22 | 16 | ALIAS
18 | 00 17 | 00 11 | 23 | 17 | DRAGONBAIT
19 | 00 18 | 00 12 | 24 | 18 | MOGION
20 | 00 19 | 00 13 | 25 | 19 | SHAMBLING MOUND
21 | 00 1A | 00 14 | 26 | 20 | BIT O' MOANDER
22 | 00 1B | 00 15 | 27 | 21 | SM VEGEPYGMY
23 | 00 1C | 00 16 | 28 | 22 | LG VEGEPYGMY
24 | 00 1E | 00 17 | 30 | 23 | GIANT SLUG
25 | 00 21 | 00 18 | 33 | 24 | ZHENTIL MAGE
26 | 00 22 | 00 19 | 34 | 25 | ZHENTIL CLERIC
27 | 00 23 | 00 1A | 35 | 26 | OGRE
28 | 00 25 | 00 1B | 37 | 27 | GRIFFON
29 | 00 26 | 00 1C | 38 | 28 | MANTICORE
30 | 00 27 | 00 1D | 39 | 29 | HOODED MEDUSA
31 | 00 28 | 00 1E | 40 | 30 | BEHOLDER
32 | 00 29 | 00 1F | 41 | 31 | MINOTAUR
33 | 00 2B | 00 20 | 43 | 32 | DARK ELF LORD
34 | 00 30 | 00 21 | 48 | 33 | DARK ELF LORD
35 | 00 31 | 00 22 | 49 | 34 | DK ELF FIGHTER
36 | 00 32 | 00 23 | 50 | 35 | DARK ELF MAGE
37 | 00 33 | 00 24 | 51 | 36 | DARK ELF CLERIC
38 | 00 34 | 00 25 | 52 | 37 | EFREETI
39 | 00 36 | 00 26 | 54 | 38 | WYVERN
40 | 00 37 | 00 27 | 55 | 39 | OWL BEAR
41 | 00 38 | 00 28 | 56 | 40 | ANHKHEG
42 | 00 39 | 00 29 | 57 | 41 | SALAMANDER
43 | 00 3A | 00 2A | 58 | 42 | DRACANDROS
44 | 00 3B | 00 2B | 59 | 43 | AKABAR BEL AKAS
45 | 00 40 | 00 2C | 64 | 44 | THRI-KREEN
46 | 00 41 | 00 2D | 65 | 45 | PHASE SPIDER
47 | 00 42 | 00 2E | 66 | 46 | GIANT SPIDER
48 | 00 44 | 00 2F | 68 | 47 | HELL HOUND
49 | 00 45 | 00 30 | 69 | 48 | MARGOYLE
50 | 00 46 | 00 31 | 70 | 49 | PRIEST OF BANE
51 | 00 47 | 00 32 | 74 | 50 | TYRANTHRAXUS
52 | 00 48 | 00 33 | 72 | 51 | HIGH PRIEST
53 | 00 49 | 00 34 | 73 | 52 | RAKSHASA
54 | 00 50 | 00 35 | 80 | 53 | DISPLACER BEAST
55 | 00 51 | 00 36 | 81 | 54 | HIPPOGRIFF
56 | 00 52 | 00 37 | 82 | 55 | ETTIN
57 | 00 53 | 00 38 | 83 | 56 | LIZARD MAN
58 | 00 54 | 00 39 | 84 | 57 | CENTAUR
59 | 00 55 | 00 3A | 85 | 58 | RUSTLE
60 | 00 56 | 00 3B | 86 | 59 | BUGBEAR
61 | 00 57 | 00 3C | 87 | 60 | WORG
62 | 00 58 | 00 3D | 88 | 61 | CYNTHIA
63 | 00 5A | 00 3E | 90 | 62 | GRENDEL
64 | 00 65 | 00 3F | 101 | 63 | FIRE KNIFE
65 | 00 74 | 00 40 | 116 | 64 | RED PLUME
66 | 00 75 | 00 41 | 117 | 65 | CULTIST
67 | 00 84 | 00 42 | 132 | 66 | ZHENTIL FIGHTER
68 | 00 99 | 00 43 | 153 | 67 | BLACK DRAGON
69 | 00 A0 | 00 44 | 160 | 68 | DRACOLICH
70 | 00 BD | 00 45 | 189 | 69 | FIGHTER
71 | 00 C9 | 00 46 | 201 | 70 | FIRE KNIFE
72 | 01 3C | 00 47 | 316 | 71 | RED PLUME
73 | 01 3D | 00 48 | 317 | 72 | CULTIST
74 | 01 B0 | 00 49 | 432 | 73 | ZHENTIL FIGHTER
75 | 01 D3 | 00 4A | 467 | 74 | RAKSHASA
76 | 02 29 | 00 4B | 553 | 75 | BLACK DRAGON
77 | 02 30 | 00 4C | 560 | 76 | DRACOLICH
78 | 02 9B | 00 4D | 667 | 77 | RAKSHASA
79 | 02 B1 | 00 4E | 689 | 78 | FIGHTER
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 22 8A = 8 842 bytes
Number of entries minus 1 (next 2 bytes): 00 2C = 44 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 196 bytes
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 C4 | 196 | 174 | Index table 2 bytes (number of entries) + 43*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 72 | 370 | 190 |
03 | 00 00 02 30 | 560 | 126 |
04 | 00 00 02 AE | 686 | 126 |
05 | 00 00 03 2C | 812 | 126 |
06 | 00 00 03 AA | 938 | 64 |
07 | 00 00 03 EA | 1002 | 190 |
08 | 00 00 04 A8 | 1192 | 126 |
09 | 00 00 05 26 | 1318 | 190 |
10 | 00 00 05 E4 | 1508 | 190 |
11 | 00 00 06 A2 | 1698 | 190 |
12 | 00 00 07 60 | 1888 | 316 |
13 | 00 00 08 9C | 2204 | 252 |
14 | 00 00 09 98 | 2456 | 316 |
15 | 00 00 0A D4 | 2772 | 190 |
16 | 00 00 0B 92 | 2962 | 252 |
17 | 00 00 0C 8E | 3214 | 64 |
18 | 00 00 0C CE | 3278 | 252 |
19 | 00 00 0D CA | 3530 | 190 |
20 | 00 00 0E 88 | 3720 | 190 |
21 | 00 00 0F 46 | 3910 | 316 |
22 | 00 00 10 82 | 4226 | 126 |
23 | 00 00 11 00 | 4352 | 190 |
24 | 00 00 11 BE | 4542 | 190 |
25 | 00 00 12 7C | 4732 | 126 |
26 | 00 00 12 FA | 4858 | 190 |
27 | 00 00 13 B8 | 5048 | 190 |
28 | 00 00 14 76 | 5238 | 126 |
29 | 00 00 14 F4 | 5364 | 126 |
30 | 00 00 15 72 | 5490 | 126 |
31 | 00 00 15 F0 | 5616 | 64 |
32 | 00 00 16 30 | 5680 | 64 |
33 | 00 00 16 70 | 5744 | 64 |
34 | 00 00 16 B0 | 5808 | 126 |
35 | 00 00 17 2E | 5934 | 316 |
36 | 00 00 18 6A | 6250 | 316 |
37 | 00 00 19 A6 | 6566 | 190 |
38 | 00 00 1A 64 | 6756 | 316 |
39 | 00 00 1B A0 | 7072 | 316 |
40 | 00 00 1C DC | 7388 | 316 |
41 | 00 00 1E 18 | 7704 | 316 |
42 | 00 00 1F 54 | 8020 | 190 |
43 | 00 00 20 12 | 8210 | 316 |
44 | 00 00 21 4E | 8526 | 316 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 22 8A | 8842 | End of file |
Here is the index table; it starts with HEX 00 2B: number of actual objects = 43 entries.
Entry | Object | Object order | Object | Object order | Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 00 | 00 01 | 00 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
04 | 00 03 | 00 03 | 03 | 03 |
05 | 00 04 | 00 04 | 04 | 04 |
06 | 00 06 | 00 05 | 06 | 05 |
07 | 00 0B | 00 06 | 11 | 06 |
08 | 00 12 | 00 07 | 18 | 07 |
09 | 00 13 | 00 08 | 19 | 08 |
10 | 00 14 | 00 09 | 20 | 09 |
11 | 00 15 | 00 0A | 21 | 10 |
12 | 00 16 | 00 0B | 22 | 11 |
13 | 00 17 | 00 0C | 23 | 12 |
14 | 00 18 | 00 0D | 24 | 13 |
15 | 00 21 | 00 0E | 33 | 14 |
16 | 00 22 | 00 0F | 34 | 15 |
17 | 00 26 | 00 10 | 38 | 16 |
18 | 00 29 | 00 11 | 41 | 17 |
19 | 00 2B | 00 12 | 43 | 18 |
20 | 00 30 | 00 13 | 48 | 19 |
21 | 00 31 | 00 14 | 49 | 20 |
22 | 00 32 | 00 15 | 50 | 21 |
23 | 00 33 | 00 16 | 51 | 22 |
24 | 00 3A | 00 17 | 58 | 23 |
25 | 00 3B | 00 18 | 59 | 24 |
26 | 00 46 | 00 19 | 70 | 25 |
27 | 00 48 | 00 1A | 72 | 26 |
28 | 00 49 | 00 1B | 73 | 27 |
29 | 00 53 | 00 1C | 83 | 28 |
30 | 00 54 | 00 1D | 84 | 29 |
31 | 00 55 | 00 1E | 85 | 30 |
32 | 00 56 | 00 1F | 86 | 31 |
33 | 00 58 | 00 20 | 88 | 32 |
34 | 00 5A | 00 21 | 90 | 33 |
35 | 00 65 | 00 22 | 101 | 34 |
36 | 00 74 | 00 23 | 116 | 35 |
37 | 00 75 | 00 24 | 117 | 36 |
38 | 00 84 | 00 25 | 132 | 37 |
39 | 00 BD | 00 26 | 189 | 38 |
40 | 00 C9 | 00 27 | 201 | 39 |
41 | 01 3C | 00 28 | 316 | 40 |
42 | 01 3D | 00 29 | 317 | 41 |
43 | 01 B0 | 00 2A | 432 | 42 |
44 | 02 B1 | 00 2B | 689 | 43 |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 05 76 = 1 398 bytes
Number of entries minus 1 (next 2 bytes): 00 27 = 39 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 176 bytes
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 B0 | 176 | 154 | Index table: 2 bytes (number of entries) + 38*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 4A | 330 | 18 |
03 | 00 00 01 5C | 348 | 18 |
04 | 00 00 01 6E | 366 | 28 |
05 | 00 00 01 8A | 394 | 28 |
06 | 00 00 01 A6 | 422 | 36 |
07 | 00 00 01 CA | 458 | 10 |
08 | 00 00 01 D4 | 468 | 46 |
09 | 00 00 02 02 | 514 | 46 |
10 | 00 00 02 30 | 560 | 36 |
11 | 00 00 02 54 | 596 | 36 |
12 | 00 00 02 78 | 632 | 10 |
13 | 00 00 02 82 | 642 | 28 |
14 | 00 00 02 9E | 670 | 18 |
15 | 00 00 02 B0 | 688 | 36 |
16 | 00 00 02 D4 | 724 | 36 |
17 | 00 00 02 F8 | 760 | 18 |
18 | 00 00 03 0A | 778 | 18 |
19 | 00 00 03 1C | 796 | 18 |
20 | 00 00 03 2E | 814 | 10 |
21 | 00 00 03 38 | 824 | 10 |
22 | 00 00 03 42 | 834 | 10 |
23 | 00 00 03 4C | 844 | 18 |
24 | 00 00 03 5E | 862 | 46 |
25 | 00 00 03 8C | 908 | 36 |
26 | 00 00 03 B0 | 944 | 18 |
27 | 00 00 03 C2 | 962 | 18 |
28 | 00 00 03 D4 | 980 | 10 |
29 | 00 00 03 DE | 990 | 18 |
30 | 00 00 03 F0 | 1008 | 10 |
31 | 00 00 03 FA | 1018 | 54 |
32 | 00 00 04 30 | 1072 | 18 |
33 | 00 00 04 42 | 1090 | 36 |
34 | 00 00 04 66 | 1126 | 18 |
35 | 00 00 04 78 | 1144 | 82 |
36 | 00 00 04 CA | 1226 | 36 |
37 | 00 00 04 EE | 1262 | 18 |
38 | 00 00 05 00 | 1280 | 82 |
39 | 00 00 05 52 | 1362 | 36 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 05 76 | 1398 | End of file |
Here is the index table; it starts with HEX 00 26: number of actual objects = 38 entries.
Entry | Object | Object order | Object | Object order | Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 07 | 00 01 | 07 | 01 |
03 | 00 13 | 00 02 | 19 | 02 |
04 | 00 15 | 00 03 | 21 | 03 |
05 | 00 16 | 00 04 | 22 | 04 |
06 | 00 17 | 00 05 | 23 | 05 |
07 | 00 18 | 00 06 | 24 | 06 |
08 | 00 19 | 00 07 | 25 | 07 |
09 | 00 1A | 00 08 | 26 | 08 |
10 | 00 1B | 00 09 | 27 | 09 |
11 | 00 1C | 00 0A | 28 | 10 |
12 | 00 1E | 00 0B | 30 | 11 |
13 | 00 27 | 00 0C | 39 | 12 |
14 | 00 28 | 00 0D | 40 | 13 |
15 | 00 2B | 00 0E | 43 | 14 |
16 | 00 30 | 00 0F | 48 | 15 |
17 | 00 31 | 00 10 | 49 | 16 |
18 | 00 32 | 00 11 | 50 | 17 |
19 | 00 33 | 00 12 | 51 | 18 |
20 | 00 34 | 00 13 | 52 | 19 |
21 | 00 36 | 00 14 | 54 | 20 |
22 | 00 37 | 00 15 | 55 | 21 |
23 | 00 38 | 00 16 | 56 | 22 |
24 | 00 39 | 00 17 | 57 | 23 |
25 | 00 3A | 00 18 | 58 | 24 |
26 | 00 40 | 00 19 | 64 | 25 |
27 | 00 41 | 00 1A | 65 | 26 |
28 | 00 42 | 00 1B | 66 | 27 |
29 | 00 44 | 00 1C | 68 | 28 |
30 | 00 45 | 00 1D | 69 | 29 |
31 | 00 47 | 00 1E | 71 | 30 |
32 | 00 48 | 00 1F | 72 | 31 |
33 | 00 49 | 00 20 | 73 | 32 |
34 | 00 99 | 00 21 | 153 | 33 |
35 | 00 A0 | 00 22 | 160 | 34 |
36 | 01 D3 | 00 23 | 467 | 35 |
37 | 02 29 | 00 24 | 553 | 36 |
38 | 02 30 | 00 25 | 560 | 37 |
39 | 02 9B | 00 26 | 667 | 38 |
The actual game engine, part 1. This is where the password/copy protection code is located.
The actual game engine, part 2.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 02 B7 14 = 177 940 bytes
Number of entries minus 1 (next 2 bytes): 2D = 45 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): GLIB
Full header size: 200 bytes
This contains the various smaller pictures. Each picture is 88x88 pixels in size, and some have several frames of animation. The ST and Amiga versions are exactly the same.
It is one of those files in which the data type is GLIB and the entries have their own GLIB header.
If uncompressed, pictures are in the same format as the ones in BIGPIC.TLB.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 C8 | 200 | 178 | Index table: 2 bytes (number of entries) + 44*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 7A | 378 | 2572 |
03 | 00 00 0B 86 | 2950 | 4372 |
04 | 00 00 1C 9A | 7322 | 8504 |
05 | 00 00 3D D2 | 15826 | 1962 |
06 | 00 00 45 7C | 17788 | 2484 |
07 | 00 00 4F 30 | 20272 | 2820 |
08 | 00 00 5A 34 | 23092 | 3162 |
09 | 00 00 66 8E | 26254 | 2078 |
10 | 00 00 6E AC | 28332 | 2216 |
11 | 00 00 77 54 | 30548 | 2372 |
12 | 00 00 80 98 | 32920 | 2656 |
13 | 00 00 8A F8 | 35576 | 1876 |
14 | 00 00 92 4C | 37452 | 3718 |
15 | 00 00 A0 D2 | 41170 | 5968 |
16 | 00 00 B8 22 | 47138 | 1470 |
17 | 00 00 BD E0 | 48608 | 2506 |
18 | 00 00 C7 AA | 51114 | 1262 |
19 | 00 00 CC 98 | 52376 | 4982 |
20 | 00 00 E0 0E | 57358 | 2228 |
21 | 00 00 E8 C2 | 59586 | 3056 |
22 | 00 00 F4 B2 | 62642 | 2708 |
23 | 00 00 FF 46 | 65350 | 5248 |
24 | 00 01 13 C6 | 70598 | 6400 |
25 | 00 01 2C C6 | 76998 | 6886 |
26 | 00 01 47 AC | 83884 | 1958 |
27 | 00 01 4F 52 | 85842 | 8756 |
28 | 00 01 71 86 | 94598 | 2806 |
29 | 00 01 7C 7C | 97404 | 3750 |
30 | 00 01 8B 22 | 101154 | 1422 |
31 | 00 01 90 B0 | 102576 | 8936 |
32 | 00 01 B3 98 | 111512 | 2468 |
33 | 00 01 BD 3C | 113980 | 8552 |
34 | 00 01 DE A4 | 122532 | 4762 |
35 | 00 01 F1 3E | 127294 | 4640 |
36 | 00 02 03 5E | 131934 | 3152 |
37 | 00 02 0F AE | 135086 | 5568 |
38 | 00 02 25 6E | 140654 | 9474 |
39 | 00 02 4A 70 | 150128 | 2242 |
40 | 00 02 53 32 | 152370 | 2822 |
41 | 00 02 5E 38 | 155192 | 6778 |
42 | 00 02 78 B2 | 161970 | 8688 |
43 | 00 02 9A A2 | 170658 | 2990 |
44 | 00 02 A6 50 | 173648 | 1480 |
45 | 00 02 AC 18 | 175128 | 2812 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 02 B7 14 | 177940 | End of file |
Here is the index table; it starts with HEX 00 2C: number of actual pictures = 44 entries.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 | Treasure pic
03 | 00 07 | 00 02 | 07 | 02 | Green zombie
04 | 00 09 | 00 03 | 09 | 03 | Big grey creature on top of skulls
05 | 00 0A | 00 04 | 10 | 04 | Arm with Azure bonds
06 | 00 0B | 00 05 | 11 | 05 | Noble wagon with horses
07 | 00 0C | 00 06 | 12 | 06 | Dwarf, girl, another creature
08 | 00 0D | 00 07 | 13 | 07 | King, old bearded man, blonde girl
09 | 00 0E | 00 08 | 14 | 08 | Blue lock with key?
10 | 00 10 | 00 09 | 16 | 09 | Big hole in the ground / wasteland scenery
11 | 00 11 | 00 0A | 17 | 10 | 3 weird green creatures (ball shaped)
12 | 00 12 | 00 0B | 18 | 11 | Warrior girl and lizard man (seem friendly)
13 | 00 13 | 00 0C | 19 | 12 | Blue hand with a mouth
14 | 00 19 | 00 0D | 25 | 13 | Green giant creature (covered with vines?)
15 | 00 1B | 00 0E | 27 | 14 | Green humanoid insect or plant
16 | 00 1D | 00 0F | 29 | 15 | Camp/tent
17 | 00 1E | 00 10 | 30 | 16 | Snail
18 | 00 21 | 00 11 | 33 | 17 | Blue triangular symbol
19 | 00 23 | 00 12 | 35 | 18 | Giant/savage with a spear
20 | 00 25 | 00 13 | 37 | 19 | Griffon
21 | 00 26 | 00 14 | 38 | 20 | Griffon with the head of a bearded man
22 | 00 27 | 00 15 | 39 | 21 | Thief-looking male (or female?) dressed in pink
23 | 00 28 | 00 16 | 40 | 22 | Big round creature with multiple eyes
24 | 00 29 | 00 17 | 41 | 23 | Minotaur with axe
25 | 00 31 | 00 18 | 49 | 24 | Medusa
26 | 00 33 | 00 19 | 51 | 25 | Tower
27 | 00 34 | 00 1A | 52 | 26 | Little devil or gnome in hell
28 | 00 35 | 00 1B | 53 | 27 | Black sea snake
29 | 00 36 | 00 1C | 54 | 28 | Giant black dragon with worshipper
30 | 00 37 | 00 1D | 55 | 29 | Blue symbol
31 | 00 39 | 00 1E | 57 | 30 | Weird pink looking monster with spear
32 | 00 3C | 00 1F | 60 | 31 | Skeleton dragon
33 | 00 40 | 00 20 | 64 | 32 | Humanoid ant
34 | 00 41 | 00 21 | 65 | 33 | Grey spider
35 | 00 43 | 00 22 | 67 | 34 | Humanoid tiger smoking pipe
36 | 00 44 | 00 23 | 68 | 35 | Fire breathing dog
37 | 00 45 | 00 24 | 69 | 36 | Gargoyle/demon
38 | 00 47 | 00 25 | 71 | 37 | Pink bearded man holding lightning bolt
39 | 00 48 | 00 26 | 72 | 38 | Elven woman with blue glow
40 | 00 49 | 00 27 | 73 | 39 | Fort/dungeon entrance
41 | 00 4A | 00 28 | 74 | 40 | Blue demon behind a pool
42 | 00 4B | 00 29 | 75 | 41 | Blue demon in the shadows
43 | 00 4C | 00 2A | 76 | 42 | Pool & table with skull
44 | 00 4D | 00 2B | 77 | 43 | Weird blue symbol
45 | 00 50 | 00 2C | 80 | 44 | Village with ducks
Each picture has its own header (example is from entry 2):
47 4C 49 42 | 00 00 0D 16 | 00 01 | 03 00 | 54 49 4C 45
^^ ^^ ^^ ^^ | ^^ ^^ ^^ ^^ | ^^ ^^ | ^^ ^^ | ^^ ^^ ^^ ^^
G L I B | Depacked | # of | ?? ?? | T I L E
| size | frames| |
Header (4 bytes): GLIB
File size (next 4 bytes): 0 00 07 1C = 1 820 bytes
Number of entries minus 1 (next 2 bytes): = 00 06
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Full header size: 44 bytes
Generic tiles for combat mode: there is a table, a chair, some smoke cloud, an empty tile, another cloud, a sleeping guy(?).
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 2C | 44 | 296 |
02 | 00 00 01 54 | 340 | 296 |
03 | 00 00 02 7C | 636 | 296 |
04 | 00 00 03 A4 | 932 | 296 |
05 | 00 00 04 CC | 1228 | 296 |
06 | 00 00 05 F4 | 1524 | 296 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 07 1C | 1820 | End of file |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 0A 28 = 2600 bytes
Number of entries minus 1 (next 2 bytes): 00 03
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Full header size: 32 bytes
The sky graphics you see during exploration. There are actually only 3 files: cloud, sun, and some kind of paveway???
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 20 | 32 | 506 |
02 | 00 00 02 1A | 538 | 266 |
03 | 00 00 03 24 | 804 | 1796 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 0A 28 | 2600 | End of file |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 B8 A8 = 47 272 bytes
Number of entries minus 1 (next 2 bytes): 00 29 = 41 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): GLIB
Full header size: 184 bytes
Graphics for monsters and NPCs that show up 'live' in the upper left 3D view window during exploration. Each encounter has 3 graphics of decreasing size, for when they are close, far, farest.
This file is encoded the same way as PIC.TLB.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 B8 | 184 | 174 | index table: 2 bytes (number of entries) + 43*4 bytes (see below for explanation)
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 01 66 | 358 | 874 |
03 | 00 00 04 D0 | 1232 | 802 |
04 | 00 00 07 F2 | 2034 | 1256 |
05 | 00 00 0C DA | 3290 | 858 |
06 | 00 00 10 34 | 4148 | 1106 |
07 | 00 00 14 86 | 5254 | 1226 |
08 | 00 00 19 50 | 6480 | 1396 |
09 | 00 00 1E C4 | 7876 | 1396 |
10 | 00 00 24 38 | 9272 | 1032 |
11 | 00 00 28 40 | 10304 | 874 |
12 | 00 00 2B AA | 11178 | 920 |
13 | 00 00 2F 42 | 12098 | 846 |
14 | 00 00 32 90 | 12944 | 870 |
15 | 00 00 35 F6 | 13814 | 1468 |
16 | 00 00 3B B2 | 15282 | 1082 |
17 | 00 00 3F EC | 16364 | 1538 |
18 | 00 00 45 EE | 17902 | 1010 |
19 | 00 00 49 E0 | 18912 | 908 |
20 | 00 00 4D 6C | 19820 | 858 |
21 | 00 00 50 C6 | 20678 | 1378 |
22 | 00 00 56 28 | 22056 | 1310 |
23 | 00 00 5B 46 | 23366 | 690 |
24 | 00 00 5D F8 | 24056 | 1686 |
25 | 00 00 64 8E | 25742 | 1792 |
26 | 00 00 6B 8E | 27534 | 744 |
27 | 00 00 6E 76 | 28278 | 822 |
28 | 00 00 71 AC | 29100 | 1586 |
29 | 00 00 77 DE | 30686 | 1418 |
30 | 00 00 7D 68 | 32104 | 1486 |
31 | 00 00 83 36 | 33590 | 1028 |
32 | 00 00 87 3A | 34618 | 796 |
33 | 00 00 8A 56 | 35414 | 848 |
34 | 00 00 8D A6 | 36262 | 1258 |
35 | 00 00 92 90 | 37520 | 1506 |
36 | 00 00 98 72 | 39026 | 2126 |
37 | 00 00 A0 C0 | 41152 | 866 |
38 | 00 00 A4 22 | 42018 | 872 |
39 | 00 00 A7 8A | 42890 | 1418 |
40 | 00 00 AD 14 | 44308 | 876 |
41 | 00 00 B0 80 | 45184 | 2088 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 B8 A8 | 47272 | End of file |
Here is the index table; it starts with HEX 00 2B: number of actual pictures = 43 entries. Now this is strange, since there are only 40 actual pictures, it should be hex 00 28, right? Well, there are 3 internal picture IDs attached to the file at 8th position in the TLB file, and 2 are attached to the file at 9th position in the TLB file. Maybe the same 2 picture files are used several times for different encounter IDs.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
01 | 00 00 | 00 01 | 00 | 01 | City Guard
02 | 00 01 | 00 02 | 01 | 02 | Brown Ninja
03 | 00 66 | 00 03 | 102 | 03 | Goblin
04 | 00 CA | 00 04 | 202 | 04 | Guy in blue and black with knife
05 | 00 04 | 00 05 | 04 | 05 | Humanoid pig with sword and shield
06 | 00 06 | 00 06 | 06 | 06 | Barbarian warrior with axe and mace
07 | 00 07 | 00 07 | 07 | 07 | Green lizardman
08 | 00 08 | 00 08 | 08 | 08 | Giant with spear - 3 picture IDs are attached to this
| | | | | picture file
09 | 00 6D | 00 08 | 109 | 08 | Giant with spear - 3 picture IDs are attached to this
| | | | | picture file
10 | 00 23 | 00 08 | 35 | 08 | Giant with spear - 3 picture IDs are attached to this
| | | | | picture file
11 | 00 D1 | 00 09 | 209 | 09 | Grey monster with 4 legs and big mouth - 2 picture IDs
| | | | | are attached to this picture file
12 | 01 99 | 00 09 | 409 | 09 | Grey monster with 4 legs and big mouth - 2 picture IDs
| | | | | are attached to this picture file
13 | 00 10 | 00 0A | 16 | 10 | Roman-looking warrior
14 | 00 11 | 00 0B | 17 | 11 | Man in grey and green robes
15 | 00 12 | 00 0C | 18 | 12 | Man in blue with knife
16 | 00 13 | 00 0D | 19 | 13 | Brown swordsman
17 | 00 19 | 00 0E | 25 | 14 | Brown and green monster (looks like pic ID 19 from
| | | | | PIC.TLB)
18 | 00 1B | 00 0F | 27 | 15 | Green orc-like monster
19 | 00 1E | 00 10 | 30 | 16 | Giant orange slug
20 | 00 20 | 00 11 | 32 | 17 | Blonde warrior male in grey with shield and sword
21 | 00 21 | 00 12 | 33 | 18 | White-bearded mage in purple and black
22 | 00 22 | 00 13 | 34 | 19 | Man in brown robes with a little wand or knive
23 | 00 25 | 00 14 | 37 | 20 | Yellow and brown griffon
24 | 00 26 | 00 15 | 38 | 21 | Strange griffon-like monster with the head of an old
| | | | | bearded man
25 | 00 27 | 00 16 | 39 | 22 | Grey humanoid in purple robes (undead?)
26 | 00 28 | 00 17 | 40 | 23 | Beholder-like creature
27 | 00 29 | 00 18 | 41 | 24 | Brown minotaur with axe
28 | 00 2A | 00 19 | 42 | 25 | Blonde girl with black skirt
29 | 00 31 | 00 1A | 49 | 26 | Grey-looking swordsman with white hair
30 | 00 34 | 00 1B | 52 | 27 | Fat devil on fire
31 | 00 35 | 00 1C | 53 | 28 | Big grey dragon-like monster
32 | 00 36 | 00 1D | 54 | 29 | Another big grey dragon-like creature
33 | 00 39 | 00 1E | 57 | 30 | Snake-like humanoid with golden spear
34 | 00 3A | 00 1F | 58 | 31 | Man in brown robes
35 | 00 3B | 00 20 | 59 | 32 | Rogue (?) in purple and black robes
36 | 00 3C | 00 21 | 60 | 33 | Weird skeleton creature/dragon
37 | 00 40 | 00 22 | 64 | 34 | Giant green humanoid ant
38 | 00 41 | 00 23 | 65 | 35 | Giant grey spider
39 | 00 43 | 00 24 | 67 | 36 | Humanoid tiger (?) in purple and brown outfit
40 | 00 44 | 00 25 | 68 | 37 | Brown dog
41 | 00 45 | 00 26 | 69 | 38 | Grey gargoyle
42 | 00 46 | 00 27 | 70 | 39 | Mage in dark blue robes
43 | 00 47 | 00 28 | 71 | 40 | Tall old man in blue, glowing
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 38 92 = 14 482 bytes
Number of entries minus 1 (next 2 bytes): 00 03 entries
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): HLIB
Full header size: 32 bytes
The copy protection tiles graphics. A duplicate from DISKA. Both files are byte-identical.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 20 | 32 | 10 | index table: 2 bytes (number of entries) + 2*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 2A | 42 | 7820 |
03 | 00 00 1E B6 | 7862 | 6620 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 38 92 | 14482 | End of file |
Here is the index table; it starts with 00 02: number of actual picture files = 2.
Entry | Picture | Picture order| Picture | Picture order| Misc
# | Ingame ID | in TLB file | Ingame ID | in TLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 37 72=14 194 bytes
Number of entries minus 1 (next 2 bytes):00 11=17
Magic number (next 2 bytes): 00 01
Data type (next 4 bytes): DATA
Full header size: 88 bytes
3d wall graphics. The file from the Amiga version is identical.
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 58 | 88 | 66 | index table: 2 bytes (number of entries) + 16*4 bytes
------|-----------------|-----------------|--------------|-----------------------------------------------------
02 | 00 00 00 9A | 154 | 780 |
03 | 00 00 03 A6 | 934 | 780 |
04 | 00 00 06 B2 | 1714 | 780 |
05 | 00 00 09 BE | 2494 | 780 |
06 | 00 00 0C CA | 3274 | 780 |
07 | 00 00 0F D6 | 4054 | 780 |
08 | 00 00 12 E2 | 4834 | 780 |
09 | 00 00 15 EE | 5614 | 780 |
10 | 00 00 18 FA | 6394 | 780 |
11 | 00 00 1C 06 | 7174 | 780 |
12 | 00 00 1F 12 | 7954 | 780 |
13 | 00 00 22 1E | 8734 | 780 |
14 | 00 00 25 2A | 9514 | 780 |
15 | 00 00 28 36 | 10294 | 1560 |
16 | 00 00 2E 4E | 11854 | 780 |
17 | 00 00 31 5A | 12634 | 1560 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 37 72 | 14194 | End of file |
Here is the index table; it starts with 00 10: number of actual wall files = 16.
Entry | Wall | Wall order | Wall | Wall order | Misc
# | Ingame ID | in GLB file | Ingame ID | in GLB file |
| Hex | Hex | Dec | Dec |
------|-----------|--------------|-----------|--------------|--------------------------------------------------
02 | 00 01 | 00 01 | 01 | 01 |
03 | 00 02 | 00 02 | 02 | 02 |
04 | 00 03 | 00 03 | 03 | 03 |
05 | 00 04 | 00 04 | 04 | 04 |
06 | 00 05 | 00 05 | 05 | 05 |
07 | 00 06 | 00 06 | 06 | 06 |
08 | 00 07 | 00 07 | 07 | 07 |
09 | 00 08 | 00 08 | 08 | 08 |
10 | 00 09 | 00 09 | 09 | 09 |
11 | 00 0A | 00 0A | 10 | 10 |
12 | 00 0B | 00 0B | 11 | 11 |
13 | 00 0C | 00 0C | 12 | 12 |
14 | 00 0D | 00 0D | 13 | 13 |
15 | 00 0E | 00 0E | 14 | 14 |
16 | 00 10 | 00 0F | 16 | 15 |
17 | 00 11 | 00 10 | 17 | 16 |
As you can see, there is no ingame wall ID 15.
Unpacked PC files (from the*.DAX files) are of the same size.
Header (4 bytes): GLIB
File size (next 4 bytes): 00 00 27 EC = 10 220 bytes
Number of entries minus 1 (next 2 bytes): = 00 22 = 34 entries
Magic number (next 2 bytes): 00 00
Data type (next 4 bytes): TILE
Full header size: 156 bytes
Various wilderness combat graphic tiles: trees, rivers, boulders...
Entry | Starting Offset | Starting Offset | Entry Length | Misc
# | Hex | Dec | Dec |
------|-----------------|-----------------|--------------|-----------------------------------------------------
01 | 00 00 00 9C | 156 | 296 |
02 | 00 00 01 C4 | 452 | 296 |
03 | 00 00 02 EC | 748 | 296 |
04 | 00 00 04 14 | 1044 | 296 |
05 | 00 00 05 3C | 1340 | 296 |
06 | 00 00 06 64 | 1636 | 296 |
07 | 00 00 07 8C | 1932 | 296 |
08 | 00 00 08 B4 | 2228 | 296 |
09 | 00 00 09 DC | 2524 | 296 |
10 | 00 00 0B 04 | 2820 | 296 |
11 | 00 00 0C 2C | 3116 | 296 |
12 | 00 00 0D 54 | 3412 | 296 |
13 | 00 00 0E 7C | 3708 | 296 |
14 | 00 00 0F A4 | 4004 | 296 |
15 | 00 00 10 CC | 4300 | 296 |
16 | 00 00 11 F4 | 4596 | 296 |
17 | 00 00 13 1C | 4892 | 296 |
18 | 00 00 14 44 | 5188 | 296 |
19 | 00 00 15 6C | 5484 | 296 |
20 | 00 00 16 94 | 5780 | 296 |
21 | 00 00 17 BC | 6076 | 296 |
22 | 00 00 18 E4 | 6372 | 296 |
23 | 00 00 1A 0C | 6668 | 296 |
24 | 00 00 1B 34 | 6964 | 296 |
25 | 00 00 1C 5C | 7260 | 296 |
26 | 00 00 1D 84 | 7556 | 296 |
27 | 00 00 1E AC | 7852 | 296 |
28 | 00 00 1F D4 | 8148 | 296 |
29 | 00 00 20 FC | 8444 | 296 |
30 | 00 00 22 24 | 8740 | 296 |
31 | 00 00 23 4C | 9036 | 296 |
32 | 00 00 24 74 | 9332 | 296 |
33 | 00 00 25 9C | 9628 | 296 |
34 | 00 00 26 C4 | 9924 | 296 |
------|-----------------|-----------------|--------------|-----------------------------------------------------
EOF | 00 00 27 EC | 10220 | End of file |
The PC (MS-DOS) release of Curse of the Azure Bonds saw 4 different versions: v1.0, v1.1, v1.2 & v1.3. The Atari ST & Amiga stayed at v1.0. However the ST v1.0 data files (ECL & GEO) are the same as the PC v1.3.
ECL1.DAX
ECL1_081.DAT : World map
ECL4.DAX
ECL4_032.DAT : Zentil Keep
GAME.OVR
START.EXE
ECL3.DAX
ECL3_018.DAT : The Pit of Moander
ECL5.DAX
ECL5_049.DAT : Village of Haptooth
ECL5_050.DAT : Cave of the Dracolich
GAME.OVR
GEO4.DAX
GEO4_032.DAT : Zhentil Keep
START.EXE
GAME.OVR
START.EXE
GAME.OVR
The only difference is that the Steam version has been cracked so any code will be accepted. At offset 19 100, the uncracked v1.3 has 74 while the (cracked) Steam version has 75 in HEX.