Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

[RESOLVED] Matching rom names to gameex databases (non-mame)


RedDog

Recommended Posts

Can someone give me some guidence on how I can go about updating my non-mame roms so they match the databases used by gameex? If an example is needed, let's start with NES.

I tried using the latest copy of GoodTools to update a set of NES roms (and did so successfully). However, I found that when I viewed some roms in GameEx, the data for the Select Line 1, Select Line 2, and Description parameters were not populating. I looked at the NES database using a SQL viewer and while I did note that some of the roms did not have any data to populate, there were a few whose filename did match the 'GoodName' field (not including codes) and still did not display data in GameEx...so now I am trying to figure out where to go from here.

Any help is appreciated. Thanks.

Link to comment
Share on other sites

Sure. Here you go.

I should note that I do no have all the emulators set up yet. I was working through the NES then the SNES before I realized that I had a naming issue to rectify. If we need to discuss a specific setup, lets look at Nes (Nestopia).

Also, I am using map files for the game list. I have been updating them ongoingly as the gamelist changes (either using Mapfile Maker or pulling a directory list to a text file and editing it via excel).

Thanks again.

GameEx.ini

Link to comment
Share on other sites

So, I have been tinkering around with the NES roms, GoodTools, and the NES database ([Console] Nintendo NES.db3) again and I have not been able to figure out what exactly GameEx uses as parameters to match a rom against the database entries.

I have gone as far as adding data to the Name, GameBase, and GoodName fields and changing file names to try and figure this out...but my results have not be consistent enough to draw a solid conclusion. If anyone happens to know what logic GameEx uses, it would really help me to make some headway on getting my roms set up as best as they can.

Link to comment
Share on other sites

Just ftr, you shouldn't be editing db3 files or they'll likely get overwritten. The .mdb files are for editing. ;)

The way it works is simple really. It checks the db against goodname, tosec, and nointro fields. The name field is a real name for 'use database name'. The check is done against the file name... The rom inside the zip I think. Maybe it is the zip name, not sure. The map file would basically still pass the file name so don't use the map name.

Try turning on the best match option and deleting your GameEx config files that have .cache in the file name.

  • Like 1
Link to comment
Share on other sites

OK, so I think I have figured a few things out on why some of my roms are not showing database info when viewed in GameEx.

The first issue is that some rom records just do not have any associated data with them (Genre, Category, Description, etc). There is not much I can do about that unless I want to manually update those records myself...so I will ignore those for the time being.

The other issue appears to be related to file names that have a The in the game title (such as Bugs Bunny Crazy Castle, The (U) [!].nes). In this case, even though both the file name and the GoodName value in the database is exactly the same, the associated data will not be displayed. However, if I remove the ", The" from the rom file name and GoodName field, it will work just fine. This is only specific to NES so far as it is not happening in SNES or Genesis.

If you have any suggestions on how I might fix the ", The" issue for the NES emulator, that would be great. Short of reinstalling GameEx, I am not sure what I can do.

Link to comment
Share on other sites

I don't think a reinstall is the way to go here. I would try removing the .cache files like I mentioned before. If that didn't work, move the emulator to a new slot and try again.

Link to comment
Share on other sites

Adultery, the only 'best match option' I could find was the 'Snap Best Match' setting under Tweaks. Is this the one you were referring to?

If not, do you recall which section the setting is in for matching rom names against the database?

Link to comment
Share on other sites

OK, I tried a new emulator slot that had not yet been used and deleted all dbcache files. There was no change.

The good news is that I think I figured it out where I am encountering the issue with the roms that have ", The". The roms that are not displaying game data in GameEx are listed in the database more than once. It looks to me like GameEx finds the first match in the database and uses that record...even if another record exists with all the data. My mistake was in not looking far enough down the database to check if the titles that had ", The" in the name might not have a record that starts with "The'.

For example, The Bugs Bunny Crazy Castle is has two records. GameEx chooses to use Record ID 3145 instead of Record ID 344. I assume this happens because GameEx first queries the GameBase value before querying the GoodName value. When it finds a match with the GoodBase value, it displays that records data, which happens to be empty. I tested this theory by adding bits of data to Record ID 344.

ID: 344

Name: Bugs Bunny Crazy Castle

GameBase:

HyperList:

GoodName: Bugs Bunny Crazy Castle, The

NoIntro: Bugs Bunny Crazy Castle, The

TOSEC: Bugs Bunny Crazy Castle, The

Publisher: Kemco

Developer: Kemco

Date: 1989-01-01 00:00:00

Category: Puzzle

Genre: Action, Strategy

NumPlayers: 1 Player

Description: This game is the first in the...

ID: 3145

Name: The Bugs Bunny Crazy Castle

GameBase: Bugs Bunny Crazy Castle, The

HyperList:

GoodName:

NoIntro:

TOSEC:

Publisher:

Developer:

Date:

Category:

Genre:

NumPlayers: 1 Player

Description:

So, now my question is...can you tell me if I am on the right track?

...and if I am on the right track, where can I go from here so I can get these renegade roms to display data when viewed in GameEx?

Side note: I am now comfortable that I can use GoodTools for my ROM renaming. At least now I can continue organizing roms. <queue victory music>

Link to comment
Share on other sites

You are on the right track. The main problem is that the nes database is still a bit of a mess. It is huge and I have been puting it off for the most part. There are smaller databases and time has been spent ticking off the smaller ones prior to tackling the larger ones. The two entries you show would become a single entry (and may well be now in current versions).

As for the match picking the last entry. I am not 100% sure without looking through the code, but I expect that Tom is using either a dictionary or sql functions within gx to find the matches for caching. Either way, the scan would start at the last record in the database and scan backwards to find a match. This is generally the case as compilation of code takes preference over reversed iterations as it is quicker (not that it would make any difference on such a large list - but that's just the way things work).

So. Upshot to this is In the reply to your other post.

  • Like 1
Link to comment
Share on other sites

Thanks for the background Greatshot.

I have the information that I need regarding this topic. The 'fix' for the 'mismatch' issue is that the GameEx databases need to be updated and in a separate thread, Greatflash commented that it is something that is currently being worked on for the release of GameEx Evolution.

Marking this topic as Resolved.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...