-
-
Notifications
You must be signed in to change notification settings - Fork 323
Add support for extracting zip and 7z ROM files #1868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v4.5-dev
Are you sure you want to change the base?
Conversation
… gameswitcher and is a zipped rom the extracted file is deleted
Changed the location of the extracted roms to be inside of the rom folder itself Made so that every extracted file gets renamed to the name of the zipped file and handles multiple files with the same extension gracefully
|
The previous implementation was very bare-bones, this commit addresses that. It's important to mention that this actually creates a problem because it goes from the order of files in the archive, as such we should had a way to actually select the rom you want to play if there's more than one and only rename the files to the same as the archive IF there's only 1, if said problem arises the way to fix would be this:
Given the fact that most games supported, afaik, are single rom files then this should be a no-problem. There is another solution tho, given only a few selected cores show this problem, we can just have a script on the launch of those cores to clean after themselves, or do what we are doing here but simpler because we don't need to do a generic solution. Really the problem is that, whilst retroarch decompresses the roms by itself and stores them in ram whilst the core is running, some cores do not support this, which in-turn makes retroarch write the rom to memory, making it a permanent file cluttering the rom folder. Then again, the upside of this solution is that you don't need to extract the rom in every boot, making the startup after the first run faster. |
|
The optimal solution then should be: Keep the temporary rom folder and the deletion of the extracted rom as is but instead of calling a generic script we call a specific script which is located inside the rom folder of each core, those who don't need any special handling can have a symbolic-link to the script I built, the rest have their own custom script and we return the rom-path of that script to the caller, making it so it seems nothing was done while launching the game. I am not one to play multi-disc games or arcade games so someone would have to do the handling for those games, but then again , if anything else, we could just have a script there that returns the path to the archived rom anyway if retroarch handles it properly. I will try to implement this solution later today. |
… deletes the roms after the gameswitcher closes the game It allows in the future to add an option to add cores to be handled this way for faster boots which would be desireable
|
So this commit changes the way things are handled. |
…ame is on the gameswitcher Implemented a Info screen for the options in the GLO making it more acessible
|
Just implemented the feature that enables the user to use the compressed roms script if they wish to, but beware its mandatory for GBA and GG games, given their cores are faulty, and it ignores the check for PS1 and ARCADE given their filetypes. Also added info to the options in the GLO as a bonus |
|
@Aemiii91 It's ready to be merged if you agree |
This PR addresses the issue #1787 , before launching a game it checks it the passed rom is a compressed file, if it is then extracts to a temporary folder and passes that path to the launcher.
As of now It doesn't check if the extracted file already exists but that's easy to do and I will do later.
Fixes #1787