Skip to content
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

Zip Loading #49

Open
RobLoach opened this issue Dec 29, 2016 · 6 comments
Open

Zip Loading #49

RobLoach opened this issue Dec 29, 2016 · 6 comments

Comments

@RobLoach
Copy link
Member

RobLoach commented Dec 29, 2016

Allow loading games from .zip files.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@andres-asm
Copy link
Contributor

I think it can be implemented in the frontend, I tried mentioning it to some people last night but noone listened.

The idea would be to have some extensions that cause the whole archive to be extracted instead of just the one you pick, so it would extract whole archives if you load cue, toc, exe, m3u, wad, pak for instance.

@andres-asm
Copy link
Contributor

@andres-asm
Copy link
Contributor

andres-asm commented Dec 29, 2016

the function to extract full archives doesn't yet exist :p it's "pseudocode"

@meepingsnesroms
Copy link
Contributor

What we need is for RetroArch to finally get emulated filesystem support then we can just read from the archive as a directory and all file access will be cross platform.

When that happens I will convert the core to use the emulated filesystem instead of needs_full_path=true.

@RobLoach
Copy link
Member Author

Mount the archive as an emulated volume? Love2D does something like this with their .love files.

@i30817
Copy link

i30817 commented Mar 15, 2018

What i do for dos emulation is to use copy-on-write drive to play the games (which is typically mounted on top of a DOSBOX game dir). If, and only if, you can identify a game archive/directory uniquely you could get something like a UUID for it, place a new (if not existing) dir on 'saves/dosbox/UUID' for the 'copy' part of the copy on write and have a mount of the zip as the source.

Still inferior to having no zip (Especially for very large games) and DOS games are super super diverse in terms of files (because they save/write configs on the same dir, have extra files, patches, fanpatches etc) so i'm thinking you Don't want to standardize UUIDs as primary keys. Just create a new one if the user changed the archive. Also, you probably want a way to recognize a zip as a 'dosgame', so either using 'zip' as extension is a bad idea, or you should only do this for files with a corresponding 'dosbox.conf' of the same name or something like that.

BTW, this is similar strategy to what FS-UAE does to autoconfigure Amiga games (along with the retrogames database) but they have the luxury of having stable crcs (because amiga game floppies don't write to themselves but a dedicated save floppy, and hdgames are covered by whdload which separates writes to special files). So the database can actually list all of the relevant files and create a 'good' UUID primary key to autoconfigure and get metadata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants