Es gibt 2 Arten von Textdateien, Dateien, welche Archive sind
und die, die nur einen einzigen Eintrag enthalten.
Die Unterscheidung ist ziemlich einfach, man muss sich nur die
ersten 2 Bytes ansehen.
Wenn die ersten 2 Bytes 0xE7FD ergeben, ist es ein Archiv.
Wenn dies nicht der Fall ist, ist das Auslesen einfach:
Die komplette Datei ist der Text.
Falls es ein Archiv ist, ists komplizierter:
Anzahl
Größe
Daten
2
1 Byte
0xE7FD (File-Identifier)
1
2 Bytes
count (Anzahl der Texte)
2
1 Byte
Unbekannte Daten
1
2 Bytes
size (Größe der Daten ohne Header)
Nun kommen erstmal die Startoffsets der Texte:
Anzahl
Größe
Daten
count
2 Bytes
offset (Start-Offsets)
Nun folgen die Texte, falls das Offset 0 ist, ist der Texteintrag unbenutzt.
Man geht am besten alle Offsets durch, addiert 10 zum Offset dazu und
man erhält die Startadresse des Textes.
Diesen liest man bis zur terminierenden '\0' ein.
Wichtig: Die Texte sind mit dem OEM-Zeichensatz kodiert,
also ggf. in ANSI oder UTF-8 Zeichensatz umwandeln.