Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Favorites for EmulationStation



  • I can see all points of view to this discussion. Here are my final thoughts and requests:

    1. Make the update so that it can be turned on/off - if i choose not to support it in my theme, then the user can either not use it, or deal with the default settings.
    2. Do not use a left or right alignment in the actual gamelist text box itself. Per the video that @pjft shared, the symbol did not appear as part of the gamelist, rather it appeared above the metadata fields as icons. This will allow my theme to use a centered alignment, it will allow @ruckage to have his gamelist text fit within his wonderful outlines. It keeps our gamelist clean and crisp and a single text we can control.
    3. Create the icons using whatever method you prefer for the time being. If that is text, that is fine. I can find a place to put those icons, if i have too, i can put them down at the system help bar, as long as I can move them, and hopefully control color, i can agree to getting an update out there and refining later.

    Do any of these requests align with any thoughts you guys are having? Is it difficult to take they icons out of the gamelist and have them as separate elements like in the video shown? Thanks for your time and patience. Speaking for myself, and maybe @ruckage - we have spent the better part of the last few months creating themes that are nearing completion, it is hard to see a new update come out that might not incorporate into our hard work. That said, the new update looks awesome and i would hate to stop it from releasing, and also stop users from either using the update because they want to use a certain theme, or the opposite, stop using a theme because they want the update.



  • @TMNTturtlguy Well writen
    Even though I'm not you, @ruckage or any other creator of any awesome theme I've to say that this sounds quite good and seems to be a good compromise! Defenitily waiting for those features so I can add them to my fav theme (nbba)! :-)



  • @Syhles said in Favorites for EmulationStation:

    @cafarellidigital
    I want to make one thing clear I'm not complaining, I'm stating my opinion on the matter. Also you know what this is right "?" This is a question mark, meaning I'm asking a question. Doesn't necessarily mean that I'm saying we're wasting time or effort, it means I'm asking if we are.

    I didn't say or think that you were complaining, I was just responding to your post regarding whether it would be worth it to wait until the full implementation can be achieved. It's a valid question to pose, and I was merely offering an alternative perspective.



  • Wow, that was quite a flurry of posts to get through. Unfortunately I was asleep during it all (it all happened at 2am for me), so I couldn't give my input.

    I'm going to refer to this current Mod as the Filter Mod.

    The way I see it, we can split this into 2 main issues:

    • How to display new metadata tags, namely:
      • "Favourite"
      • "Kid-Friendly"
      • "Hidden"
    • How to display Folders.

    Each of these have their own sub-issues, so I'll try to do this in an orderly manner.


    New Metadata Tags

    This seems to have 2 main parts to it:

    • How to display the tags on the single game screen.
    • How to display the tags in the <gamelist>.

    The first issue is pretty simple to solve, so I'll start with that.

    The existing Kid-Friendly Mod uses icons to show which of the 3 metadata tags apply to each game. These icons are set up as <image> elements, with all the applicable <image> properties, like this:

    <image name="md_favorite">
      <pos>0.470 0.620</pos>
      <maxSize>0.03 0.055</maxSize>
      <origin>0.5 0.5</origin>
      <path>./art/icon_favourite.svg</path>
    </image>
    

    And it comes out looking like this:
    Imgur

    I see no reason this can't be done for the next round of this new Filter Mod. If needed we can wrap them in <feature supported="filter_meta"> so they don't break older versions of ES.

    The only "Con" that I can see to this approach is that you need to scroll to a game to see if it has any of these metadata tags active. This is not really a big issue, but is a little annoying.

    That leads quite nicely into the next issue, of how to display these tags in the <gamelist>. This is a much more difficult question to answer, and so far has had quite a few repsonses. I'll list them below, along with some other options.

    1. Do nothing.

      • Don't show any tags in the <gamelist> and just leave it as is.
    2. Display the tags as various characters before the entry name.

      • "*" = Fav
      • "~" = Kid
      • "^" = Hidden
      • "#" = Folder
      • The Filter Mod already adds a "*" to favourites, so it shouldn't be hard to add to the other tags. This is functional, but not pretty.
    3. Customise an existing font.

      • Starting with #2 above, we can customise an existing font so the "*" character is a "star" icon, the "#" is a "folder" icon, etc.
      • Pro - you can make them look exactly how you want
      • Con - making/customising fonts, while not difficult, can be fiddly and annoying and not something every theme maker will want to do.
    4. Use icon fonts.

      • Instead of using characters like #2, we can use icons from the Font Awesome icon set (or some other font icon set).
      • I would imagine each tag would have a default icon that the theme maker can override if they so desire.
      • I don't know how difficult this would be to implement.
      • I don't know if the icon could be themed separately to the text in the gamelist (colour, size, etc).
      • Con - you are limited to the icons in the set, and if the icon you want to use isn't there, then you are out of luck.
    5. Add an image.

      • This one gives the theme maker the most freedom.
      • I imagine this uses a basic <image> tag, but sets the size and position automatically, based on the text in the <gamelist>. You just need to set the <path> and <color>.
      • I have no idea how hard this is to implement.
      • Maybe it can piggyback on #2? Whenever "*" is used in the <gamelist>, replace it with <image name="md_gamelist_favorite">?
    6. Utilise the single game icons mentioned above.

      • This is the same as #5, where the image replaces the characters from #2, except using the existing <image name="md_favorite">, <image name="md_kid"> and <image name="md_hidden">. All you need then is a <image name="md_folder">.

    Folders

    All the <gamelist> stuff mentioned above is valid for Folders too, and as this thread isn't really about Folders, I'll try to keep this bit brief.

    The main issue I see with Folders, is where to have them in the <gamelist>. The default functionality is to have them alphabetically inline, which works well for CD systems that might have some single games in folders and others out of folders.

    However for older consoles, I would usually want to have the folders at the top of the list like a normal file explorer. I'm curious if anyone would want an option in the settings to change this order on a per system basis? Or if it would be hard to implement?


    @Zigurana: I just want to point out that none of the images from the Child-Friendly page of the wiki are working. I don't know if this is an issue on your end or not, but I thought I'd bring it to your attention.


  • administrators

    @mattrixk @Zigurana just as a note since Dropbox links break a lot, you can upload screenshots to any issue tracker on GitHub and copy the generated image urls for the GitHub wiki. Bit of a hack but none of my images have disappeared yet



  • @herb_fargus Good to know. I have an Imgur account that I've used solely for RetroPie stuff.



  • I may have missed something, but I don't see how using Font Awesome would work for the gamelist. Wouldn't we still have to render 2 different items. The game name itself in one font and then the favorites icon in a different font? At that point it doesn't really seem like much difference in effort between rendering the icon as a font vs. an image.

    Or is the idea to require theme makers to edit the font they are using for the gamelist to include the icons? I am not really a fan of this approach, but if that is the way we decide to go, one option to make it more flexible would be to allow theme makers to specify which character to use for each icon. That way if they don't want to show an icon, then can set it no no value.



  • I meant to say it in my last post, but the lists above were meant to just be lists of different ideas that have been mentioned, and not intended to be an endorsement of any one idea over another.

    @jdrassa I liked the icon font originally, but the more I thought about it (and read comments) the less I think it works. I don't know anything about the implementation side of things, but it just seems too limited. I had a pretty thorough look and couldn't really find anything that could represent "child friendly", and that's not even getting into if you want to have different styles of icons (eg: pixel icons).



  • @mattrixk
    You summed it up quite good. It isn't hard to implement the things you want right now (I mostly did by now)...
    In addition: It isn't that hard to create a new font with some nice looking symbols in it.. Convert your current ttf into svg and use some website like icomoon or something or whatever you want, it schouldn't be that hard

    Add an image. and Utilise the single game icons mentioned above.

    These are the hardest parts or me, I couldn't figure that one out (I'm not an expert if it comes to coding in c++... so all I did until now I learned from pull requests and uploads :-) )



  • @jdrassa The way I see it, from my limited knowledge point of view, is that it should be easier to align the icon with the corresponding text entry in the gamelist if it's a font (you can just render it inline) rather than a separate icon element that you need to explicitly render at a different location trying to guess which gamelist entry is selected at a time.

    Then again, I don't know enough of the components in question to confirm that'd be the case. And, certainly, it's not that it can't be done, but just something to bear in mind.

    @mattrixk fantastic post. Thank you for taking the time! I'll comment further if I have anything to add when I'm on my laptop later today.



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.