Reply 140 of 254, by Kisai
A nice idea, but who do you think is going to maintain this database? It is not a trivial undertaking. Have you seen https://w […]
A nice idea, but who do you think is going to maintain this database? It is not a trivial undertaking. Have you seen https://www.scummvm.org/old/documentation.php?view=md5 ?
Right now GOG/Steam does this lazy thing where they ship a complete copy of DOSBOX with every game, even games in the same bundle. This creates poor user experiences as every game is configured differently. If it were easy to just drop the game exe onto dosbox's shortcut, auto-configure, all of this mess could go away.
If GOG/Steam – or rather the actual publisher - wanted to improve "poor user experiences", they would be entirely capable of modifying the DOSBox sources themselves. (Consider Wasteland, as well as Blizzard's freeware offerings.)
In the meantime, I think the vast majority of users do not even appreciate how "poor" their experience is.
I've seen the Scumm database before, but to be fair, they need to know what exact version of the game is being played so they can invoke whatever hacks needed to work around bugs.
What I propose for dosbox is to hash the game binary, and create a configuration file (eg resource.cfg for sierra games) that works with the optimal configuration proposed. There are cases like NRS's patches which would change the game drivers or game archive, which would require a second optimal configuration (eg KQ4's "base" configuration would be Adlib, but MT-32 would be optimal if NRS patch isn't present. Likewise with SQ3, there's a patch that enables a few DAC sounds that are only available if configured with the included driver. Otherwise it's Adlib as base, soundblaster if the driver is present, mt-32, mt32+soundblaster if that driver is present, pretty much in that order.
The Steam version of QFG1VGA and QFG3 and QFG4 all contain NRS's patches. So these are cases where DOSBOX wouldn't care since the game engine is the same, but ScummVM would probably flip out.