RetroPie forum home
    • 最新
    • 標籤
    • 熱門
    • Home
    • Docs
    • 註冊
    • 登入

    Announcing Pegasus Frontend

    已排程 已置頂 已鎖定 已移動 Ideas and Development
    frontendpegasusc++developmentqml
    1.7k 貼文 145 Posters 6.3m 瀏覽
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • AndersHPA
      AndersHP @fluffypillow
      最後由 編輯

      @fluffypillow Custom config files - as in retroarch.cfg files?

      My "Bubble Bobble" Themed Bartop Arcade
      My Gameboy

      1 條回覆 最後回覆 回覆 引用 0
      • fluffypillowF
        fluffypillow
        最後由 編輯

        @AndersHP as in game list and system definition files. Currently Pegasus uses ES2's XML files, but it shouldn't depend on them.

        @lilbud I've made a GitHub issue for it previously, but didn't really made progress on it; I'll add some "inspirational materials" and details the weekend in case you want draw something nice.

        @dudleydes could you create a new issue for the controller problem? I'd be easier for me to see the related discussion in one place.

        D 1 條回覆 最後回覆 回覆 引用 0
        • D
          dudleydes @fluffypillow
          最後由 編輯

          @fluffypillow I have created an issue at the Github page.

          I have installed Qt Creator on my desktop but I really can't figure out how to create a theme for Pegasus. I would be grateful if you could give a guide on how to get started.

          fluffypillowF 1 條回覆 最後回覆 回覆 引用 0
          • fluffypillowF
            fluffypillow @dudleydes
            最後由 編輯

            @dudleydes yeah the theming is still not properly documented, but you can use the Flixnet theme as an example in the meanwhile (or the default theme, which has some more complex parts).

            In short, every theme needs a theme.ini metadata file and a theme.qml, the main QML file. These files should be under ~/.config/pegasus-frontend/themes/<theme name>/.

            The theme.ini is a list of key = value pairs, you'll need at least a name (other values aren't used at the moment). The format may also change in the future, eg. I'll likely start using : instead of =.

            The theme.qml is the QML component that'll fill the screen, which at the moment must be a FocusScope with active focus:

            import QtQuick 2.7
            
            FocusScope {
                focus: true
            
                // your code here
            }
            

            Other than that, you're free to use whatever QML elements you want (EXCEPT the Qt Quick Controls 1/2 items, as they aren't really for this kind of application and are not available in the automatic builds).

            To access the game data, you can use the similarly undocumented pegasus object:

            • pegasus.platforms is a list (= you can use as a model) of platforms
            • pegasus.currentPlatform is the currently selected platform
            • pegasus.currentPlatformIndex is the index of the currently selected platform (most parts are read-only, but this is a field is writable)

            Every platform has a shortName (eg. nes) and longName (which is currently empty as ES2 files only have one <name>) field, and games, currentGame and currentGameIndex fields, which work similarly as listed above.

            Finally, every game has the following single-value fields: boxFront, boxBack, boxSpine, boxFull, box (same as boxFull), cartridge, logo, marquee, bezel, gridicon, flyer, music, and the following lists: fanarts, screenshots, videos.

            Note that values may be empty (eg. no games for a platform, or no particular asset for a game). The field names may also change (we're still in alpha). Also in case you see .qmlc files, those are caches, no need eg. commit them to Git or such.

            1 條回覆 最後回覆 回覆 引用 0
            • fluffypillowF
              fluffypillow
              最後由 編輯

              Weekly changelog: Nothing interesting this week, as I was working on another side project.
              In case you'd like to try drawing a logo and want to read my nasty comments about your entries, I've updated the relevant issue.

              DarksaviorD 1 條回覆 最後回覆 回覆 引用 0
              • DarksaviorD
                Darksavior @fluffypillow
                最後由 Darksavior 編輯

                @fluffypillow My mistake for saying there was a change in the spacing. I just got used to some sections being 4 columns not 5. Changing column numbers should be about the last feature I'm waiting for along with exiting game going back to the game itself and not the beginning of the list.

                1 條回覆 最後回覆 回覆 引用 0
                • T
                  tronkyfran
                  最後由 編輯

                  Well, I got working the blend image modes for my theme!!!was pretty easy, now to get a look to qt3d and rasp compatibility, that will be harder for sure. When I get everything working I can make a tutorial if anyone is interested! I see HUGE possibilities for this frontend,just dont know if the pi will hace enough juice for it ;)

                  1 條回覆 最後回覆 回覆 引用 3
                  • fluffypillowF
                    fluffypillow
                    最後由 編輯

                    @tronkyfran nice! I think if the Pi can play 3D games properly then you shouldn't have problems showing a simple scene either :)

                    As for the weekly changelog, I've only had time the weekend, so there are just some minor fixes:

                    • the grid now remembers the launched game when returning from play (< @Darksavior ;) )
                    • memory optimizations: Pegasus now uses a little less RAM
                    lilbudL 1 條回覆 最後回覆 回覆 引用 2
                    • lilbudL
                      lilbud @fluffypillow
                      最後由 編輯

                      Do you think you could add a basic view to Pegasus?

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

                      Backlog: http://backloggery.com/lilbud

                      1 條回覆 最後回覆 回覆 引用 1
                      • fluffypillowF
                        fluffypillow
                        最後由 編輯

                        What kind of basic view? Just the grid without showing the details?

                        lilbudL 1 條回覆 最後回覆 回覆 引用 0
                        • lilbudL
                          lilbud @fluffypillow
                          最後由 編輯

                          @fluffypillow Yeah, just like EmulationStation. A simple list

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

                          Backlog: http://backloggery.com/lilbud

                          1 條回覆 最後回覆 回覆 引用 2
                          • fluffypillowF
                            fluffypillow
                            最後由 編輯

                            This week I've worked on improving the general "user experience":

                            • added confirmation dialog before shutdown and reboot
                            • added an error message when no games have been found
                            • added an error message when the selected theme couldn't be loaded
                            • fixed the antialiasing of the platform bar's edges
                            • made the main menu animations somewhat smoother

                            Fullscreen support on desktop is also almost done, I'll just have to add the relevant option in the settings menu. I'm also planning to clean that menu up a bit, then add theme-specific settings, which would also allow implementing eg. a basic view for the default theme.

                            1 條回覆 最後回覆 回覆 引用 1
                            • pompitousofsethP
                              pompitousofseth
                              最後由 編輯

                              I have installed pegasus from the RetroPie setup menu and I have gotten it started. It only shows all of the .jpg images and not the .png images. I got all of the .png images from the Universal XML Scraper today. I have put them in the downloaded_images folder and in the [roms]/media folder and neither work. Any hints on what could be going wrong. Also the log doesn't show any errors except for not being able to load some one the .svg files for the system headers. Thanks. Awesome work BTW!

                              1 條回覆 最後回覆 回覆 引用 0
                              • fluffypillowF
                                fluffypillow
                                最後由 編輯

                                @pompitousofseth hm that sounds like a bug, I'll try to reproduce it the afternoon.

                                1 條回覆 最後回覆 回覆 引用 0
                                • fluffypillowF
                                  fluffypillow
                                  最後由 編輯

                                  @pompitousofseth just tested on my Pi 3, but everything seems to work fine for me. I'm using both PNG and JPG files too. Are you 100% sure the images are at the correct location with the correct name? On RetroPie, it should be ~/RetroPie/roms/[platform name]/media/, and the image names (without any suffix) should match the rom file name (also see here). The downloaded_images directory is no longer scanned directly, but ES2 gamelist files are supported (ie. if an image shows up in ES2, it should also appear in Pegasus). If it still doesn't work, feel free to open an issue so we can discuss what could be the problem.

                                  AndersHPA 1 條回覆 最後回覆 回覆 引用 0
                                  • AndersHPA
                                    AndersHP
                                    最後由 編輯

                                    Ok, I just installed Pegasus package from the RetroPie Setup... And so... Err... How do I install it, so it replaces ES?

                                    Sorry, I know this is a noob question, since no-one asked before me.. I guess it has to do with the "Build Guide".. I just hoped it would install by itself. I'm no coder...

                                    My "Bubble Bobble" Themed Bartop Arcade
                                    My Gameboy

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • fluffypillowF
                                      fluffypillow
                                      最後由 fluffypillow 編輯

                                      @AndersHP you can launch Pegasus manually by calling /opt/retropie/supplementary/pegasus-fe/pegasus-fe, and to make it start on boot instead of ES2, you'll need to edit the file /opt/retropie/configs/all/autostart.sh (replace its content with the path above). There's no menu option for this at the moment, unfortunately (I wonder if there's one for eg. AttractMode?). The build guide describes the building/development setup, as an end-user you won't have to deal with that :) (unless you're interested in it, of course).

                                      AndersHPA 1 條回覆 最後回覆 回覆 引用 0
                                      • AndersHPA
                                        AndersHP @fluffypillow
                                        最後由 AndersHP 編輯

                                        @fluffypillow Makes sense - thank you. I searched again, but couldn't find this mentioned anywhere.

                                        I had it up and running. Looks really good!
                                        But since I'm not using a controller but keyboard inputs through iPac, I couldn't really do much. Directionals work fine, and the buttons that's working like Return and Escape all work, but since all other buttons, including shoulder buttons are mapped to work as letters and numbers, these won't work.. The Controller Setup doesn't accept my inputs, so I cannot change anything. Is keyboard inputs not supported yet?

                                        Another peculiar thing: it seems that even though everything is scraped with UXMLS, only those games marked as favorites show up with boxart..?

                                        My "Bubble Bobble" Themed Bartop Arcade
                                        My Gameboy

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • fluffypillowF
                                          fluffypillow
                                          最後由 編輯

                                          @AndersHP Sorry, no, keyboard remapping is not yet supported. Until then you could try using some key remapping programs (Joy2Key maybe?), eg. create a custom keymap that is loaded before launching Pegasus. You can find the current default keys here.

                                          Another peculiar thing: it seems that even though everything is scraped with UXMLS, only those games marked as favorites show up with boxart..?

                                          Is there anything common in the image files of the games that have this problem? If you rename the image so that it belongs to a different game, does the image appear? Can you check if the format of the images match their extension? Ie. PNG files are actual PNG files, and not JPG files with .png extension (happened to me with UXMLS!). You can do that with file <filename>. Having box art and being a favorite aren't related inside Pegasus, so I'd guess something happened with the files before.

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • OmnijaO
                                            Omnija
                                            最後由 編輯

                                            @fluffypillow can you make a new updated video showing all the new cool stuff that's been added?

                                            Systems: Raspberry Pi 2
                                            Overclocked: 1050 | 525 | 350 | 425 | 256
                                            My Themes: Metro Theme | Simpler Turtlepi | Future Mini

                                            1 條回覆 最後回覆 回覆 引用 1
                                            • 第一個貼文
                                              最後的貼文

                                            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.