ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

Installing and enabling Plugins from GUI

Open NABN00B opened this issue 3 years ago • 5 comments

What should happen

v1.12 added plugin support but no way to toggle them within the application.

It would be nice if there was a dedicated Cheats/Plugins menu under Settings that had options to "Enable Plugins", enable individual plugins and had the "Enable CWCheat" option moved there.

Give a warning to users if restarting the game is necessary after toggling plugins.

Who would this benefit

Every plugin and CWCheat user.

Platform (if relevant)

No response

Games this would be useful in

Other emulators or software with a similar feature

No response

Checklist

NABN00B avatar Aug 09 '22 12:08 NABN00B

I disagree about moving "enable cheats" into some dedicated plugin menu even if it's just a flag that most people keep on/off forever depending on their way of thinking about using cheats.

I understand that on PSP "CWCheat" was a plugin, but if we follow that way of thinking it's literally like moving screenshots, FPS display etc. features there too as on PSP those were functionality provided by plugins, but that's wrong since in PPSSPP those are core features existing from like forever unrelated to plugins in any way, moving it is imo unnecessary and would just confuse people for no good reason.

Edit: Also yeah we don't have "Enable CWCheat", but "Enable cheats" since this really has nothing to do with PSP plugin other than currently only supported syntax being CWCheat, but there's actually a new person interested in adding PSPAR as well to PPSSPP cheat system.

Edit2: I also think something like plugin menu should only show up when person actually has plugins, currently this is pretty obscure system not used by most of us due to annoyance of requiring PSP SDK to build plugins and practically nothing existing that would be compatible with PPSSPP and couldn't be made easier with cheats. If no plugin is detected, there should simply be no extra menu since there would be nothing to toggle there anyway. Alternatively it could have a similar flag to "Enable Cheats" which would also be in system and only if enabled, would show a plugin menu, preferably NOT reuse existing option as again, there's plenty of people using PPSSPP's cheat system that has no use of it's current plugin system.

LunaMoo avatar Aug 09 '22 23:08 LunaMoo

I propose moving "Enable CWCheat" to the same place plugins would be, not because of CWCheat originally being a plugin, but because both are generally used for the same thing - writing memory to alter the games. Thematically they belong to the same place.

I propose the renaming of the string because there have been several talks of implementing Lua support in the future in to write new, more complex types of cheats/memory hacks. This is not only just thinking ahead, but more precise information than the general word "cheats".

Edit: Either way, I think the menu should be the priority. We can argue about the placement cheat settings afterwards.

NABN00B avatar Aug 13 '22 10:08 NABN00B

I don't see any "thinking forward" in here more like "enforcing preference", it would invalidate all guides that were made throught the years(yes, many people actually need guides to change options in emulators), it also has no sense, "Enable cheats" is just a flag that's once selected stays unchanged for most people, it's not like a plugin which has to be enabled or disabled just because it might be bad and you want to be able to disable it from UI for debugging purposes.

Also "used for same purpose", you can pack a lot of emulation specific settings under cheating, most primary way of doing so are savestates and rewind, it deosn't mean we have to merge those features with cheats. Plus plugins aren't really used for cheating in general, cheats are much easier and more convenient as assembly scripts or values injected into memory through common cheat formats than via plugins.

Plugins as of now are just unpopular, there's like one ported to work in PPSSPP made to remap controls by [Unknown], but even that has to be built which equals annoyance of getting PSP SDK setup that would be used for nothing at all other than this specific thing, so most people just don't bother or even known PPSSPP has plugin system, anyway they aren't commonly used as a way of cheating. Even if PPSSPP ever get's a better plugin support one that supports python, lua, java or anything more suited than PSP SDK it will still not be used as a primary means of cheating, more like a way to do general purpose mods, it should NOT be mixed with cheats at all.

Again, this should NOT be linked in any way to existing cheat system, they are two completely different things, having completely different usage and way of handling, moving a flag to activate existing core feature of emulation based on a whim that they can be used for same thing does nothing, but invalidates all existing guides and confuses people. Could as well move all savestate handling under cheat menu as as a matter of fact savestates are and forever will be most popular way to cheat in emulated games, is that a good idea? No, because again, they're different features and have their own quirks.

Also I think best and most natural place for something like a list of plugins would be game info screen as plugins are not plug and play, you pretty much have to start the game with them, additional menu called plugins should just show there, potentially only if there are existing plugins set to the game or just show it always and allow some sort of installation or specific options for plugins in there. Game info screen is the one you activate by holding or pressing right mouse/triangle on a game in the list. If activation flag per plugin is is all they would require I don't think a menu is even needed as by general usage of plugins, they could simply be listed under game info with a checkbox to enable/disable as plugins aren't something you ever end up with a long list, more like one or two max and a separate menu for that would feel empty.

LunaMoo avatar Aug 14 '22 01:08 LunaMoo

I'm repurposing this issue to be about having plugins in the "store" allowing for easy install, and also an enable toggle on the game info screen, or similar. Possibly also generated UI for configuring settings per-plugin.

There are enough plugins now to make it worth it.

It doesn't really belong in cheats indeed, it's a separate thing, but exactly how this will work, we can hash out below.

hrydgard avatar Dec 05 '23 12:12 hrydgard

Some things to consider:

  • I have a plugin that utilizes both, prx loading and using a texture pack, would be nice to not require installing these separately.
  • Aforementioned plugin in theory(I just didn't test) should work with any game version, but texture pack is bundled for only one game version.
  • Maybe there should be a unified folder structure for the files inside a zip with plugin, for example I bundle memstick folder for windows portable version, but on android memstick could be named differently by default.
  • If there's going to be a GUI for changing ini options, maybe a good idea to include comparison screenshots within the archive, so you can see what each option does in the gui, like in some modern games.

ThirteenAG avatar Dec 06 '23 05:12 ThirteenAG