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

Error mounting ISO file #51

Open
killermosi opened this issue Jan 6, 2023 · 0 comments
Open

Error mounting ISO file #51

killermosi opened this issue Jan 6, 2023 · 0 comments

Comments

@killermosi
Copy link

killermosi commented Jan 6, 2023

I am looking into using PhysFS on an open-source game engine re-implementation and I was putting together a small test program that was supposed to be able to mount an ISO file (the original game data), a ZIP archive (a MOD) and a directory (user-provided resources), using the latest PhysFS release - 3.2.0 at the time of this writing.

Mounting the ZIP file and the directory is successful, however, mounting the ISO fails with error code 18: corrupted.

This is identical with the issue encountered by the OpenApoc project, and they "fixed" by patching PhysFS itself: JonnyH/physfs-hg-import@ef1c6ab

I've asked the developer that pushed the "fix" about fixing it upstream and he told me this:

I didn't really root-cause it, I suspect it's related to iso "formats" being a loose collection of slightly-incompatible extensions from different vendors - there's like 30 different ways of supporting longer filenames and different collections of file attributes.

If I apply that change to the PhysFS code the ISO seems to mount (and be parsed/files read) just fine.

Is that "fix" valid? Is there a way to make PhysFS ignore such errors already?

I have attached my test program, it includes my code, the PhysFS code, and the ISO, ZIP and data directories. Some notes are in the README.txt file found in the archive.

physfs-test.zip.

@killermosi killermosi changed the title Error mount ISO Error mounting ISO file Jan 6, 2023
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

1 participant