Version 3000 (number inside a specific message file >= 3000 < 4000).
Block 1 - file header, size = 10 bytes
Offset Size (in byte) Description
00 .......... 2 ....... Message file ID, equal to 0x8F or 0x0F
02 .......... 4 ....... Version of msg file (0x00000d53 = 3411, optionally, for example, in QfG1vga. I've noticed 3300, 3340, 3400)
06 .......... 2 ....... A pointer to the first byte AFTER the text data, the beginning of block 4 ("address" = "this value" + 8 bytes).
In fact, this is the size of the file WITHOUT comments
08 .......... 2 ....... Number (count) of messages in the file
Block 2 - message addresses, size = 10 bytes
Offset Size Description
00 .......... 1 ....... Noun (on which object the action is performed, the list is located in the corresponding one .hep file)
01 .......... 1 ....... Verb (what action, ie. what icon is selected in a menu or an item from inventory)
02 .......... 1 ....... Case (state, condition)
03 .......... 1 ....... Sequence (the order may be invoked multiple consecutive message boxes)
04 .......... 1 ....... Talker (Who is talking)
05 .......... 2 ....... Message address ("real adr." = " this adr." + 2)
07 .......... 3 ....... Unknown
Block 3 - the messages themselves
Offset Size Description
00 .......... variable ... Message in text format, ends with 0
Block 4 - Developer comments (most likely missing)
In theory, it should be, but I really did not meet the files of version 3000 with comments
Correction. File 815.msg from the official patch QFG1VGA has comments.