I've changed the line 2872 from
if (artworktable.snap.find(";") != null){
to
if ("snap" in artworktable && artworktable.snap.find(";") != null){
and it loaded up fine.
That's exactly the change I had in mind to fix the issue definitely
I have a question about .db1 / .db2 files - are they automatically refreshed when .txt romlist changed? Some of my .txt romlists are generated by external scripts.
Hmm no, they are not. At the moment you can use the "Refresh Romlist" command from AF options menu, that will do the following:
- regenerate the current romlist using AM command line
- go through the refreshed romlist and add to the database any game that is not yet in the database
- db metadata for the new games will be derived from the romlist fields
- db metadata for existing games won't be affected
this works as long as you usually generate romlists through AM, if you build your romlists in a different way that will not work. I can add an entry in the menu to reset/refresh just the database, it could work like this:
- refresh database will scan the romlist (without regenerating it through AM) and add new games to the db
- reset database will wipe the database and all scraped data, rescan the romlist without regenerateing it through AM, and then populate the new db with data from the romlist.
I think these two options will cover all the use cases, even when the db gets corrupt and you can regenerate it from scratch