This is what I got so far out of them:
Code: Select all
4bytes - magic (XOX2, black)
1byte (grey) - total amount of strings, values and floats present combined in hex form (for sure), file metadata necessary to allow reading, including the empty byte at the end.
7bytes (dark red) - zero, first byte may not be 0 if the file has more than 227 (max negative byte value) plaintext data lines, to relate to the above value but inverted (like 16 01 to 01 16).
1byte (red) - Byte count for first text data offset (Main XML category header), including the the empty byte at end, OK if is zero or something random.
3bytes (not present in diagram) - Zero, can be sequenced many times with 1-3 bytes in large files
1-3bytes (not present in diagram) - zero, uses two-three bytes inverted if binary metadata uses two-three bytes to display,
1-2bytes (red) - binary metadata size for ending metadata including the beginning byte, file metadata necessary to allow reading, INVERTED value if using two bytes, not possibly to modify if so (?), small files skip this
2-3bytes (red) - zero, two to three inverted bytes if binary metadata for the ending metadata is large, small files skip this
1-3bytes (red) - binary metadata size, dependent on how many strings and values totals are present, always bigger if filesize is greater than previous, includes the ending byte and excluding the last binary metadata section, mismatches will crash the game among trying to read, INVERTED value if using two or three bytes
?-2334720bytes (yellow) - strings and values in plaintext followed by empty bytes for dividing each other
?-1784884bytes (blue) - binary metadata (?) dependent on string and values present, starting with <x> (main file indicator), file data starting with <e (Main XML group name) and ending with </x> (main file indicator ender).
1byte (blue/dark blue) - empty byte to end the file
Code: Select all
48B (small) files:
4bytes - magic (XOX2, black)
1byte (grey) - total amount of strings, values and floats present combined in hex form (for sure), file metadata necessary to allow reading
7bytes (dark red) - zero
1byte (red) - Byte count for first text data offset (Main XML category header), including the the empty byte at end, OK if is zero or something random.
3bytes - zero
12-?bytes (yellow) - strings and values in plaintext followed by empty bytes for dividing each other
?-?bytes (blue) - binary metadata (?) dependent on string and values present, starting with <x> (main file indicator), file data starting with <e (Main XML group name) and ending with </x> (main file indicator ender).
1byte (blue/dark blue) - empty byte to end the file
Code: Select all
73B (bigger) files:
4bytes - magic (XOX2, black)
1byte (grey) - total amount of strings, values and floats present combined in hex form (for sure), file metadata necessary to allow reading
7bytes (dark red) - zero
1byte (red) - Byte count for first text data offset (Main XML category header), including the the empty byte at end, OK if is zero or something random.
3bytes - zero
1byte - Plaintext data count for two sets, including two empty bytes
3bytes - zero
1byte - Total value count for plaintext strings and values, including ending byte
14-?bytes (yellow) - strings and values in plaintext followed by empty bytes for dividing each other
?-?bytes (blue) - binary metadata (?) dependent on string and values present, starting with <x> (main file indicator), file data starting with <e (Main XML group name) and ending with </x> (main file indicator ender).
1byte (blue/dark blue) - empty byte to end the file
http://www.filedropper.com/f12016androidxmls (Some of these have XGS_XML version 1/2 in their strings and values areas).