+static const char h_gpu[] = "Configure built-in P.E.Op.S. SoftGL Driver V1.17";
+static const char h_spu[] = "Configure built-in P.E.Op.S. Sound Driver V1.7";
+static const char h_plugin_xpu[] = "Must save config and reload the game\n"
+ "for plugin change to take effect";
+
+static menu_entry e_menu_plugin_options[] =
+{
+ mee_enum_h ("GPU plugin", 0, gpu_plugsel, gpu_plugins, h_plugin_xpu),
+ mee_enum_h ("SPU plugin", 0, spu_plugsel, spu_plugins, h_plugin_xpu),
+ mee_handler_h ("Configure built-in GPU plugin", menu_loop_plugin_gpu, h_gpu),
+ mee_handler_h ("Configure built-in SPU plugin", menu_loop_plugin_spu, h_spu),
+ mee_end,
+};
+
+static int menu_loop_plugin_options(int id, int keys)
+{
+ static int sel = 0;
+ me_loop(e_menu_plugin_options, &sel, NULL);
+
+ // sync plugins
+ snprintf(Config.Gpu, sizeof(Config.Gpu), "%s", gpu_plugins[gpu_plugsel]);
+ snprintf(Config.Spu, sizeof(Config.Spu), "%s", spu_plugins[spu_plugsel]);
+
+ return 0;
+}
+
+// ------------ adv options menu ------------
+
+static const char h_cfg_cpul[] = "Shows CPU usage in %%";
+static const char h_cfg_fl[] = "Keeps the game from running too fast";
+static const char h_cfg_xa[] = "Disables XA sound, which can sometimes improve performance";
+static const char h_cfg_cdda[] = "Disable CD Audio for a performance boost\n"
+ "(proper .cue/.bin dump is needed otherwise)";
+static const char h_cfg_sio[] = "This should be enabled for certain memcards/gamepads";
+static const char h_cfg_spuirq[] = "Compatibility tweak; should probably be left off";
+static const char h_cfg_rcnt1[] = "Parasite Eve 2, Vandal Hearts 1/2 Fix";
+static const char h_cfg_rcnt2[] = "InuYasha Sengoku Battle Fix";
+
+static menu_entry e_menu_adv_options[] =
+{
+ mee_onoff_h ("Show CPU load", 0, g_opts, OPT_SHOWCPU, h_cfg_cpul),
+ mee_onoff_h ("Frame Limiter", 0, UseFrameLimit, 1, h_cfg_fl),
+ mee_onoff_h ("Disable XA Decoding", 0, Config.Xa, 1, h_cfg_xa),
+ mee_onoff_h ("Disable CD Audio", 0, Config.Cdda, 1, h_cfg_cdda),
+ mee_onoff_h ("SIO IRQ Always Enabled", 0, Config.Sio, 1, h_cfg_sio),
+ mee_onoff_h ("SPU IRQ Always Enabled", 0, Config.SpuIrq, 1, h_cfg_spuirq),
+ mee_onoff_h ("Rootcounter hack", 0, Config.RCntFix, 1, h_cfg_rcnt1),
+ mee_onoff_h ("Rootcounter hack 2", 0, Config.VSyncWA, 1, h_cfg_rcnt2),
+ mee_end,
+};
+
+static int menu_loop_adv_options(int id, int keys)
+{
+ static int sel = 0;
+ me_loop(e_menu_adv_options, &sel, NULL);
+ return 0;
+}