Various OPL 0.9.3 versions without GSM -OPL Development Team (c. Ifcaro & jimmikaelkael)
What there will be into Game Settings in this example?
Only Custom ELF and Game ID.
Anyway it is only a suggestion\example what can be done with combining two ideas...
Ok while the current PR is waiting to be merged, there's a test build for global->per-game settings if anyone is interested and wants to have a play around with it.
It works by using 3 new config keys in your per game cfgs
You don't need to worry about them...but in case you're curious..anyway
It's all done through the Game Menu still, in each features settings page (Cheats, GSM & PADEMU) there is a toggle switch to choose between global or per-game settings.. these switches will update the GUI when after you switch and click OK..
Global settings will be written to conf_game.cfg and you can mix and match as much as you like.
It does also work with existing per game cfgs but globals are loaded by default so you will need to activate that 'Settings Mode' switch and Save Changes if booting a game.. I haven't tested 'Test Changes' yet and haven't even looked at it tbh so I'm not sure if it loads per-game and global at the same time but I know once Saved it does..
Feedback it appreciated.
Thanks for this test build.
I really like feature do delete specific config:
Been playing around with GSM and it seems that per game setting works "above" global.
During Wednesday I'll have more time, so I'll also try to "Test Changes".
It's cool that it has a switch 'per function' (GSM, PADEMU, Cheats)!
That yields most flexibility, while keeping the amount of 're-configuring' as low as possible.
Is there a menu for 'global game settings' available yet?
@jolek: Yes, that selection of which setting to remove is really neat!
You mean separate menu for global settings?
I haven't seen it:
However you can select it from per game menu:
The question is... "Where can I reconfigure the global game-settings?"!
Theoretically you can do it under Game Menu, not under Per Game Menu or Game Settings like it was previously...
I know that this answer might be "brutal"...
You want to assign e.g. R1 for Global Settings in HDD\ETH\USB Games?
No... I mean that it should have a settings-menu-entry for configuring global settings, which could be a stripped down version of the per-game settings, only including VMC, PADEMU, GSM, Cheats.
Oh... Btw.! VMC is missing, isn't it?!
Various proposals (+ some for 'part 3' ):
merge current PR
merge global settings stuff (+ a menu within the settings-menu to configure the global settings)
show the game-label (if present), within the per-game-settings (something similar can be done to the Info-Page)
play per-game-settings-SFX, when entering the settings-menu
Moving 'Network Update' under 'Parental Controls' (in the settings-list) and name it 'Updates' (or similar) and let it have support for loading other things as well!
Global Settings doesn't need a separate menu entry.
Go to the feature settings, set 'Settings Mode' as 'Global', configure your settings and when you save them they are saved to the global settings cfg - conf_game.cfg
That spares an entry/'slot' in the settings-menu! Good idea! I hope Noone gets confused by it.
I think it would be good to rather ask the user as what he wants to save the settings... Pretty much the 'Remove settings'-window/page being copyed off, but instead of removing settings, saving it to either global or per-game, depending on the button which is pressed.
That's pretty much what the 'Settings Mode' switch does, this way there isn't duplicated code
Redundancy avoided again...
Good that the 'switch' is used for both, setting the 'choice' which to use in game and to save it there, but I suppose some might overwrite their global settings once in a while...
Yea it’s not necessary for saving to have the pop up, because this way you save to both at the same time... so compat modes will always be Saved to per game cfg, since it’s not a global option and GSM, Cheats & PADEMU will each save to whatever config you specify via the Settings Mode switch.. it’s all done at the same time once you click Save depending on what you specify.
And yea, VMC isn’t included... the GUI code is.... confusing at times lol, the other features code you can kind of glance at and see what’s happening but VMC I always have to sit there and think about. I thought generic VMCs covered globals anyway?... I’ve never used VMC
It doesn't matter what position the switches are in when you boot the game, what matters is what's saved to the cfg.
The way it works is very simple but I'll try to explain it a bit better with a basic example.
Firstly, this only applies to Cheats/GSM/PADEMU settings.
Setting up global defaults:
(You probably only need to do this once but they can be changed at any time).
If you don't use any of these features you don't have to do anything because they are disabled globally by default.
Go to Game Menu (the game you're on when you do this is irrelevant).
Go to Cheat Settings, set Settings Mode to Global, configure your settings and hit OK.
Go to Configure GSM, set Settings Mode to Global, configure your settings and hit OK.
Go to Configure PADEMU, set Settings Mode to Global, configure your settings and hit OK.
Hit Save Changes and your global defaults will be saved to conf_game.cfg
Let's say we boot the game SLES_123.45 and this game has no cfg.
SLES_123.45.cfg is created and since the config keys do not exist within it our global defaults will be loaded.
Let's say our global GSM settings didn't work for that game.
We go back to Game Menu, go to Configure GSM, set Settings Mode to Per-Game, configure our settings and hit OK.
Hit Save Changes and those GSM settings plus the $GSMSource config key will be saved to SLES_123.45.cfg
Now when we boot the game SLES_123.45.cfg is checked for config keys.
$GSMSource exists so our Per-Game GSM settings are loaded.
The other config keys do not exist so our global default settings for Cheats and PADEMU are loaded from conf_game.cfg
Something does need to be changed so there will be a new test build put up later.
Also Settings Mode is Global by default if nothing exists.
Gotta make it update GUI as switch is changed rather than when it leaves the dialog window but that’ll take two seconds to adjust... and need to test/look at code for Test Changes... updated test build coming after work and should be final.
updating the GUI upon switching Settings Mode has proven to be more of an annoyance than anticipated...it works well, functionally... but is ugly as sin... since when you load a config you get a fullscreen message 'Loading Config' as well as it needing to lock the gui and advance frames which means guiShow() which points to a screenHandler ie Game Menu so you get a flash of both upon switching Settings Mode so it can update in real time.. ergo... doing it inside a dialog window isn't looking too good lol
On the plus side Test Changes is now working correctly for both per game and global settings intertwined... i'll put up a test build since we said we would but yea...not 100% happy with it...
The last 2 or 3 could be moved to an 'Advanced Settings'-submenu, as well as some other things, like DMA-Mode, DISC-ID (DNAS) and etc.
It would make it unlikely to mess with it all, to begin IMO.
The pic was just to show Remove Settings placement, I think it’s a compromise everyone should be happy with.. it’s not causing the issue I was talkin about.
Have a rough idea of how to fix those annoying flashes of text but will require a custom guiio handling function and helper function to return a pointer to the config set struct.. will try it out tomorrow
Separate names with a comma.