Announcing Pegasus Frontend
-
I've been experimenting with making a nintendo switch theme for Pegasus. Ran into this issue though
I'm using the es2-simple theme as a base
Is there a way to keep the background image in the same place, but move the icons over? When I try to move the icons over, the background gets all out of wack.
My plan is to move the selected icon up and over and make the carousel act like the switch. A selector moves 1 to the right and the icons move 1 over to the left and disappear. The selector can just keep moving down the line to the end.
-
@lilbud I'm afraid I'm not familiar with the Switch, but if I understand correctly you'd like the background image to change instantly, without any animations, right? You could then change the delay here to
0
to disable the scrolling effect. If you'd like to use only a single fixed image as background, you could even remove the whole background carousel. -
@fluffypillow I don't want the background to move at all. If I try to move the icons, the background moves as well, that's why the image isn't entirely on screen.
I already set that to 0.
How would I move the logos closer together?
And move the carousel position?
-
-
@fluffypillow Already changed both of those to vpx(300) which makes the icons square. I am trying to increase the logo spacing (I guess) so the logos stay a certain size but they are closer together.
Changing this line
pathItemCount: Math.ceil(width / itemWidth) + 2
doesn't do anything.I want the background to stay in place and able to be moved independent of the carousel. Because changing any of the settings in the picture above move the carousel and the background or color and draw black underneath.
-
-
@fluffypillow Ah, now I got it.
Now for the next part
How would I change the x and y coordinates of the carousel over so it matches the background image (once again, thats only there to line the whole carousel up, i'll replace it with a solid color background once I have the carousel just right)
And how can I change which icon is the selected one?
-
Just confirming is something like select game directory then it creates the metadata file for you planned? example,
In game directory Bubbler (Europe).7z
Pegasus does the following in the metadata file:
game: Bubbler
file: Bubbler (Europe).7z
developer:
genre:
players:
summary:
description:
rating:
x-id:
x-source:Also what will happen if you import a game that has multiple disc versions how would it display? below is an example.
4x4 Off-Road Racing (USA) (Disk 1)
4x4 Off-Road Racing (USA) (Disk 2)4 Most Action (Side A) (Europe)
4 Most Action (Side B) (Europe)With game naming shouldn't it read the 'game:' title instead of file name?
-
@lilbud for the vertical alignment, the carousel is aligned to the center, so perhaps the fastest would be to add a negative
anchors.verticalCenterOffset
to it to move upwards. To make them match up horizontally, you'll have to change thepreferredHighlightBegin
/End
positions of the Carousel. You'll probably want it to be the center point of Zelda in this case (and maybe the end at Snipperclips?). Depending on how many aspect ratios you'd like to support, you can either just write the number in, or do some calculations based on the window dimensions.@wallmachine Pegasus would be able to create the
collection
section for you, and perhaps examplegame
blocks. Ideally there would be a graphical tool too to edit these files in the future.Also what will happen if you import a game that has multiple disc versions how would it display?
A game can have more than one
file
entries, and when it's started you can choose in Pegasus which one you want to start. Here's an example.With game naming shouldn't it read the 'game:' title instead of file name?
Yes, if the file matches. File paths are relative to the metadata file, perhaps this comment might also solve the issue for you. You can also check the log file for any issues (should be under
C:/Users/[username]/AppData/Local/pegasus-frontend/
on Windows). -
@fluffypillow thanks changing to the following below worked as the metadata file is located D:\Pegasus\metafiles\metadata.txt
Just to confirm a metadata file can be created for each system?
Also with the 'directory:' I thought that searched for the gamelist but you need both the file: and directory:?
collection: Nintendo Entertainment System
directory: D:\Pegasus\Systems\Nintendo Entertainment System
extension: 7z
launch:game: 10-Yard Fight
file: D:\Pegasus\Systems\Nintendo Entertainment System\10-Yard Fight (USA, Europe).7z -
@wallmachine yup, you can create as many metadata files as you like.
directory
entries will make Pegasus also look for rom files in those directories too, however thefile
paths are always relative to the metadata file (consider cases of multiple directories and games with same filenames). -
when selecting a game that has two discs do I need to press a certain key to chose as I don't see it.
lastrun.log
2019-04-23T19:59:25 [w] qrc:/frontend/dialogs/MultifileSelector.qml:100: TypeError: Cannot read property 'count' of undefined 2019-04-23T19:59:25 [w] qrc:/frontend/dialogs/MultifileSelector.qml:110: TypeError: Cannot read property 'files' of undefined
-
@wallmachine Looks like a bug! Will check it out the afternoon.
-
@fluffypillow it's the same issue for me
another request, will you add support to other games from uplay and origin? it would be great
-
With regards to adding native support for LEDBlinky to Pegasus it would require modifications to Pegasus. If you are interested in doing this, the developer (support@LEDBlinky.net) of LEDBlinky is more than willing to work with you on the integration.
Current features missing from LEDBlinky when not integrated with Pegasus are not limited to below.
- Lighting the front-end controls
- Lighting the game controls as you scroll through lists
- Running various animations while the FE is active, etc
Lighting the relevant controls for a non-MAME game requires the FE to pass the ROM/Game name to LEDBlinky. If Pegasus provides a way to run a script file when events occur, then you can run LEDBlinky commands in those scripts. This requires Pegasus to expose one or more events like FE Start, List Select, Game Start, Game Quit, FE Quit, etc.
What do you think?
-
@wallmachine Pegaus already supports some of these events.
https://pegasus-frontend.org/docs/user-guide/scripting/ -
@Meldrak > will you add support to other games from uplay and origin? it would be great
Yes adding support for them would be really nice (and also for things like Epic or Battle net), but I think I'll wait with them until we reach the beta version (there are still a bunch of things to work on!).
@wallmachine Yes that sound exactly like something you could customize well with scripting. The only missing thing from your list is probably the on-scroll-change effect, as that depends on the selected theme and not handled by Pegasus internally.
-
Also a weekly update!
- Added gamepad button repeating (ie. you can now hold down the gamepad buttons/axis to scroll through your games)
- (this is for platforms other than Android, as it already worked there)
- Added manual line breaking (
\n
) support to the metadata format - Fixed a crash on Raspberry Pi 1 and Zero
- Main theme: Fixed selection pointing to nothing on collection change
- Main theme: Fixed incorrect game info on filter change
- Metadata converter site: Fixed Logiqx
manufacturer
entries not getting converted - Updated to Qt 5.12.3 (brings minor optimizations and bugfixes)
Known issues:
- The main theme forgets the last launched game. Will be fixed soon.
- Added gamepad button repeating (ie. you can now hold down the gamepad buttons/axis to scroll through your games)
-
@jdrassa said in Announcing Pegasus Frontend:
@wallmachine Pegaus already supports some of these events.
https://pegasus-frontend.org/docs/user-guide/scripting/@fluffypillow said in Announcing Pegasus Frontend:
@wallmachine Yes that sound exactly like something you could customize well with scripting. The only missing thing from your list is probably the on-scroll-change effect, as that depends on the selected theme and not handled by Pegasus internally.
I'm all ears if someone has already done this because I wouldn't have a clue where to start with the scripting.
Just to confirm something like this won't be implemented?
-
@fluffypillow Maybe make it so it doesn't delete the binary before checking to see if there's a new version. My pi boots to the terminal prompt because it couldn't find pegasus. I'm not a normal user so I replaced the last binary available manually.
Available releases:
https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11-81-g60dcaef_android.apk
https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11-81-g60dcaef_win-mingw-static.zip
Package platform: rpi3
Looks like the latest Pegasus release is not yet available for this platform. This happens when the build is so fresh it's being uploaded right now, or when there's a technical problem on the download server. Either way, this is a temporary problem, so please try again in 1-2 minutes. If the problem persists, consider reporting it on the forum!
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.