I took part in the following quoted exchange and I would rather it be more visible. The topic: Case-sensitivity in the names of Quake resources.
The exchange:
My thoughts on the matter:
1. As Quake was made for a case insensitive operating system, it might be argued that failing to reproduce the original game's behavior reflects carelessness on the part of the engine's porter, not those making content for the engine. In other words, if Quake can load the resource in DOS, it should load the resource in other environments.
2. There are now three decades of player created content, with the bulk of it made without consideration for case-sensitive file systems. Much of that content is broken "out of the box" on Linux due to case sensitivity errors. At least some of the contents' authors may have shuffled off this mortal coil. Such dead Quakers have imposed their technical debt on the living. It is too late, now, to teach them to be careful about naming "progs.dat" "PROGS.DAT".
3. I do not believe it is "inevitable" that loading resources with inconsistently-cased names will lead creators to be more careless. First, if they have already made the error and released it into the world, it would be difficult to be more careless. Second, if the engine were to load the file and display a warning message it might draw creators' attention to the error and encourage them to care more. The current implementation already loads the file with incorrect casing silently on Windows. That might also encourage carelessness, since it makes Linux users the "whipping boy" for Windows users' character casing discrepancies.
I look forward to others' weighing in.
The exchange:
A: Something ... that might be handy: If a resource such as a .bsp or .pak does not exist, do a case insensitive search for the file name in that directory and, if there is only one match, attempt to load it instead of failing. Edit: Even better might be to to load it and print a warning instead of failing with an error.
B: ... it will inevitably lead creators to be even more careless on how resources are named, and this still won't load on regular QuakeSpasm / QSS. The engines can somehow workaround small inconsistencies, but careless naming is not one IMHO. Even if you have to be on Linux / MacOS to reveal it.
My thoughts on the matter:
1. As Quake was made for a case insensitive operating system, it might be argued that failing to reproduce the original game's behavior reflects carelessness on the part of the engine's porter, not those making content for the engine. In other words, if Quake can load the resource in DOS, it should load the resource in other environments.
2. There are now three decades of player created content, with the bulk of it made without consideration for case-sensitive file systems. Much of that content is broken "out of the box" on Linux due to case sensitivity errors. At least some of the contents' authors may have shuffled off this mortal coil. Such dead Quakers have imposed their technical debt on the living. It is too late, now, to teach them to be careful about naming "progs.dat" "PROGS.DAT".
3. I do not believe it is "inevitable" that loading resources with inconsistently-cased names will lead creators to be more careless. First, if they have already made the error and released it into the world, it would be difficult to be more careless. Second, if the engine were to load the file and display a warning message it might draw creators' attention to the error and encourage them to care more. The current implementation already loads the file with incorrect casing silently on Windows. That might also encourage carelessness, since it makes Linux users the "whipping boy" for Windows users' character casing discrepancies.
I look forward to others' weighing in.