diff --git a/doc/file_txt_spec.txt b/doc/file_txt_spec.txt new file mode 100644 index 0000000..8701686 --- /dev/null +++ b/doc/file_txt_spec.txt @@ -0,0 +1,29 @@ +LSB type + +TXT +{ + TXT_HEADER (28B) + { + [2B] unsigned short : number of parts (always 0x05) + [2B] unsigned short : count of PART_HEADER + [4B] unsigned int : offset to PART 1 (english) + [4B] unsigned int : offset to PART 2 (dutch) + [4B] unsigned int : offset to PART 3 (french) + [4B] unsigned int : offset to PART 4 (spanish) + [4B] unsigned int : offset to PART 5 (japanese) + [4B] unsigned int : file size (or offset to EOF) + } + PART 1-5 (xB) + { + PART_HEADER (offset to the first entry / 2B): + { + unsigned short [2B]: offset to the X entry from the start of part_header offset + } + STRING_ENTRIES \0 terminated (xB) - XOR encoded part! See below. + { + All strings entries to the end of the part sould be XOR in one pass! + XOR each byte with byte-1 to get the correct char. + For the first byte of the STRING_ENTRIES block, use 0xF5 as byte-1. + } + } +}