RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Retroachievements: Custom sh script when returning from game?

    Scheduled Pinned Locked Moved Help and Support
    achievementsscripts
    13 Posts 6 Posters 1.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wimpy
      last edited by

      Finally managed it! :)

      Big area = md_image
      Bottom right corner box (Achievements) = md_marquee

      the md_marquee image (showing the achievement status) is generated using Imagicks and retroachievements API upon closing a game. Any eventual changes since last time is updated in the runcommand-onend.sh script before you re-enter the gamelist in Emulationstation.

      alt text
      marquee example:
      alt text

      The scripts and setup is a bit of a hack at the moment, but it works and I'm happy with that :D

      Anyone have any thoughts about this?

      dionmunkD mituM cyperghostC 3 Replies Last reply Reply Quote 5
      • dionmunkD
        dionmunk @wimpy
        last edited by

        @wimpy Great work! You've definitely taken what theming in ES can do to the next level with this. Pretty awesome.

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @wimpy
          last edited by

          @wimpy Ingenious ! Looks very nice.

          1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost @wimpy
            last edited by

            @wimpy really great

            1 Reply Last reply Reply Quote 0
            • W
              wimpy
              last edited by wimpy

              Finally done with this for now :)

              alt text

              The gamelist.xml entries have either a default "no achievements for this game" default <marquee> or, if they indeed have achievements, will have a game-specific generated <marquee> image showing achievement-status.

              These <marquee>imagesare generated each time a game is exited.The runcommand.onend.sh script fires a php script i've written that uses Imagick to generate the image and places it in the marquee-artworkfolder.

              The solution is not yet "deployable" on others setups at the moment as it heavily custom to my setup (all my games and xtras/artwork etc are in my own custom synopsis system), but once I get this to v2 or v3 it might be possible to lift out of my system and into other setups.

              My initial setup is to display 33 achievements. Up to 10 unlocked achivements + filling rest of spots with locked. Last unlocked achievement will be displayed focused (bigger).

              Here are two examples of the <marquee> images:
              alt text

              ###########################

              alt text

              Future updates I've planned:

              • Different marquee images layouts
              • Update script to also generate a custom ${system.name}-ra.png image to be shown on SYSTEM view to show x latest achievements unlocked across all games in specific system.

              Any other inputs or tips for furthering this setup?

              Quite happy with this so far and just wanted to update :D

              1 Reply Last reply Reply Quote 0
              • stooS
                stoo
                last edited by

                Awesome work.

                If you ever get this more generalised and deployable on other systems I'll be installing it pretty much immediately.

                W 1 Reply Last reply Reply Quote 0
                • W
                  wimpy @stoo
                  last edited by wimpy

                  @stoo That is cool to hear and that is my "endgame"-goal with this project :)

                  1 Reply Last reply Reply Quote 0
                  • W
                    wimpy
                    last edited by

                    Right now my system relies on me matching games one-by-one against the RA's gameid to my local gameid in my database.

                    Does anyone know if there is a way for me to read the gamehash retroachievement is using in retroarch inside the runcommand-onend.sh file?

                    (I know I can calculate the hash from "$3 - the full path to the rom file.", but if I understand retroachievements hash-system correctly it does not always use the hash of the romfile itself, but some calculated inside RA after reading the rom with/without header.. which might differ from a bash-calculated hash of the file itself..?)

                    If that is possible it might be possible for me to create a more general "hashlist=>retroachievement-gameid" list instead of having to rely on my personal synopsis system, which in turn makes this a more portable solution.

                    Here is an example of a 1:1 match that allows me to automatically match my rom file-hash against hashlists from RetroAchievements-Api..
                    alt text

                    However; With Super Mario Bros. for NES where one supported hash is 811b027eaf99c2def7b933c5208636de (check http://retroachievements.org/viewtopic.php?t=282) it does not match anything from the RetroAchievements-Api as it's using one of these inside RetroArch:
                    OLD RA Checksum: ff02b25112d3a3163db10e332841b02c
                    NEW RA Checksum: 8e3630186e35d477231bf8fd50e54cdd
                    These are not hashes I can calculate myself it seems.

                    Why the API does not return the hash 811b027eaf99c2def7b933c5208636de I am yet to know, but I've made enquires as to why and/or if it can be fixed in the Api.. but if that does not pan out this would/could be fixed if I was able to get the "hash used inside retroarch for retroachievements"..

                    Hope someone understands my ramblings :D

                    1 Reply Last reply Reply Quote 0
                    • W
                      wimpy
                      last edited by

                      For those interested Ive not updated this script to not only show retroachievements, but also any eventual savestates found for the game on the retropie system.

                      alt text

                      It also updates as soon as you exit a game.

                      W 1 Reply Last reply Reply Quote 1
                      • W
                        wimpy @wimpy
                        last edited by

                        reason the png looks like that is because i made to fit into my updated theme.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        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.