Nice MAME2003 overlays repository
-
@backstander Right, that's another option. I also proposed this approach when we started this project; not sure it's better. It's @meleu's decision now ;-)
-
OK guys. This brainstorm was good. I am very strict in adhering to the KISS principle, so no xml files for a such a simple task, please! :)
But you guys gave me an idea. Here's my proposal:
Every single overlay directory must have a file named
info.txt
with the following content (example for Aliens):# yes, we can have comments here rom_config = "aliens.zip.cfg" overlay_config = "aliens.cfg" # multiple values separated by semicolon overlay_image = "aliens_udb_1-ovl.png; aliens_udb_2.png" rom_clones = "aliensa; aliensj; aliensu"
Many problems will be solved if we start using such a file!
-
@meleu said in Nice MAME2003 overlays repository:
Well, I was holding back myself from asking you to do an overlay for Cadillacs and Dinosaurs. :-)
It's one of the most played by kids (and grownups too) when visiting my home.Here it is:
Cadillacs and Dinosaurs overlay now available in the Repo.
Took a while to find, select and edit the right images.. these graphics are so great.
Never seen any Mark Schultz artwork before; thanks for making me discover all this! -
@meleu OK, agreed.
So this also means "Option X" subfolders will have their own info.txt; correct ? -
So this also means "Option X" subfolders will have their own info.txt; correct ?
I think it's better to use only one info.txt for each game. If we stick with the
info.txt
approach, all the rules we defined become guidelines. The final word will be in the info.txt file. Therefore we don't need a subfolder for the optional config files. It could be, for example,RomName_opt1.zip.cfg
(actually the name pattern will be completely irrelevant to the script, since it will get the info from the info.txt file).I'll try to write the rules for the info.txt and submit to the repo. But here is an example for the Burning Force (the game that has more art in the repository).
rom_config = "burnforc.zip.cfg" overlay_config = "burnforc.cfg" overlay_image = "burnforc_udb-ovl.png" rom_clones = "burnforco" launching_image = "burnforc-launching.png" scrape_image = "burnforc-image.png" rom_config_1 = "Option 1/burnforc.zip.cfg" overlay_config_1 = "Option 1/burnforc.cfg"
-
@meleu Makes sense. One file does it all.
-
-
@meleu Well done, thanks.
I think I'll create some vba code (own use) for my rom resolution db so that it generates cfg files and info.txt automatically; will speed up overlay creation process. -
Another challenge for @meleu's script is that the non arcade ROM filenames are not static like the MAME/FBA/Arcade ROM filenames. For example: @UDb23's Game & Watch Gallery 4 overlay for GBA assumes that the ROM is named "gwg4.gba" but like on my system, that ROM is named "Game & Watch Gallery 4 (USA).zip" and there could be a million variations to the name of this one ROM.
I know I can just easily rename it with
mv gwg4.gba.cfg Game\ \&\ Watch\ Gallery\ 4\ \(USA\).zip.cfg
but the whole reason to use this script is to make this process much easier and also for the Linux noobs that don't have a clue about manually renaming files.One solution could be comparing hashes/CRC/MD5 but this might open a new can of warms. Also since RetroArch now supports 7zip, if we compare hashes, then the script would also need to look inside of Zip's and 7zip's to calculate the hashes for every ROM/file in that directory.
Just some food for thought!
-
@backstander You would also have to have a database or huge file list of what each game's hash should be to match.
-
@backstander I thought about it. The script will use
game_name
from info.txt to try to find the rom name (file system itself and gamelist.xml) and let the user choose in a list of probable options. -
The script will use game_name from info.txt to try to find the rom name (file system itself and gamelist.xml) and let the user choose in a list of probable options.
If the ROM is scraped and in the gamelist.xml that might be a really good way to find a match. I can see this way working for "Game & Watch Gallery 4 (USA).zip" but maybe not so well for un-scraped "gwg4.gba". Maybe add a small first check to see if the
ROM.xxx.cfg
filename is an exact match withROM.xxx
and if it isn't, then do the checks you mentioned above.@backstander You would also have to have a database or huge file list of what each game's hash should be to match.
Well, we would only need to do this with non-arcade ROMs and would just need to find all the acceptable/known hashes for that one game and put them in the
info.txt
like this:rom_hash = "64565415624615241652126; 79495795464654; 54654654"
(note: those are made up hashes)
-
@backstander OK. The script will use 3 methods:
- exact match with
rom_config
from info.txt (without the trailing.cfg
). - try to
find
something using thegame_name
from info.txt. - try to find something in gamelist.xml using the
game_name
from info.txt.
But using hashes is a severe agression on the KISS principle. :-)
- exact match with
-
@meleu Yes, we should keep this absolutely simple. I would suggest to avoid hashes. Complexity to manage would be too big for the scope.
The script, getting the name from the info.txt, could simply tell the user what is the required rom name and suggest manual renaming. ROM folders are accessible thru Samba shares so even a beginner user can access and rename. -
When it comes time to make a Wiki/Docs page about this script, we'll have to remember to put something about the names have to match in the troubleshooting section ;-)
-
@backstander Good suggestion; yes this should be underlined.
With @meleu's proposed 3 methods I hope we'll be able to automatically match rom names in most cases. -
@backstander I was reading a book today and faced a quote from Ralph Waldo Emerson that made me remember our brainstorm here:
We ascribe beauty to that which is simple; which has no superfluous parts; which exactly answers its end(...)
Cheers! :)
-
@Graboid said in Nice MAME2003 overlays repository:
I tried, not sure what I did wrong, but no folder in the Space Invaders!
Did you manage to create it ? Need support ?
I haven't found any Pull request from you. -
Yes, could you step me through creating a folder in the Space Invaders folder please. I'm not used to Github. Thanks.
-
@Graboid I'd suggest you create a new Fork so we make sure you have a your own updated "copy" of the overlay repository. Once done you can add folders and your overlay files.
Let's take the example of Space Invaders.
If you click on that folder it should look like this:
There is no command to create a new (sub) folder so you need to use the trick also @meleu suggested.
Click on "create new file" button; you get this:
In the "name your file..." box write "nameofnewsubfolder/test.txt".
As currently no optional overlay exists for Space Invaders, the new subfolder should be called "Option 1".
This will create test.txt AND the subfolder that contains it.
Now you can click on the subfolder to open it.
From there you simply use "upload new file" button to add files from your PC.
After upload you can delete the "dummy" test.txt file.
Please follow new naming convention; I will then update the info.txt file.One you have uploaded all your files you can make a "pull" request and I can Merge it with the main repository.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.