I'm thinking of the libretro fs-uae port, for KMS environments. Ideally this would work offline and given a whdload game in a lha, and a path to the database file, spit out a configuration in a parsable format or (in another mode that doesn't require the database) create a dh0 as a folder (if it doesn't exist, with a option to delete first) on a given directory and return the uuid that is the folder name.
This would serve retroarch purpose of separating the 'crc and configuration' (for the Scanner and for the retroarch database) from the runtime requirements of the core (extract the game into a usable format to be writable, manage the caches if any).
Needing the database for the first is because, since libretro will probably just canonize one set of WHDloads and use crc32 of the whole file for the scanner, but it first needs to have a way to associate the configuration of a whdload to their crc32, and the launcher fetches configurations. So having a offline method is good but not essential.
The second means that the users just don't need to download anything.
Also this configuration should work without the GUI libraries being linked.
It should also work with other entries (ADFs and the other formats) for amiga game i guess, at least in the 'configuration' part. Since those have actual stable checksums that shouldn't be a problem (ra might have to be modified to fallback to sha1 if the database doesn't have crc32 i guess).
Also i'm curious, what's the reason that the extraction process is so slow when you run a game on fs-uae launcher? Because if it's because it's checking checksums then, Ra actually prefers to amortize checksum checks upfront, so a option to disable that would be nice... If the reason is just 'lha is slow' oh well.
I'm thinking of the libretro fs-uae port, for KMS environments. Ideally this would work offline and given a whdload game in a lha, and a path to the database file, spit out a configuration in a parsable format or (in another mode that doesn't require the database) create a dh0 as a folder (if it doesn't exist, with a option to delete first) on a given directory and return the uuid that is the folder name.
This would serve retroarch purpose of separating the 'crc and configuration' (for the Scanner and for the retroarch database) from the runtime requirements of the core (extract the game into a usable format to be writable, manage the caches if any).
Needing the database for the first is because, since libretro will probably just canonize one set of WHDloads and use crc32 of the whole file for the scanner, but it first needs to have a way to associate the configuration of a whdload to their crc32, and the launcher fetches configurations. So having a offline method is good but not essential.
The second means that the users just don't need to download anything.
Also this configuration should work without the GUI libraries being linked.
It should also work with other entries (ADFs and the other formats) for amiga game i guess, at least in the 'configuration' part. Since those have actual stable checksums that shouldn't be a problem (ra might have to be modified to fallback to sha1 if the database doesn't have crc32 i guess).
Also i'm curious, what's the reason that the extraction process is so slow when you run a game on fs-uae launcher? Because if it's because it's checking checksums then, Ra actually prefers to amortize checksum checks upfront, so a option to disable that would be nice... If the reason is just 'lha is slow' oh well.