EmulationStation Sort Name and Display Name
-
Something I'd love to see implemented in EmulationStation is the ability for ROMs to have a separate Sort Name and a Display Name.
For instance, the actual titles and release order of Sega Genesis Mortal Kombat games goes as such:
Mortal Kombat
Mortal Kombat II
Mortal Kombat 3
Ultimate Mortal Kombat 3But when sorted alphabetically it becomes:
Mortal Kombat
Mortal Kombat 3
Mortal Kombat II
...
Ultimate Mortal Kombat 3There's many other examples as well, such as the NES Zelda games, Rocket Knight Adventures / Sparkster, the Jungle/Desert/Urban Strike series, the Spyro series, the Bonk series, etc.
If we had the ability in the gamelist to define a separate Sort Name for each ROM, we could fix these issues, like so:
Mortal Kombat 1
Mortal Kombat 2
Mortal Kombat 3
Mortal Kombat 3 UltimateAnd the Display Name would retain the games' actual titles.
However, since the scrapers use databases that do not contain a separate Sort Name from Display Name, by default they could both be identical in the gamelist metadata. It would be up to the user to change it according to how they like it.
What do you think? Would you like to see this implemented? Personally, I would like to keep ROMs from a series in order, regardless of how they are named.
-
@cafarellidigital Maybe you'll like to know that the feature discussed in this topic was recently added to the official RetroPie emulationstation. You just have to update emulationstation on your pi.
It's not exactly what you are asking, but I think it can help.
Cheers!
-
@meleu
Thanks for your reply, I am aware of that update, but that is a sorting filter, where as my suggestion is the how the list would look by default, without a filter.PLEX has this feature, and it's a life saver for movie series not titled with numbers. I'd love to see it in ES.
-
I'm going to try and raise interest in this again, because I'd love to see it implemented. To be clear, this is NOT a sort filter. It's a way to customize the gamelist order with the intention of maintaining the proper game titles as well as their order in their respective series.
Here's what a mock gamelist.xml could look like:
<game> <path>./Mortal Kombat.bin</path> <name>Mortal Kombat</name> <sortname>Mortal Kombat 1</sortname> ... </game> <game> <path>./Mortal Kombat II.bin</path> <name>Mortal Kombat II</name> <sortname>Mortal Kombat 2</sortname> ... </game> <game> <path>./Mortal Kombat 3.bin</path> <name>Mortal Kombat 3</name> <sortname>Mortal Kombat 3</sortname> ... </game> <game> <path>./Ultimate Mortal Kombat 3.bin</path> <name>Ultimate Mortal Kombat 3</name> <sortname>Mortal Kombat 3 Ultimate</sortname> ... </game>
Which would display in ES as:
Mortal Kombat
Mortal Kombat II
Mortal Kombat 3
Ultimate Mortal Kombat 3 -
@cafarellidigital as a workaround (while this feature isn't implemented) you can use subfolders and symbolic links to the ROMs.
-
@meleu said in EmulationStation Sort Name and Display Name:
@cafarellidigital as a workaround (while this feature isn't implemented) you can use subfolders and symbolic links to the ROMs.
Thanks for the suggestion. I don't like the idea of using subfolder or links like that (not for me, at least), though I did think of another workaround (that's possibly insane).
Essentially you would number every game in the order you want them to appear, and insert that number at the beginning of every game name in the gamelist.xml. Then you'd modify the font you're using to make numbers invisible and take up almost no width space. Then for titles that actually need numbers, substitute an unused character for those numbers and use those characters in the gamelist.xml for numbers you want to see. It's ridiculous, but it's a way to get what I want. The only problem is that, obviously, it's not very open to new games being added, and everything needs to be manually edited.
The gamelist.xml would look something like this:
<game> <path>./Mortal Kombat.bin</path> <name>22 Mortal Kombat</name> ... </game> <game> <path>./Mortal Kombat II.bin</path> <name>23 Mortal Kombat II</name> ... </game> <game> <path>./Mortal Kombat 3.bin</path> <name>24 Mortal Kombat #</name> ... </game> <game> <path>./Ultimate Mortal Kombat 3.bin</path> <name>25 Ultimate Mortal Kombat #</name> ... </game>
With the "#" symbol being replaced with "3" in the font, and the 22, 23, 24, 25 being invisible in ES.
It's a lot of work, but it's the only workaround that I can think of that would give me the result I want.
-
See my post here and tell me if this helps you:
https://retropie.org.uk/forum/topic/12641/skipping-the-in-sorting-game-titles-in-emulationstation/ -
@joemommasfat Thanks for your reply! I'll watch that thread with interest! I consider the addition of the metadata tag "sortname" as vital for any well-organized collection of games. It's such a simple and useful tool to maintain actual game titles as well as release order.
BTW, for the past few months I've been using my own method for achieving what I wanted. It's not as insane as my earlier post, but it does require a certain level of obsession.
I realized that the vast majority of games organized quite well, and only a few were "out of order", like my Mortal Kombat example above. So I only needed to affect those games, while leaving the rest intact. This led me to abandon the "22... 23... 24..." idea. But I was still thinking about using fonts to solve the issue.
Then I remembered that Unicode has characters that do not display (or just look like spaces). Since these would show up at the end of an alphabetical sort order, I can use them to re-order select objects.
So I looked it up, and saw that I can use the following codes for these characters:
t​ t‌ t‍ t‎ t‏ t‐
And this is how I used them...
<game> <path>./Mortal Kombat.bin</path> <name>Mortal Kombat​</name> </game> <game> <path>./Mortal Kombat II.bin</path> <name>Mortal Kombat‌II</name> </game> <game> <path>./Mortal Kombat 3.bin</path> <name>Mortal Kombat‍3</name> </game> <game> <path>./Ultimate Mortal Kombat 3.bin</path> <name>Mortal Kombat‎3: Ultimate</name> </game>
Since the "space characters" show up before the game numeral, and the "space characters" increase, they show up in alphabetical order. All I needed to do now was modify the font I was using to make the "space characters" use the same data/display as a regular space. I did this by opening the font I was using (in this case it was DIN) in a font editor, copying the "glyph" for a regular space, and pasting it into the correct spot for the "space characters" I was using.
It has actually worked out quite well for me. Unfortunately, it doesn't work with every instance of odd series naming. For example, MK3 Ultimate doesn't work perfectly (It should be called "Ultimate MK3"). Also "Rocket Knight Adventures" and "Sparkster" aren't in the correct order (annoyingly separated by Sonic's games). But this is a large step forward for me, and something I can work with for now.
Here's some other examples that I've done this with...
Name in gamelist.xml Name (and order) as displayed in ES Sonic​the Hedgehog Sonic The Hedgehog Sonic‌the Hedgehog 2 Sonic The Hedgehog 2 Sonic‍the Hedgehog 3 Sonic The Hedgehog 3 Sonic‎& Knuckles Sonic & Knuckles Sonic‎& Knuckles + Sonic 2 Sonic & Knuckles + Sonic 2 Sonic‎& Knuckles + Sonic 3 Sonic & Knuckles + Sonic 3 Pokémon​Red Pokémon Red Pokémon‌Blue Pokémon Blue Pokémon‍Yellow Pokémon Yellow Pokémon‎Gold Pokémon Gold Pokémon‏Silver Pokémon Silver Pokémon‐Crystal Pokémon Crystal Super Star Wars​ Super Star Wars Super Star Wars‌- The Empire Strikes Back Super Star Wars - The Empire Strikes Back Super Star Wars‍- Return of the Jedi Super Star Wars - Return of the Jedi Spyro​the Dragon Spyro the Dragon Spyro‌2: Ripto's Rage! Spyro 2: Ripto's Rage! Spyro‍: Year of the Dragon Spyro: Year of the Dragon
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.