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 A Confluence ZEITGEIST, but since i don't use RetroPlayer besides skin testing i don't know which cores are mostly used with "rewind".

Thanks!
⬅️⬅️ Feel free to leave a 👍 on useful posts  |  A Confluence ZEITGEIST (A modern reimagination of Confluence)  |  axbmcuser REPO (Download Link)  |  Kodi 17.7 DSPlayer x64 BETTERGUI (2020 build)
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.
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.
⬅️⬅️ Feel free to leave a 👍 on useful posts  |  A Confluence ZEITGEIST (A modern reimagination of Confluence)  |  axbmcuser REPO (Download Link)  |  Kodi 17.7 DSPlayer x64 BETTERGUI (2020 build)
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...
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.
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!
⬅️⬅️ Feel free to leave a 👍 on useful posts  |  A Confluence ZEITGEIST (A modern reimagination of Confluence)  |  axbmcuser REPO (Download Link)  |  Kodi 17.7 DSPlayer x64 BETTERGUI (2020 build)
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.
Reply

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