Darklands message file
Files with this format: "*.msg
".
Contains text and possibly other information about screens (cards).
It is difficult to tell if a "card" refers to the entire file, or
to one of the string entries in the file. The terms are confusingly
used interchangably in this file.
Most, if not all, ".msg
" files are found within
the one cat file msgfiles.
Table of Contents
Offsets
Structures
Offsets
-
0x00
:
num_cards:
byte
-
Number of cards.
-
0x01
:
card_definitions:
array[ num_cards ] of struct card
-
Card definitions.
Structures
A definition of an alchemical formula.
-
0x00
:
unknown (5 bytes)
-
- Many of these are {0x0a, 0x0a, 0x00, 0xf0, 0x00}.
- Possibly these have to do with colors, images, or music?
-
0x05
:
contents:
string (null-delimited)
-
Textual contents of the screen.
-
Screens are always a preamble of text, sometimes followed by a list of up to ten options.
If there are not that many choices, bogus entries (usually just numbered 1-10) fill the option slots.
-
Some cards appear to be standardized (always ten options, with potion/saint/leave options in the same places).
-
0x0a seems to be a newline, 0x14 seems to be a paragraph break.
These are almost always used together as a pair {0x0a, 0x14},
between every paragraph and each option.
- Usually the valid options start with {0x0a, 0x14}, but sometimes have an extra 0x14 or 0x15 appended (spacing?).
- 0x15 is unknown. Usually it follows the {0x0a, 0x14}, so it's probably whitespace?
- There is always an 0x1d between the "..." and the text of an option.
- An 0x10 immediately precedes the "..." for options that offer a popup potion selection.
- An 0x16 immediately precedes the "..." for options that offer a popup saint selection.
- An 0x06 immediately precedes the "..." for options that would cause the party to enter battle immediately.