@mitu Yes this is a quick hack for people running ROMs from NAS. Specifically, for accessing via SMB shares. stat() has no speed problem with local ROM collection at all. If we look at it further, may be there's a better solution.
@Rion Thanks. I used your files. Really useful. Especially the multi bat is very useful in my setup.
I was toying around yesterday with clrmame and romcenter to organise a 0.78 file, but I found it quite hard for a noob. Your files do help a lot !
Maybe you could host your scripts on GitHub and hopefully the community would contributes and help you add new features.
Might be better to have short games that take a couple hours to finish unlocked for a day but maybe longer RPG style games should be unlocked for several days? I'm not sure if your friend likes to focus on RPG's to finish them or if he plays RPG's at all. Maybe RPG's only unlocked over the weekend and have a small handful of unique shorter games unlock each weekday (like different ones every weekday)?
Haven't been on the forum in awhile and happened to be looking around and saw this. Not sure if you're still looking for info on this.. but i'm a big fan of romhacks, I found the biggest obstacle to be creating the gamelist. Getting a nice romhack list setup in ES or Launchbox takes a fair amount of manual effort.
Obviously none of the scrapers will scrape & create gamelists for you because their romhacks and there is no official list, but if you have romhack naming convention figured out how you like and have them all named, you can get a base XML created from Unviversal XML Scraper (https://github.com/Universal-Rom-Tools/Universal-XML-Scraper/releases) and go from there. I name my romhacks like this:
In ES, I created separate "systems" for romhacks and even English translated roms if I felt there were enough to warrant it. to create the separate systems, I copied the system from the theme folder, renamed it and edited the theme.xml to replace the "ControllerOverlay" art & "logo2" art with a different image (both are normally the controller.svg file, I just a png image, which..mine doesn't line up perfect, but it's good enough for me) so when you're scrolling through you can differentiate between them easily.
You also need to edit the es_systems.cfg and copy the system you want, and rename the affected fields for that.
So for SNES, I actually have 4 different systems in my Carbon ES theme folder, and in the ROMS folder:
For filling in the gamelist fields for each hack, I just kept it simple and did a description, I didn't worry about year/developer/etc. And I just used the box of the original game as the image, I didn't try to find screenshots or specific box art for romhacks.
As far as your question on patching, I can't really answer that, I pre-patch all romhacks, I'm not sure if emulators can do on-the-fly patching or not. Also compress roms as .zip, just normal compression rate, nothing crazy.
I'm sure there are easier/better ways to do some of this stuff, but this is what I came up with at the time. Hope this info is useful to someone.
Added a 'Rate me' button to rate a game and send the rating to Screenscraper. You must have an account on screenscraper and that it is entered in ARRM. See: https://streamable.com/ybzx86
Support for <kid>, <adult>, <id> (Screenscraper Game Id) tags
Addition in the 'Information Rom' Panel of the GameID, Kid and Adult fields
Addition of a 'Use GameID' checkbox which allows, when the GameID is entered, to search in priority with the GameID on Screenscraper. (it is possible to force the scrap of a particular game by entering its gameid and checking 'Use GameID'
Addition of an option 'Html condensed without image' when creating the HTML file, allows to have a display in the form of table without image. See : https://streamable.com/shfa5m
Reorganization of tags in the gamelist (more readable)
Removal of the unnecessary 'Box 3D' checkbox: the choice of the boxart format is made in the "Assignment of media screenscraper" menu
Correction of a bug in the replacement module: modification of a value of a field
Bug correction: when Mix and Recover Video were checked, the video was retrieved twice
The above is an example for creating a gamelist XML for Playstation (PSX). For the other systems, the working directory needs to be changed with a command such as cd ../snes/ before running the scraper.
For arcade roms, remember to include the -mame parameter in the scraper command.