function - the only functions where it should actually pass a
pointer instead of just grabbing a pointer from menu.driver should
be in the menu init/deinit functions
(Console) Better way to 'restart' instead of using the function
'restart' - call rarch_set_fullscreen instead. 'Restart' function
in driver interface can go now
(Menu) Menu now gets properly deinited/reinited when - say -
rarch_set_fullscreen is toggled or some other state change like this.
If init_assets function of menu_ctx_driver is implemented, this should
ensure all GL/D3D assets get 'cleaned up' prior to teardown of the video
driver, and properly reinited after the video driver is brought up again
Spoke too soon - we really need to refactor this mess so that
consoles, mobile and PC all follow the SAME basic initing/deiniting
structure. This kind of backwardsness is going to scale very, very
badly.
This reverts commit 540fad51a6d9f5b993adfff178b3179bbc439297.
Also, need to enforce that g_settings.core_specific_config is true
after loading core specific config. It's possible that core specific
option is set to false before loading a different core (using global
config only).
Merging yesterday was probably a bit premature.
One issue I overlooked was that per-core configs were not flushed to disk
when loading a new core on PC. The per-core flushing only happened on
main_exit(), which is only run on application termination. This hence
would only work with consoles with exitspawn.
config_set_defaults() must be called when loading per-core-specifics as
well or lots of options silently leak into other core specific configs
when cores are changed.
The handling with g_extern.config_path and original_config_path was
difficult logic and very error prone considering it was mutated aribitrarily by RGUI.
I've removed the original config path concept and stuck
with that config_path is *only* for global config, and
core_specific_config_path is for core-specifics (which are resolved
during config load). Saves some memory too,
which is always nice.
The block_config_read solution I proposed yesterday was not good after
all (in fact, broken on PC), and the current solution should work better.
"RetroArch Config" option in RGUI now only shows global config.