Good way to test rewind feature for skin development?
#1
Question 
Hi,

does anyone know what are the most common emulator-cores with good rewind support?

I'd like to test and implement this feature in Confluence ZEITGEIST, but since i don't use RetroPlayer besides skin testing i don't know which cores are mostly used with "rewind".

Thanks!
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#2
Kodi uses savestates to support rewind, so any core that does savestates, which is pretty much most of them.

Sorry we don't have a list of "best" cores, that's been needed pretty much since day one but I haven't figured out how to do this.

There is a hidden rewind hotkey, hold Select and press the left trigger (right will fast forward). I started working on a "Rewind" item in the game OSD but never finished. Screenshot from 5 years ago (lol):

Image

Let me know if my answer is too vague and I'll write something more concrete.
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#3
@garbear
Thanks for the useful information. Also had a good laugh while reading the comment about the screenshot. Smile

I did not know until now how such a rewind-feature is technically implemented.

I hooked up my controller again and made some tests using the controller shortcuts. Works very well (with one tested core) and seems useful in it's intended way.

After some more thoughts in don't know how an UI button would really be needed or even helpful for this feature.
Using the shortcuts seems perfectly fine.

What would be useful, would be for me to let the user know about the shortcuts. I'll keep that in mind for further work on GameOSD.

Thanks again.
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#4
(2023-11-24, 15:58)axbmcuser Wrote: After some more thoughts in don't know how an UI button would really be needed or even helpful for this feature.
Using the shortcuts seems perfectly fine.

Agreed, the only reason I created a UI button was to show the hotkey, as right now rewind is one of our coolest features and no one knows how to use it haha.
(2023-11-24, 15:58)axbmcuser Wrote: What would be useful, would be for me to let the user know about the shortcuts. I'll keep that in mind for further work on GameOSD.

You'll notice that the current shortcuts shown in the game OSD are hard-coded (and not even translated). The intention is to use the underlying controller information (which includes translations of all the buttons) to generate the shortcut dynamically. "I'll get to this soon" is probably something I said when RetroPlayer was merged in 2016 :p

At least I may add translations for the hard-coded hotkeys for v21.

EDIT: Nevermind, the hardcoded hotkeys are translated but it's an estuary translation, never even made it to core...
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#5
OK, I went through and removed the hard-coded button combos: https://github.com/xbmc/xbmc/pull/24147 . Bringing the completion of a 7-year TODO.
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#6
Hahaha. Nice! Smile

Quick initial question regarding the PR:

What does
Code:
<label>$FEATURE[select,game.controller.snes] + $FEATURE[rightstick,game.controller.default]</label>
display if a controller without left/right thumbsticks is used?

Thanks!
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#7
Look up the controller's layout here:聽https://github.com/kodi-game/controller-...ter/addons

For example, see layout.xml for game.controller.snes which ships with kodi:聽https://github.com/kodi-game/controller-...layout.xml

If game.controller.snes is the second argument, then all the "name" parameters (a, b, x, y, start, select, up, right, down, left, leftbumper, rightbumper) can be used as the first argument. If a name parameters other than those is present, you'll get an empty string.

EDIT:


If a controller doesn't have the button then the button shown in the GUI can't be used.

For example, physical SNES controllers can't change the volume using the right stick.

To solve this, I plan to add the ability to specify different controllers in joystick.xml. But then the button shown in the UI will no longer be correct.

Some day, if I get to it, then we'll look up the combo in joystick.xml. I want the combo shown in the UI to be the buttons mapped to the action for the last controller to send a button press. For example, if you have a SNES and 360 controller connected, pressing a 360 controller button will update the label to "Back + X", pressing a snes button will update the label to "Select + Y".

However, making the label dynamic is tricky because the string is only processed once. I'll have to introduce a new "label"-like control that can update dynamically based on user input, and that's a much larger task for a later version.
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#8
@garbear

I recently resumed work on the RetroPlayer dialogs for Confluence ZEITGEIST and also tested the controller-shortcut for the rewind-feature again while i was at.
Same conclusion: Surprisingly useful!!聽

I also checked out your RetroPlayer builds for the first time since i still felt that it's really unfortunate that any CRT-shaders (even simple ones) are missing from the official Kodi versions.
Once i've quickly chosen "CRT Geom": Looks great and such a relief after all the testing without any CRT shader. Cool


Shaders:

I found the "Shaders Preset Support" add-on with seemingly much preset data of shaders which are not offered to be chosen, but yet failed to find out:

1) Where is the list of choosable shaders of the RetroPlayer build defined?
2) How i might set the curvature of CRT Geom to zero through manual editing

I think - even without any further changes - it could be great for the RetroPlayer builds to have a second choosable variant of CRT Geom with the exact same parameters, but the curvature set to zero. Might be semi-quick to do, but it would offer great benefit imho. Huh

Thanks again for the explaination on the controller shortcuts.


