Open Miss-Inputs opened 4 years ago
Hot take, but maybe I don't actually need to redo the database, or at least the general format of it. The key-value thing where the name of the game is the key might come in handy here for "this game's parent is that" for multiple versions, and then we just parse that and insert only what we need and what we expect into dos.json.
I mean, I'll still redo the database anyway, because I want to have a re-think about what's actually relevant to put in there.
Also I'm thinking that the concept of this database won't be common to pc, it'll just be in dos and also mac. Things like loose native games won't need it, and for that matter those don't belong in systems.ini at all.
Other ideas for DOS - add option to just grab any folder containing exe files, use folder name as name, and a launcher for any exe found (excluding things like DOS4GW.EXE that are just kinda there); maybe support files like name.txt and autoexec.bat that might be in there, if those aren't normally found in DOS games
Yeah I reckon rework dos/pc a bit so we can construct App objects not just from info directly, but just from any combination of path/name/other info; and then we can let users put a folder in the json and create a launcher from every exe in there
The end goal of course, keeping myself focused, is to have an autoscan_paths in the DOS section (and I guess the Mac section too) in system.ini, as well as autoscan_ignore and anything else relevant I come up with along the way, and that just finds every exe inside those folders
…We're going to need to implement using libretro-database I think otherwise this isn't very sensible, but then I want to be really strict about what matches
I'm not out of ideas yet, to make scanning a bit better we can say "don't descend into folders that have uppercase names" and that stops looking at exes inside subfolders of game directories (we probably only want the exes/bats at the top of a game folder instead)
Maybe
I guess some people just want a folder with a whole bunch of unorganized games in it
Alternatively: We get the fallback name (when that option is enabled) by finding the topmost directory that doesn't look like a DOS path (has mixed case, or longer than 8 chars?)
Alternatively 2: We don't actually recurse into stuff, we just find whatever exes are in the root of folders, so in my case I would scan /blah/Games and only find /blah/Games/Cool Game/coolgame.exe but not /blah/Games/Cool Game/data/blah.exe, etc
Wait yeah do that, and then we can just have a "use_category_subfolders" option
Yeah changed my mind about libretro_database, I'm not really concerned about it. Using that means that it will see e.g. SIERRA.COM and think that is from every Sierra adventure game ever, or using TDC dat means that I have to change the parsing code and write stuff to make sure all files from a game are present, and I'm not that bothered, the only useful info is the genre/year anyway.
And also the Mac scanner, once we do that one again.
This should just be a separate command line tool, and eventually separate GUI thing. For a given path, scan it for all exe/com/bat files and if anything is found in the database (which should be rewritten from scratch because I've changed everything and also abandoned ComputerGameDB - either part of MeowLauncher, or as a submodule), add it to the thing. Have a mode that just checks what is in the database and doesn't add it to the dos.json file.