Quote:
Originally Posted by nrapallo
If you do want a text file with some markings where the start and stop highlites would be, then that would require extra coding to extract and merge them into the text file.
|
For all the techies out there, this is what the "Hlts" record in the .RES directory (i.e filename "XWDY") looks like as a hex dump followed by reverse enginnering (decoding) of that data:
Code:
File: XWDY
Output by XVI32 - www.chmaas.handshake.de
Offset 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII dump
=======================================================----------------
0000: 00 01 48 6C 74 73 00 00 00 00 00 00 00 A0 00 00 ..Hlts.......*..
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 01 00 00 00 0A 66 73 65 6C 00 00 03 75 ........fsel...u
0030: 00 00 03 9B 66 73 65 6C 00 00 04 17 00 00 04 18 ...›fsel........
0040: 66 73 65 6C 00 00 04 1A 00 00 04 1E 66 73 65 6C fsel........fsel
0050: 00 00 04 20 00 00 04 21 66 73 65 6C 00 00 04 23 ... ...!fsel...#
0060: 00 00 04 26 66 73 65 6C 00 00 04 28 00 00 04 2B ...&fsel...(...+
0070: 66 73 65 6C 00 00 04 2D 00 00 04 2E 66 73 65 6C fsel...-....fsel
0080: 00 00 04 30 00 00 04 32 66 73 65 6C 00 00 04 34 ...0...2fsel...4
0090: 00 00 04 35 66 73 65 6C 00 00 04 37 00 00 04 3A ...5fsel...7...:
00A0: 00 80 00 00 00 80 00 00 00 20 00 00 .€...€... ..
Decoding Hlts record format:
============================
Offset
0000: 00 01 = Start of Header (32 bytes)
48 6C 74 73 = Filetype "Hlts"
00 00 00 00
00 00 00 A0 = offset to index after data records (160 bytes = 32 + 8 + 10 * 12 )
00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
0020: 00 00 00 01 = Start of data record
00 00 00 0A = 10 highlites
66 73 65 6C 00 00 03 75 00 00 03 9B = "fsel" (66 73 65 6c), 00 00 start character position from beg of file, 00 00 stop character position
Results in 39 (923 - 885 + 1) characters starting with the 885th up to but not including the 923rd
i.e. the phrase "through the name under which he had been"
66 73 65 6C 00 00 04 17 00 00 04 18 = as above, but only highlites 2 characters starting with the 1047th character from the beginning of the file
i.e. the word "in"
0040: 66 73 65 6C 00 00 04 1A 00 00 04 1E = repeat above analysis!
66 73 65 6C 00 00 04 20 00 00 04 21
66 73 65 6C 00 00 04 23 00 00 04 26
66 73 65 6C 00 00 04 28 00 00 04 2B
0070: 66 73 65 6C 00 00 04 2D 00 00 04 2E
66 73 65 6C 00 00 04 30 00 00 04 32
66 73 65 6C 00 00 04 34 00 00 04 35
66 73 65 6C 00 00 04 37 00 00 04 3A
00A0: 00 80 00 00 00 80 00 00 00 20 00 00 = Index (12 bytes)
= constant ID (00 80), length of data record (128 bytes = 8 + 10 * 12), start of data record (after first 32 bytes header)