Artwork & skin support:

Although i don't really use Games myself, i'd consider introducing/improving Games skin/artwork support for Confluence ZEITGEIST at some point.

Is there a top~3-of-most-common ways of how ppl run their games in 2024 on Kodi?

On the forum i read something about IAGL, AML, RCB & AEL which i know nothing about.
Of course i could do some rabbit hole research from scratch in that area, but i think this might would get in the way of all the other projects i already spend questionably-much time on. Big Grin

Therefore, if you,聽seemingly being very RetroPlayer-experienced, could help out with a some essential basic info, that would be highly appreciated. Thanks either way :-)

Edit:聽 Started testing with IAGL yesterday. Interesting.

Local artwork without add-ons:

Besides looking into how such add-ons/Launchers are used, i also thought about the additional possibility of some basic local games art support like this:
"MyGame.zip" having the skin automatically look for artwork "MyGame.zip.jpg" within the same path.


Games section default nodes:

I think it seems totally fine that the Games section does not a database-integration approach like videoDB does.

One minor improvement idea that came to mind besides that (might be long known?) is the missing "Game add-ons" entry in the Games section root. Accessing this via sub menu (or in skins like Estuary a widget) of course works, but since all other section have an add-ons node in root, it imho feels like it should be there.


Cheers & thanks again
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#9
Update:

I added the semi-new missing Ports & Players window to todays skin release(s) and also included the non-hard-coded button combo changes besides the additional聽Games section improvements which came with the recent versions.

If anyone feels the need for further improvements in regards to Games support, i'll be open to suggestions.
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#10
(2024-07-16, 13:13)axbmcuser Wrote: @garbear

I recently resumed work on the RetroPlayer dialogs for Confluence ZEITGEIST

...

Although i don't really use Games myself, i'd consider introducing/improving Games skin/artwork support for Confluence ZEITGEIST at some point.

Thanks for the updates, skin is looking great! I love testing skiner's game work so I'm including the repo in my test builds, which will also let anyone switch to the skin with less friction.

I clicked around the add-ons and settings and things look good. It even inspired tweak that I think is an improvement: https://github.com/xbmc/xbmc/pull/25558
(2024-07-16, 13:13)axbmcuser Wrote: and also tested the controller-shortcut for the rewind-feature again while i was at.
Same conclusion: Surprisingly useful!!

6 years ago I started working on adding a Rewind dialog to the in-game OSD, which combined with the controller shortcuts is a cool rewind experience. However, I so far haven't gotten it working just right yet. The current WIP is here: https://github.com/garbear/xbmc/tree/retroplayer-rewind
(2024-07-16, 13:13)axbmcuser Wrote: I also checked out your RetroPlayer builds for the first time since i still felt that it's really unfortunate that any CRT-shaders (even simple ones) are missing from the official Kodi versions.

Then let's get shaders merged! There's really very little work left before we open a PR. Any help would be appreciated.
(2024-07-16, 13:13)axbmcuser Wrote: I found the "Shaders Preset Support" add-on with seemingly much preset data of shaders which are not offered to be chosen, but yet failed to find out:

1) Where is the list of choosable shaders of the RetroPlayer build defined?
2) How i might set the curvature of CRT Geom to zero through manual editing

I think - even without any further changes - it could be great for the RetroPlayer builds to have a second choosable variant of CRT Geom with the exact same parameters, but the curvature set to zero. Might be semi-quick to do, but it would offer great benefit imho. Huh

All shaders are sourced from https://github.com/kodi-game/game.shader.presets . The stuff you see in the GUI is defined in ShaderPresetsGLSLP.xml and ShaderPresetsGLSLP.xml

You can follow the shader indices to their files. Those can be modified to accomplish your goals. Any improvements you make can be shared with PRs.

(2024-07-16, 13:13)axbmcuser Wrote: Is there a top~3-of-most-common ways of how ppl run their games in 2024 on Kodi?

On the forum i read something about IAGL, AML, RCB & AEL which i know nothing about.
Of course i could do some rabbit hole research from scratch in that area, but i think this might would get in the way of all the other projects i already spend questionably-much time on. Big Grin

I personally use IAGL. It has suited my needs almost since the beginning. Others have good solutions with the launcher class of add-ons. Browse the "Game Add-ons" section of the forum for recent working add-ons to see if any suit you.

It's a rabbit hole but honestly not a deep one. A guide of some kind would be useful. Maybe you can summarize your gaming experiences on the wiki?
(2024-07-16, 13:13)axbmcuser Wrote: Besides looking into how such add-ons/Launchers are used, i also thought about the additional possibility of some basic local games art support like this:
"MyGame.zip" having the skin automatically look for artwork "MyGame.zip.jpg" within the same path.

