• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login

EmulationStation mod

Scheduled Pinned Locked Moved Ideas and Development
mod
340 Posts 49 Posters 336.4k 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.
  • H
    herb_fargus administrators
    last edited by herb_fargus 18 Aug 2016, 08:03

    @lilbud I've updated your theme a tad to optimise the space in the gridview list (source here: https://github.com/HerbFargus/es-theme-material/tree/gridview):

    here are a few examples (set at 0 pixels):

    Boxart

    gridview

    Screenshots

    gridview-screenshots

    Personally I feel that overall screenshots are a better standardised layout for gridview in terms of dimensions. (see my solution for that HERE

    A few caveats:

    • the origin doesn't work in the theme because it treats it as a text value which doesnt have the origin option, as a consequence I had to put the game title on the bottom because if I put it at the top I couldnt have 4 rows without it covering the titles. It barely fits at the bottom, which means you need to disable your help text from the start menu in emulationstation. I suppose you could keep the top instead with the system logo if you like and just remove the first row of the grid as well.

    • For the most part I see this as a temporary solution as there are plans to set the game titles under each image, Once that's incorporated I may add the system logo back and go back down to 3 rows instead of 4.

    Another interesting theme idea is to set a panel on the left side with the logo vertical... That may actually look pretty cool. I'll have to try that out.

    If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

    Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

    1 Reply Last reply Reply Quote 0
    • J
      jdoolin @InsecureSpike
      last edited by 18 Aug 2016, 11:23

      @InsecureSpike said in EmulationStation mod:

      @jdoolin said in EmulationStation mod:

      It also occurs to me that if we save system data in the database, we may no longer need es_systems.cfg. Is it a convenience for some people to be able to edit es_systems.cfg? I've never done it myself, only referred to it.

      i for one would much prefer es_systems to stay the same, as i have around 10 custom entries

      It occurs to me that I worded that poorly. I was pretty tired at the time. :-)

      It's not that you wouldn't be able to have custom entries, there would just have to be a way of editing those entries in the database.

      1 Reply Last reply Reply Quote 0
      • J
        jdoolin @Zigurana
        last edited by 18 Aug 2016, 11:44

        @Zigurana said in EmulationStation mod:

        @jdoolin :
        Hey, that's great to hear! Make sure you look at Aloshi's initial attempts to an SQL db for ES (branch). Also in the (many) issues and PRs for that repo, I think I've seen people posting fixes and or enhancements for that implementation, so it might be worth it to spend some time searching the Upstream.

        Oh, excellent. That will be a perfect reference. I already started looking through the code in your branch so I'm starting to see how things fit together. Seeing Aloshi's attempts at SQL will only speed things up, so thanks for that.

        One thing we need to have well in place, is a robust conversion from the XMLs to the database. Not only for the initial stransition, but also for smaller updates of ones metdadata descr. I assume that many of the tools we use (eg. sselphs scraper) will only be able to work with the xmls, so there will likely never be a clean break from one approach to the other. A strategy is needed to cope with that.

        I basically wrote an early version of this last night. I'll add error checking and reporting, make it as general as I can and have it use es_systems.cfg instead of a directory listing in ~/.emulationstation/gamelists.

        I could also attempt a replacement scraper as well, that would dump directly to the SQLite db. I used to write scripts like that for a living too.

        1 Reply Last reply Reply Quote 1
        • L
          lilbud @Rookervik
          last edited by 18 Aug 2016, 19:29

          @Rookervik How do you think I made the Material Theme?

          Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

          Backlog: http://backloggery.com/lilbud

          R 1 Reply Last reply 18 Aug 2016, 21:10 Reply Quote 0
          • R
            Rookervik Global Moderator @lilbud
            last edited by 18 Aug 2016, 21:10

            @lilbud Hmm?

            L 1 Reply Last reply 18 Aug 2016, 21:29 Reply Quote 0
            • L
              lilbud @Rookervik
              last edited by 18 Aug 2016, 21:29

              @Rookervik Work on the theme.xml and restart ES everytime I made a Change

              Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

              Backlog: http://backloggery.com/lilbud

              M 1 Reply Last reply 18 Aug 2016, 22:28 Reply Quote 0
              • M
                mattrixk @lilbud
                last edited by 18 Aug 2016, 22:28

                @lilbud said in EmulationStation mod:

                Work on the theme.xml and restart ES everytime I made a Change

                Instead of restarting ES each time to see any changes you made to your theme, you can just switch to another theme and then back to your WIP theme. It should be a lot faster than restarting ES.

                ... Unless I completely misunderstood what you were saying...

                My ES themes: MetaPixel | Spare | Io | Indent

                1 Reply Last reply Reply Quote 0
                • M
                  mattrixk @jacobfk20
                  last edited by 19 Aug 2016, 01:33

                  @jacobfk20

                  Okay, total noob question, but is there a step by step on how to get this set up on a PC?

                  • I have a windows PC with a portable version of ES. Can I set it up on that?
                  • Or I can set up Linux Mint on a virtual machine, but then I need instructions on how to install ES on there, as well as installing your Grid View mod.

                  Can anyone help me out with this? I want to update my themes to work with Grid View, but I need to be able to do it on my PC because I don't really have access to my Pi for the length of time I would need (it's mainly my media center).

                  My ES themes: MetaPixel | Spare | Io | Indent

                  1 Reply Last reply Reply Quote 0
                  • J
                    jacobfk20
                    last edited by 19 Aug 2016, 01:49

                    @mattrixk I actually haven't compiled a windows build yet. I tried yesterday but I would get a ton of compilation errors that other people are apparently having on upstream as well. I'll let you know when I get a windows build up and running.

                    M 1 Reply Last reply 19 Aug 2016, 02:30 Reply Quote 0
                    • J
                      jdoolin
                      last edited by 19 Aug 2016, 02:04

                      I'm updating the database schema to use all of the fields in es_systems.cfg. So including the few I've added, the systems table now has the following fields, with example data:

                      • name (snes)
                      • fullname (Super Nintendo Entertainment System)
                      • path (/home/retropie/RetroPie/roms/snes
                      • extension (.bin .sfc .fig .zip...)
                      • command (/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS snes %ROM%)
                      • platform (snes) used for scraping
                      • theme (snes)
                      • developer (Nintendo)
                      • release_date (August 23, 1991)
                      • description (The SNES was the successor to the wildly successful SNES. Using a 16 bit blah, blah, blah)

                      The three fields I thought to add are in bold. If anyone has any other suggestions for the systems table or the database in general, let me know. Obviously, the leaner the database the better, but if adding features doesn't cost too much, great.

                      B 1 Reply Last reply 19 Aug 2016, 23:50 Reply Quote 0
                      • M
                        mattrixk @jacobfk20
                        last edited by 19 Aug 2016, 02:30

                        @jacobfk20
                        I'm okay with it not working for Windows, but I could do with some instructions on how to get both regular ES and your Grid View Mod working on a Linux virtual machine (I've found some instructions on how to get Linux Mint 16 running on a VM, and it looks pretty straight forward) if you have the time.

                        @jdoolin
                        Maybe a path to a system image? Either a picture of the console, or of the controller like in Carbon theme? It's not really essential as they can be added pretty easily in the theme.xml with an extra="true" tag, but I just thought I'd put it out there.

                        My ES themes: MetaPixel | Spare | Io | Indent

                        1 Reply Last reply Reply Quote 0
                        • J
                          jacobfk20
                          last edited by 19 Aug 2016, 02:50

                          @mattrixk This is from memory, so here goes nothing...
                          When I was taking photos for this thread initially I did it on ElementaryOS running on an old pc. I compiled on there but on linux its vary simple. On first it should create a .emulationstation directory with an es_systems.cfg in your home folder (may be hidden) it will have a example system in there (nes) and a location to put roms. put roms in that folder (will have to create those folders most likely) Once you have that it should boot like on the pi, but you'll only have NES. It won't run any roms, but you can at least test themes on there.

                          To compile:
                          Just download the zip of my Gridview fork https://github.com/jacobfk20/EmulationStation/tree/Gridview
                          and follow the directions for "building" in the readme below. (Linux Mint is a debian/ubuntu)

                          Just copy and paste the commands it says to do into terminal and it does the rest for you.

                          If you need more help with any of this then I will be glad to help. (except getting a emulator running)

                          M 1 Reply Last reply 19 Aug 2016, 04:29 Reply Quote 0
                          • J
                            jdoolin
                            last edited by 19 Aug 2016, 03:39

                            Another update, this time on the XML gamelist to SQLite3 database conversion tool.

                            Right now it's a python program using all default libraries and takes the following steps.

                            1 - Opens a database at ~/.emulationstation/es.db
                            2a - Checks for ~/.emulationstation/es_systems.cfg and opens it if it exists if not,
                            2b - Checks for /etc/emulationstation/es_systems.cfg and opens it. In either case if there is a parse error the program exits gracefully
                            3 - Parses the es_systems.cfg file and adds all entries to the SQLite database
                            4 - For each system it finds it reads ~/.emulationstation/gamelists/<system name>/gamelist.xml, then adds those games to the database

                            I think all it needs is a little more error checking and some useful reporting, but otherwise it looks solid to me.

                            Now, am I correct that the gamelists could also exist in the respective rom paths as well? If so, where is that option found? I should be able to read the config and see where to look for gamelists.

                            And what else could I be missing?

                            1 Reply Last reply Reply Quote 1
                            • M
                              mattrixk @jacobfk20
                              last edited by 19 Aug 2016, 04:29

                              Thanks @jacobfk20. I'll hopefully have a chance to get this running this weekend some time. I'll post back with results.

                              My ES themes: MetaPixel | Spare | Io | Indent

                              1 Reply Last reply Reply Quote 0
                              • R
                                Rookervik Global Moderator
                                last edited by 19 Aug 2016, 19:17

                                Oh I forgot to ask for something! * gets down on knees and begs* Can we have a clock? A clock would be so amazing. I dug out an old "grid dreams" mockup I did. Reminded me about wanting a clock in ES. Keep in mind, it was March when I did this mockup.

                                undefined

                                M I 2 Replies Last reply 19 Aug 2016, 19:57 Reply Quote 0
                                • R
                                  Rookervik Global Moderator
                                  last edited by 19 Aug 2016, 19:41

                                  And just for S&G, my take on Material, by Lilbud
                                  undefined

                                  1 Reply Last reply Reply Quote 1
                                  • M
                                    meleu @Rookervik
                                    last edited by 19 Aug 2016, 19:57

                                    @Rookervik said in EmulationStation mod:

                                    Oh I forgot to ask for something! * gets down on knees and begs* Can we have a clock? A clock would be so amazing. I dug out an old "grid dreams" mockup I did. Reminded me about wanting a clock in ES. Keep in mind, it was March when I did this mockup.

                                    undefined

                                    is it the mehstation?! I think I underrated it...

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    1 Reply Last reply Reply Quote 1
                                    • J
                                      jacobfk20
                                      last edited by 19 Aug 2016, 20:51

                                      @Rookervik Nice mockups :) The Pi doesn't have an RTC so the clock may just annoy people if they don't connect their pi to the internet to keep the time correct. But to be honest I was thinking not too long ago as I was looking at ES and just thinking "Man, I wish there was a clock." lol

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        bense2k @jdoolin
                                        last edited by 19 Aug 2016, 23:50

                                        @jdoolin I dont know if it is a good idea to add some form of checksum for the source files to the db, so only changed files need to be parsed.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mattrixk @jacobfk20
                                          last edited by 22 Aug 2016, 04:32

                                          @jacobfk20 Sorry mate, but I need some help still.

                                          I managed to set up an ubuntu virtual machine, and I got RetroPie set up on it by following this guide, but now I can't get your Mod to work.

                                          • I downloaded the latest version from your google drive and then went into /opt/retropie/supplementary/emulationstation. I had to change the permissions before it would let me make any changes within the folder, but I figured out how to do that with chown.

                                          • So I made a back up of the emulationstation file within /opt/retropie/supplementary/emulationstation, then I copied your file over it. Now when I try to run it I get:

                                          /opt/retropie/supplementary/emulationstation.sh: 6: /opt/retropie/supplementary/emulationstation.sh: /opt/retropie/supplementary/emulationstation: Permission denied
                                          

                                          Do you know what this means or how to get around it? I tried changing permissions back to root, but that didn't change anything. When I moved the backup file back into place (overwriting your file) ES started working again without a problem.

                                          My ES themes: MetaPixel | Spare | Io | Indent

                                          1 Reply Last reply Reply Quote 0
                                          175 out of 340
                                          • First post
                                            175/340
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received