libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.8k stars 1.78k forks source link

Feature Request: Front End feature addition. Alternative to video snaps. #14199

Open TomTurbine opened 1 year ago

TomTurbine commented 1 year ago

This would involve creating or modifying the default themes for Video-Snap LIKE support but not exactly.

Similar to how many front ends will have a video snap but instead of it being a full on video, just load up the retroarch core + game + movie file to go with it and use that instead.

Was thinking about that as a 30 second video snap might be 3-14MB in size while a emulator movie might be measured up to about 30kb of games that are typically smaller than the video snaps themselves and the games will use about as much processing power and ram as the video. And if your system was too slow the play the rom, it would reflect in the snap of it.

So could just have RetroArch load up the game itself and play its emulator movie file instead. The size would be much smaller and the quality much higher as it would be the game itself with the settings you chose.

Figure would be nice to have RetroArch with an EmulationStation like front end option where you select the room on the list and have the emulator start playing a movie of it instead of needing a video snap.

hizzlekizzle commented 1 year ago

We've discussed this in the past. I think the biggest roadblock is that loading a core requires a full context teardown (that blink where you see the Windows desktop before the game window pops up).

TomTurbine commented 1 year ago

Understood, not a programmer myself and the last time I was learning about it was literally 20 years ago but...

Would it be possible to put hooks into RetroArch where you could command-line it to run at a certain resolution and screen position while running an emulator movie?

If you could, then any front end would theoretically be able to tap into that. And if you guys wanted, you guys could create your own GUI that ran as a separate process from the RetroArch core launch so the blink wasn't visible and just have a 1 second splash screen where the movie would be displayed when they change the game.

Then, if they launched a game, it was really just the game resetting and going from windowed to full screen.

If that sort of thing is possible.

hizzlekizzle commented 1 year ago

That seems potentially doable, yeah. I don't think it would require anything new on our end, just for the launcher to hijack the output framebuffer and push it into their own window. I believe this is pretty much what EmuVR does.

TomTurbine commented 1 year ago

I had never actually heard of EmuVR till now. Looks cool.

Would be cool to have RetroArch start building that into their own GUI setup though. How easy would it be for something like EmulationStation or Launchbox to include a functionality like that?

hizzlekizzle commented 1 year ago

Dunno, you'd have to ask them. Launchbox is probably most likely to bite on it, I would think.

I don't think there's much will to do an in-house launcher when many other projects focus on that exclusively and do a fine job of it. Division of labor :)

TomTurbine commented 1 year ago

Ok, good to know, thank you very much for your time.