Cool idea. Feel free to expand on this and maybe we can start adding features like this.
(2024-07-16, 13:13)axbmcuser Wrote: One minor improvement idea that came to mind besides that (might be long known?) is the missing "Game add-ons" entry in the Games section root. Accessing this via sub menu (or in skins like Estuary a widget) of course works, but since all other section have an add-ons node in root, it imho feels like it should be there.

Probably overlooked. The code is open, PRs accepted. Otherwise file this with me as a defect or feature and I'll get it fixed.
(2024-07-16, 13:13)axbmcuser Wrote: Cheers & thanks again

Good work so far, and keep us updated on Confluence ZEITGEIST progress!
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#11
@garbear

Thanks for the greatly motivated & motivating reply!

I initially hadn't planned on instantly reworking GameOSD again, but since it made perfect sense while we're in the flow, i started rewriting the Confluence ZG GameOSD last night and made some needed corresponding changes to the controller keymaps xml.

I also compiled retroplayer with the better UI scaling PR (#25497) and made this version my main test build. Cool


Back to GameOSD

With the following changes, usability and clearly communicated info on the shortcuts, things feel much more pleasant and non-confusing to use while still keeping the amount of GameOSD menu entries to a reasonable level.

Will follow-up with a more detailed response at another time - just wanted to send you a quick-WIP-update in the meantime.


Thanks again & cheers



Unfinished & highly-WIP sneak peak:

Image

Image
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#12
@garbear

- Feel free to check out the just released reworked GameOSD in version 6.7.38 6.7.39 6.7.40 6.7.41
- I also created a small keymaps improvements PR #140 to go along


I extensively tested with both controller and mouse and find the Game Menu very easy and pleasent to use now
(Especially in regards to the fast to reach "Controls" and "Video settings" sub-menus)

- I changed Volume control "button" to avoid the previously weird opening of the slider dialog and replaced that with an imho intuitive left/right solution

- The "Info" section offers further space/possibilities for future changes/additions without ever running out of space for communicating shortcuts/button-combos


Image
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#13
(2023-11-20, 21:15)axbmcuser Wrote: Hi,

does anyone know what are the most common emulator-cores with good rewind support?

I'd like to test and implement this feature in Confluence ZEITGEIST, but since i don't use RetroPlayer besides skin testing i don't know which cores are mostly used with "rewind".




With APKPlaza, users can easily download thoroughly tested apps and games, ensuring security and stable performance.
Thanks!



Some of the most common emulator cores with good rewind support include:

Snes9x (SNES)
Genesis Plus GX (Sega Genesis)
Gambatte (Game Boy)
Mesen (NES)
bsnes (SNES)
These cores are popular and should work well for testing the rewind feature in Confluence ZEITGEIST.
Reply
#14
@RitaGill

Thanks for chiming in.

...and for Arcade boards mainline/regular "MAME" and "FinalBurn Neo" seems the most common two?

Any idea if the "FinalBurn Neo" core has an internal GUI like MAME which can be opened? (MAME GUI = press TAB)


Side note:
Also, "FinalBurn Neo" "diagnostics/service"-key seems to have a collision with the RetroPlayer builds' "long hold Start".
猬咃笍猬咃笍 Leave 馃憤 on useful posts聽 路聽 axbmcuser REPO (Easy install)聽 路聽 Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
#15
(2024-07-30, 19:57)axbmcuser Wrote: With the following changes, usability and clearly communicated info on the shortcuts, things feel much more pleasant and non-confusing to use while still keeping the amount of GameOSD menu entries to a reasonable level.

(2024-07-31, 17:04)axbmcuser Wrote: I extensively tested with both controller and mouse and find the Game Menu very easy and pleasent to use now
(Especially in regards to the fast to reach "Controls" and "Video settings" sub-menus)

- I changed Volume control "button" to avoid the previously weird opening of the slider dialog and replaced that with an imho intuitive left/right solution

- The "Info" section offers further space/possibilities for future changes/additions without ever running out of space for communicating shortcuts/button-combos

I like seeing these improvements. We can certainly incorporate some of these back into Estuary, as the current state pretty much evolved from limitations in Kodi that I've slowly chipped away at over the years.
(2024-08-02, 17:22)axbmcuser Wrote: ...and for Arcade boards mainline/regular "MAME" and "FinalBurn Neo" seems the most common two?

Any idea if the "FinalBurn Neo" core has an internal GUI like MAME which can be opened? (MAME GUI = press TAB)

Side note:
Also, "FinalBurn Neo" "diagnostics/service"-key seems to have a collision with the RetroPlayer builds' "long hold Start".

FinalBurn Neo is much faster than MAME. MAME focuses on code quality over speed, and has actually described itself as a "Documentation project, that is so thorough you can actually play the games as a side effect".

Button collisions are inevitable, so the best we can do is work around them as we discover them. That may require an expansion of the current button mapping system, which can be done as we discover more conflicts.
RetroPlayer releases:聽https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply

Logout Mark Read Team Forum Stats Members Help
Good way to test rewind feature for skin development?0