Announcing Pegasus Frontend
-
@tronkyfran Nice! Yes, it'd be possible to create such a theme, but yeah getting the cart art right might be slightly difficult (but not impossible). There's a bunch of built-in shaders as well, so for just blurring you won't need to write them manually. Here's a list of available graphical effects.
-
Weekly changelog:
- Pegasus can now be controlled with more than one gamepad (in case you had problems before; also this item would need some testing)
- added gamepad analog stick navigation support
- the list of languages is no longer hardcoded
- minor changes due to cleaning up the code
-
@fluffypillow Thanks for the analog controls. Seems to work fine.
I just tried it now. Sad to see there's now spacing in between games. I really liked the way they were before. Hopefully you'll add choices in how it looks in the future. Have you thought on how to adjust the layout? I'd figure rows of 5, 4, 3, or 2 horizontal. 4 seemed really well for sfc and cd games. I'd like to see how well 3 looks for arcade games.
-
@darksavior Pegasus should show 4 columns for platforms with wide box art (eg. SNES) and 5 for tall ones (eg. NES). Previously it was manually set to 5 for the NES, but a few weeks ago I've changed it to guess the columns from the actual images. It should look like this:
https://snag.gy/35f7we.jpg
https://snag.gy/cOAIy6.jpgIf there are random spacings around, that's likely a bug (can't test with all possible box arts after all).
-
@fluffypillow It looks so awesome!
What's the status in regards to us non-coders, plain gamers?Does it make sense to install it now, or should we wait a couple of months?
-
@andershp it should be fairly stable and work fine for general use. Its just that it's not too user friendly yet, lacks documentation and some features are not yet done (game entry editing, system informations, custom config files, a clock in the corner). You can give it a try, see how it works for you.
Steam support and RetroArchivements integration is also planned, a theme repository and an update checker might be useful too, and we'd need a nice logo/icon in the future as well. -
@fluffypillow said in Announcing Pegasus Frontend:
we'd need a nice logo/icon in the future as well.
I'll be here if you need help
-
@fluffypillow Custom config files - as in retroarch.cfg files?
-
@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.
-
@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.
-
@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 atheme.qml
, the main QML file. These files should be under~/.config/pegasus-frontend/themes/<theme name>/
.The
theme.ini
is a list ofkey = value
pairs, you'll need at least aname
(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 aFocusScope
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 amodel
) of platformspegasus.currentPlatform
is the currently selected platformpegasus.currentPlatformIndex
is the index of the currently selected platform (most parts are read-only, but this is a field is writable)
Every
platform
has ashortName
(eg.nes
) andlongName
(which is currently empty as ES2 files only have one<name>
) field, andgames
,currentGame
andcurrentGameIndex
fields, which work similarly as listed above.Finally, every
game
has the following single-value fields:boxFront
,boxBack
,boxSpine
,boxFull
,box
(same asboxFull
),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. -
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. -
@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.
-
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 ;)
-
@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
-
Do you think you could add a basic view to Pegasus?
-
What kind of basic view? Just the grid without showing the details?
-
@fluffypillow Yeah, just like EmulationStation. A simple list
-
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.
-
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!
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.