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

Keep filename-casing on save #21

Open
codengine opened this issue Jul 7, 2023 · 6 comments
Open

Keep filename-casing on save #21

codengine opened this issue Jul 7, 2023 · 6 comments

Comments

@codengine
Copy link

I only tested it with old SCI 1.1 games, but whenever I modify the resources the filenames of RESOURCE.MAP and RESOURCE.000 are changed to lowercase, which may be problematic when the resources are used on case-sensitive operating systems.

Would it be a big issue to change it so that the character casing is kept intact?
Same for the export of patch files?

PS: I just used the latest version for some translations and it worked great (with Umlauts). Thanks again!

@Kawa-oneechan
Copy link
Owner

Kawa-oneechan commented Jul 7, 2023

I can think of two ways to run SCI games: in MS-DOS (real, virtualized, or DOSBox), or through ScummVM. The former is case insensitive to begin with. The latter I don't know, because all I have to test on is Windows though I guess I could check the source, with how much abstraction that thing has.

So basically, is it worth the effort to preserve casing? And what about games with more than one volume? Would I need to remember the original casing for the entire possible range? I'm not even sure how.

@codengine
Copy link
Author

Following scenario: Lets say I deliver a new version of the game. People that use Linux extract it and overwrite the already existing version.

If I dont take care about the filename-casing they would end up having the files twice because Linux is case-sensitive. I can't even tell you which casing has precedence in ScummVM on Linux.

I know those ancient SCI games which I'm dealing with are probably a niche market but to be honest - You cant imagine how important SCI Companion is for those translations, bugfixes etc. :)

It's not too big of a deal, but when I deliver an update and don't take care about the character casing, the situation above could occur.

@Kawa-oneechan
Copy link
Owner

Kawa-oneechan commented Jul 8, 2023

You raise a good point. However, I still don't know how how to find the current casing, though I have an inkling of an idea.

Also: since they're old DOS games the "canonical" casing should be full uppercase. (Don't let Windows 95 fool you.)

Edit: FindFirstFile is case-insensitive, but returns the actual filename. Testing it by finding Resource.map returns a struct with RESOURCE.MAP in, which is what I wanted. I can use this.

Kawa-oneechan added a commit that referenced this issue Jul 10, 2023
@Kawa-oneechan
Copy link
Owner

If you can confirm this is what you wanted, I can extend this to include patch files as well, and close this issue.

@codengine
Copy link
Author

Sure, extending it to patch files as well would be great! Tell me when I can download a build and test it.

@Kawa-oneechan
Copy link
Owner

A version that doesn't yet do this to patch files is already available as a Nightly release.

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

2 participants