1,079
edits
(Auto detection ideas; not finished) |
|||
Line 63: | Line 63: | ||
=== Detection === | === Detection === | ||
Detection should be able to take "hints" from the user; i.e. if "indy3" is specified, then we'll assume any 00.LFL we encounter to be part of "indy3". | |||
Files can be distinguished by their content as follows: | |||
* For 00.LFL files, to distinguish OLD_BUNDLE vs. SMALL_HEADER: look at first two bytes of the file: | |||
** 0xF701 (or 0xF7010000), bytes 5+6 are '0R' -> V3 small header | |||
** 0xFFFE -> V2 or V3 old bundle (really is 0x0001, XOR encoded using 0xFF) | |||
** 0xCEF5 -> V1 game (really is 0x0A31, XOR encoded using 0xFF) | |||
* For 000.LFL files (V4 games:loomcd, monkeyega, monkeyvga, pass), bytes 5+6 are 'RN', not encoded (corresponds to 'RNAM' in newer games). | |||
* For *.000 files: they start with 0x3b272824 ('RNAM' XOR encoded using 0x69) | |||
* For *.la0 files: they also start with 'RNAM', not encoded this time. | |||
* For *.he0 files: Apprently they start with MAXS, encoded; sometimes also with RNAM. | |||
=== Proposals === | === Proposals === | ||
I have no complete proposal yet, only various ideas for parts of the problem; I am still working on putting them all together into one coherent solution, so bear with me; this is all relatively new. | I have no complete proposal yet, only various ideas for parts of the problem; I am still working on putting them all together into one coherent solution, so bear with me; this is all relatively new. |
edits