[SOLVED] RocketLauncher can't read MAME genres for media?

Status
Not open for further replies.

Metalzoic

New member
RL Member
So the new naming convention in MAME database XML for sports titles is: Sports/Baseball, Sports/Bowling, Sports/Wrestling etc...
Since you can't use a "/" in the name in Windows, the media itself is named: Sports-Baseball.png, Sports-Bowling.png, Sports-Wrestling.png etc...

Even though one has the "/" and the other has the "-", Hyperspin puts them together just fine and displays the genre media as it should. Problem is RocketLauncher doesn't seem to read them at all. All the sports genres won't show the genre art on the fade screen because of the name difference. Why can HS decipher it and RL can't? Is this fixable in a setting somewhere? Is it a bug or an oversight? Is there no way to get it to display without renaming every sports genre across all of my systems XML's?

Thanks.
 

djvj

Administrator
Staff member
Developer
When did this new naming convention take place? I thought the genres were always that way in the xml? Is it only the filenames that have changed then?

If this change just took place, why would this be a bug or an oversight? It would just be a change that also needs to be made in RL.
 

brolly

Administrator
Developer
There's no new naming convention, sports genres have always been named like that. Not sure about the filenames though, I thought they were supposed to be named Basketball, Soccer, etc. only?
 

Metalzoic

New member
RL Member
Well when I said new I meant it seems to have changed at some point between MAME149 and MAME 160. My old MAME 149 database and matching media were named: Baseball Games, Football Games etc... and my media matched that exactly. They worked in both HS and HyperLaunch because the names matched. But Brolly's recent XML's (since 160 at least) the sports names are now: Sports/Baseball etc...

Yesterday I noticed that none of the sports games will show the genre art on the Fade screen so I tested it a bit. In HS even though the xml name and the media name don't match exactly (Sports/Baseball vs Sports-Baseball) it will still recognize it and display the art in the genres wheel along with the genre background HS media). However RL won't. You just get a blank spot on the Fade screen where the art should be.

I thought it might be a glitch or oversight because Brollys official XMLs have been named this way for a while, yet RL doesn't seem to be able to display it because it's named that way. That's all. Maybe I'm just missing something obvious?

I suppose I could take the XML when they're released and then rebuild them with the genres changed to "Sports-Baseball" so they work in RocketLauncher. Seems like that shouldn't be necessary though since HyperSpin can read them just fine without changing them.

There's no new naming convention, sports genres have always been named like that. Not sure about the filenames though, I thought they were supposed to be named Basketball, Soccer, etc. only?

I don't understand? When you say filenames are you referring to the genre media .png's? Because those are the names that seem to have to match the XML genre names.
EDIT: Ah, maybe you're talking about the RocketLauncher media download from this site? Yes the genre fade media in that pack is simply named Basketball, Soccer etc... however those names don't work either.
 
Last edited:

Metalzoic

New member
RL Member
I think I just realized why HyperSpin can read them and RL doesn't.
In the XML itself they're named with the slash-mark
Capture2.PNG

But the genre XMLs and list split out by Dons tools changes that slash-mark to a dash-mark. That must be what HS matches to the media names with the slash-mark
Capture.PNGCapture2.PNG

So I'm guessing that RL only looks at the full XML that uses the sash-mark and since the media name doesn't match it doesn't display it.
So the only way to fix it would be to change the full official XML's from a Sports/Sportsname format to a Sports-Sportsname format?
Or am I way off and overcomplicating it? Does the genre art work for you on the fad screen and if so what are your different files named?
 
Last edited:

bleasby

RocketLauncher Developer
Developer
Indeed RL will look for files named exactly like your database for genres.

As it is impossible to name a file using the slash, RL will never find the logo files for this genres.

There are three options for that:

1) You could move your sport genre logos to the "Sports" sub folder and if you have "Sports\Golf" in your database, RL will be tricked to search for the genre file on the "RL\Media\_Default\Genre\Sports\Golf.png" file path.
2) You could change your databases to have only file named allowed characters on the genre and other fields.
3) I could introduce a code change to RL to replace any found slash "\" to other character like your suggested dash "-" when searching for file names.

