libretro-mirrors / libretro-arb

For proposed improvements to libretro API.
8 stars 2 forks source link

[Serialization] Let the core tell the frontend if some features are safe or not #24

Closed andres-asm closed 9 years ago

andres-asm commented 9 years ago

With the current system, serialization is all in, even if some features don't work well or don't make sense. Say a game core implemented serialization correctly, but the developer didn't want to allow rewind or netplay for X reason. I think it would be nice to be able to tell the frontend rewind is not supported, or netplay is not supported instead of letting it use a feature that might not work correctly.

Alcaro commented 9 years ago

didn't want to allow rewind or netplay for X reason

That just sounds like laziness, which I'd rather not encourage. If it's not, post an example of this X reason.

Cores blocking frontend features doesn't make sense; the core shouldn't even know that the frontend can do that. If anything, the core should tell why it doesn't work (e.g. "first frame after loading a savestate takes 30ms"), so the frontend can invent new features and apply this information on whether to enable them.

(The 30ms example doesn't really work out, either; if it takes 30ms on a Raspberry Pi, it's 6ms or something on a modern PC, which isn't worth worrying about. The front should just measure it. Or let the user notice whether it's usable.)

andres-asm commented 9 years ago

Yeah probably you're right