libretro / libretro/RetroArch

XMB function update request

Open
#17,182 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

After many years of using Retroarch, I finally looked into theming options.
There are many options out there, but all of them need a additional
program slapped over retroarch. This programs doing things, RA XMB can do itself.
Please be aware, that I am talking about casual-normal theming with standard features.
For extensive theming with lots of animation and so on, programs like ES or Attractmode
are important.
But if you do a smaller collection or just need standard package shot and screenshot
along with some options and information, XMB will be enough for you.
However, while working with XMB the last two weeks, I found some important features missing.
Odd is, that those missing feature have all the functionality already build into the RA Code.
So adding the requested features would be more or less just copy and paste of available code.

##Feature requst:

Each of the 4 screen corners have the option to display text.
Up left = Content name
Downleft = Core name
right up = clock and date
down right = listing

Unfortunately this 4 corners act as one function.
Please add functionality that each corner text can be adjusted on its own

  • by giving it X,Y coordinates to place it freely on the screen

  • by giving each text the ability to use a seperate font, color and font size.
    The code for this is already in the system. The FPS counter which is much less
    important than the 4 corners is using extensive configuation options.
    All this should be copied over to the 4 corners.

  • the big text (game names) in the middle should have the ability to use its own font,
    size and color.

  • subtext should also use a serate font and should use its own color.
    Since its always meant to be smaller than the big text above, the size could be automated by
    connecting it to the big text.

"The ability to control the properties of each of this text spacees will enable unlimited
design posibilites depending on the provided fonts and colors in combination with the
wallpaper and dynamic wallpaper function.

  • add a function to play a sound when the game is launched.
    In order to work around some problems, I made it so that it looks like
    you put a coin into a arcade coin slot to start a game. This could be used as a standard for Arcade games.
    To make the ilusion perfect, it would be nice to have a short "insert coin" sound played
    right before or at launch of the game. Of course this startup sound could be anything else.

If you want to get fancy, add the ability to play a short video before launching the game
instead of just a sound.
With this you could very easy add proper startup animations for games or specific systems.
The Pc Engine mini is a very good example on how such can be used.
The video player should only play the video and output no additional information.
Lakka for example plays a startup video but the player still displays file name and date.
This should not be happening during splash screens.

##Lakka:
I made my themes to use them mainly with lakka.
When RA launces a game, it closes RA, shows the Desktop and then opens the game window.
On Lakka the desktop is empty so the player wont see any distracting desktop icons while launching the game.
But the illusion gets interrupted because the lakka desktop shows the lakka flower on its bg.
It would be nice to be able to change that. a black screen would be enough but this could also
(miss)used to display a standard game or system startup screen by simply be able to change the BG
of the lakka desktop picture.

##One remaining problem:
When on a playlist and then choose a game, the player will see options like "run" or core stuff.
Also above, the playlist icon jumps to the left but it is not followed by any other icon.
is there supposed to be something there like a game specific icon?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the XMB corner-text rendering and configuration paths, then compare them with the FPS counter options mentioned in the request. The scope also includes title and subtext styling, launch sounds or video, Lakka startup presentation, and playlist behavior. Done would require a decided subset of these features with tests or a clear manual verification path.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.