I am all for making the changes on the databases, but as I am not the one in charge for that the decision should be made by others.
I am all open to suggestions.
 

djvj

Administrator
Staff member
Developer
I like the idea of the subfolder but I feel as that can cause some confusion where users might have a forward slash and it doesn't work. I'm kinda thinking 3 would be the best route.

Sent from my SM-N910V using Tapatalk
 

brolly

Administrator
Developer
Why would users have a forward slash? At least for HS that should never happen, if it does we could replace it with \ on the RL side.

I actually like bleasby's first solution, just about perfect imo and will support a genre tree system which is what makes sense. #3 is in no way standard and probably only applies to HS.

And just to be clear these were always the official genre names something as "Baseball Games" was never a genre so you must have gotten that database off someone else which used some sort of custom genre names.
 

djvj

Administrator
Staff member
Developer
I'm fine with either. It wouldn't surprise me though to see forward slashes.
 

Metalzoic

New member
RL Member
Why would users have a forward slash? At least for HS that should never happen, if it does we could replace it with \ on the RL side.

The sports genres in the official XMLs are all forward slashes: Sports/Wrestling, Sports/Biking etc...
(like you see in my first pic in post #5)

So probably most everyones XMLs are forward-slashes, so the first solution wouldn't really work.

Wouldn't it be easier to simply change the official XML genre naming to simply be Boxing instead of Sports/Boxing etc... Isn't the Sports/ part unnecessary? And then no extra substitutions or folder weirdness would even be necessary.
 
Last edited:

djvj

Administrator
Staff member
Developer
Genres should have groups as well, this is not just for Sports either. What you are used to seeing in HS xmls doesn't mean that they use the best or only genre system out there. HS actually uses a highly simplified genre system. It has pros and cons.

Pros being it's more simplified to scroll through in a media-centric FE and could be easier for end users to remember
Cons though are hard to find a genre for many games as many titles start to not fit in one or the other. Less organized and disagreement by others who don't agree on a genre because it could go both ways in one or the other. Also doesn't allow much room for expansion.

We at RL always prefer a dynamic approach that can make everyone happy. So having a system that will support growth or be tighter for those FEs that don't see things the same way will always work.
 

brolly

Administrator
Developer
Ah yes forward slashes are what's used, I didn't really check it just saw bleasby's post and assumed it was a backslash. This only needs a simple character replace and bleasby solution will work fine anyway.

HS genre system is as basic as it could be (the Action genre for instance is a complete mess because it's so general), sub-genres are definitely a must.
 

bleasby

RocketLauncher Developer
Developer
I believe the only frontend independent option is to include at each frontend plugin a correspondence table between a RocketLauncher genre list and the frontend genre list.
So for example, in the HyperSpin plugin I could use to the genre logo the "RL\Media\Fade\_Default\Genre\Golf.png" path even if HyperSpin uses the genre "Sports/Golf" because the correspondence table would say that.
This will require to create a full RocketLauncher Genre structure. It will also require to know which genres each frontend supports and do the correspondence table. But this is the only way to avoid media duplicates on RL if, for example, HyperSpin uses something like Sports-Golf, gameex uses something like Sports_Golf and emulationStation uses only Golf.
I believe it is too much trouble for too little gain.

If we forget about that and allow media duplicates for different frontends, the only thing that I need is to know if you prefer to use subfolders when an unsupported file name character is found, or if you prefer to use simply a dash or underscore in their place.
Then, whenever I search for a genre file, I would simply preprocess the genre name in a function that would replace any invalid character by the desired substitution character, \ in the case of subfolder (replacing Sports/Golf for Sports\Golf), or if you choose to use underscores "_" for example seaching for the file named Sports_Golf.png.

By the way, right now the genre logo files are placed on the fade folder.
I also propose to move then either to the Media\Logos folder or even better to a Media\Genre folder so they could be independent of fade if they are used in the future in another feature.
Same thing with Manufacturer and Ratings logos.
We need to think which would be the best way to organize them.
 

djvj

Administrator
Staff member
Developer
Those are some good ideas bleasby. That would certainly be the way to make our genre system work with any other FE.

I don't care which system is used but a folder name structure keeps things clean looking and brolly likes that idea as well. So some character swaps would have to be done to make sure a backslash goes in right.

I agree those assets should be moved out of fade to their own folders in the root. User's won't like that though. Such is the price of progress. :rolleyes:
 

brolly

Administrator
Developer
Let's not get carried over with this just yet, I think your solution works fine bleasby no need to creating more mappings. The only problems right now are when windows invalid filename characters are used and these will most likely always be / or \. So simply replace all / with \ in the genre name and then use sub-folders. I like that solution and it keeps things cleaner than throwing all files into the main root folder especially when you have a more complex genre structure than the HS one.

Yeah totally agree with moving that folder out of fade, same goes with the Rating folder as I mentioned before. I'm sure our users can live with moving 2 folders from one location to another so better do this sooner than later.
 

bleasby

RocketLauncher Developer
Developer
So, backslash it is.

About the media folders, these would not follow the general RL media folder structure. The _Default folders wouldn't make that much sense for them.
If that is the case there is no way to support multiple alternative logos of the same genre, rating or manufacturer because the lack of folders to place them. Also an aleatory choice of them would be out.

Genre would be something like this:
RocketLauncher\Media\Genre Logos\Sports\Golf.png

Ratings something like this:
RocketLauncher\Media\Ratings\ESRB - M (Mature).png

and Manufacturer something like this:
RocketLauncher\Media\Manufacturer Logos\Atari.png

I don't like using a different structure for these media folders as all the others use the same until now, but I can't think on a good alternative. Let me know if you have any ideas. It makes any sense to include folders on Ratings and Manufacturer items to allow multiple logo alternatives?

Also, Ratings and Manufacturer are the better word for that media or there is something else that we should use?
 

djvj

Administrator
Staff member
Developer
Please remove the "Logos" from the folder name and try to stick to one word folders for the base media subfolders.

Manufacturer was an HS type. Do not use that. Use Publisher and/or Developer.

I don't really see the need for the same media folder structure for these, sticking with just the logos all in one folder should be enough?
 

Metalzoic

New member
RL Member
Wow, didn't mean to create work for you guys. I thought I it would be a much simpler fix.
Wouldn't changing all that file structure also mean that everybody would also need to rename their media on top of moving it all?

Brolly wouldn't it be easier if next time you do a MAME database you change the genres from the slash to use a dash: Sports-Hockey etc...
If you make that (or something similar) the new MAME XML standard, then making them work would be as simple as people just renaming their fade/_default/genre media to match.
 
Last edited:

brolly

Administrator
Developer
Please remove the "Logos" from the folder name and try to stick to one word folders for the base media subfolders.

Manufacturer was an HS type. Do not use that. Use Publisher and/or Developer.

I don't really see the need for the same media folder structure for these, sticking with just the logos all in one folder should be enough?
Agree 100% with all this, actually create both a Publisher and Developer folder. For HS since there's only Manufacturer you can first search in the Developer folder and then in the Publisher folder if not found as this is the usual rule to fill that one.

Brolly wouldn't it be easier if next time you do a MAME database you change the genres from the slash to use a dash: Sports-Hockey etc...
If you make that (or something similar) the new MAME XML standard, then making them work would be as simple as people just renaming their fade/_default/genre media to match.
Easier? If you think about MAME only sure, but not going to happen as I already told you those aren't the official genre names and I'm not going to create butchered databases neither change the genre names at this point. Besides you know there are a lot more databases besides MAME so that would require editing every single one of them. So in the end it would be a lot more work to do it that way... especially since it's going to be bleasby who will be doing all these fixes so no work for me at all :p
 
Status
Not open for further replies.
Top