micah686 / VnManager

A program to keep track of your visual novels
https://micah686.github.io/VnManager/
MIT License
52 stars 6 forks source link

Scan for games #42

Open micah686 opened 3 years ago

micah686 commented 3 years ago

I know a lot of people have requested this, so I'm creating an issue for this. We need a way to be able to scan a folder/pull in a list of games to be added automatically. However, this is no easy task. There is no centralized list of exes/hashes that I can use to check against. If I allow scanning a folder, people need to be able to pick the right exe, then have it do the necessary checks before adding each game.

mspykerez commented 3 years ago

You could add some logic to it and make it so VnManager look up the name of the folder or file (game.rar etc) and atribute the the game with the best match (assuming the user has valid game names on their folders/files, in my case I usually even add the release date and developer to the folder name I store my game at, so I guess that that information would also help with the identifying of the game by name).

Also would be nice to add games manually without the need of pointing out to a .EXE file and in additional make it possible to import/export user lists from VNDB.

Omar-Abdul-Azeez commented 3 years ago

for a start I'd suggest allowing games to be added without having them installed... you'd either be supplied a link or vndb v# code, or a name... in the case of the name you'll search vndb using it and then expand the form downwards with the results in a list view of small cards on the left and some game info to the side of it and then the user either chooses a game or changes his search and has to click a button to redo the search to remove any unnecessary calls to the api you can then use the current library of added games in the program to scan folder names for matches with (partial) matches with the different titles of the games then search the contents of that match for an exe file and assume that's the correct one... or search for every exe in the scanning folder and then look in their paths for matches with the names...

but just as you said I'd suggest at least implementing a scan feature that scans for exe files then represents the user with 2 lists, one for the games and one for the scanned exes and the user matches some exes with some games and confirms

regardless of the approach I'm not sure about this but maybe have 3 categories and a summary of the scan that simply shows which games got matched with which paths and a list of games that didn't get matched (as text) which can be quickly read to check mismatches instead of testing each game or checking it's settings. as for the categories, one for games with no path and the another for games with path and the last one for path clashes aka. pointing to the same path (which is a child of the path category if you allow that). this will allow importing a user list from vndb (assuming that's implemented) and then scanning for the games which then get separated into uninstalled/installed/clashing so that the user can check/correct the scanned games easily... and that'll also allow having "uninstalled" games in one place for manually pointing to the exe file and having all the "installed" games in one place to look for a game to play next

regarding that summary... maybe you can omit path clashes from it since it's useless info because of the category...