Open main menu

Difference between revisions of "Auto detection"

63 bytes added ,  18:04, 10 April 2005
(Auto detection ideas; not finished)
 
Line 63: Line 63:
=== Detection ===
=== Detection ===


TODO: 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".  
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".  
 
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.
 


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.
1,079

edits