Autoconfig and launching of whdload games, archives.
Created by: i30817
fs-uae has a very nice feature that makes playing amiga games much cleaner. They use this database: https://openretro.org/about
to collect configs of checksummed archives (including WHDLoad archives + the actual game files) and create a tmp hd, use one the workbench utilities to copy over the files to it and start the game just like that. Modified files at the end are saved. You can check out the process on the fs-uae github. Needlessly to say, i think 0-configuration game playing would fit in with the RA goals for this complex computer system, considering that a great deal of options on the amiga configs and a very many user error possibilities exist.
WHDLoad uses lha archives to preserve amiga filesystem bits for playing on a real amiga. Obviously, fs-uae is able to ignore that requirement (although it appears to use a workbench program to do something to the files, i think whdload patching). fs-uae accesses that data remotely (i had to register to openretro).
One little subtlety is that a great deal many WHDLoads around the net are corrupt in a strange way. The files inside have corrupted names when extracted from lha: instead of recreating the directory structure, they replace it with a flat view of the files with the parent directories names prefixed to the file name with '%5f' serving as dir separator. I'm unsure if this is a 'real amiga' thing or not.
Needlessly to say, fs-uae won't load these correct when trying to load such a archive. This is very often not noticed because fs-uae-launcher does something to fix these if you happen to be registered on openretro: it compares the sha256 checksum of the expected files to the checksum of the archive files and if they all match, extracts the files to the right place and name (taken from the database), thereby 'fixing' the extraction.
I'm unsure if this is a good idea to continue or not. On one hand, roms are dependent on a online service to function correctly, on the other, roms run. Maybe a one time 'fixing' step would be better, maybe as a external app. OTOH if indeed this is a 'amiga thing' needed for correct operation of lha on the amiga and the files are 'correct' the extraction process needs to be made less buggy so results of extraction are compatible.