#include "emu.h"
#include "menu_pico.h"
#include "input_pico.h"
-
-#include <version.h>
+#include "version.h"
#include <pico/pico.h>
#include <pico/patch.h>
static const char *rom_exts[] = {
"zip",
- "bin", "smd", "gen",
+ "bin", "smd", "gen", "md",
"iso", "cso", "cue",
"32x",
"sms",
// rrrr rggg gggb bbbb
static unsigned short fname2color(const char *fname)
{
- const char *ext = fname + strlen(fname) - 3;
static const char *other_exts[] = { "gmv", "pat" };
+ const char *ext;
int i;
- if (ext < fname) ext = fname;
+ ext = strrchr(fname, '.');
+ if (ext++ == NULL) {
+ ext = fname + strlen(fname) - 3;
+ if (ext < fname) ext = fname;
+ }
+
for (i = 0; rom_exts[i] != NULL; i++)
if (strcasecmp(ext, rom_exts[i]) == 0) return 0xbdff; // FIXME: mk defines
for (i = 0; i < array_size(other_exts); i++)
{
static int sel = 0;
- me_enable(e_menu_keyconfig, MA_OPT_SAVECFG_GAME, rom_loaded);
+ me_enable(e_menu_keyconfig, MA_OPT_SAVECFG_GAME, PicoGameLoaded);
me_loop(e_menu_keyconfig, &sel);
return 0;
}
i = me_id2offset(e_menu_options, MA_OPT_CPU_CLOCKS);
e_menu_options[i].enabled = e_menu_options[i].name[0] ? 1 : 0;
- me_enable(e_menu_options, MA_OPT_SAVECFG_GAME, rom_loaded);
+ me_enable(e_menu_options, MA_OPT_SAVECFG_GAME, PicoGameLoaded);
me_enable(e_menu_options, MA_OPT_LOADCFG, config_slot != config_slot_current);
me_loop(e_menu_options, &sel);
switch (id)
{
case MA_MAIN_RESUME_GAME:
- if (rom_loaded)
+ if (PicoGameLoaded)
return 1;
break;
case MA_MAIN_SAVE_STATE:
- if (rom_loaded)
+ if (PicoGameLoaded)
return menu_loop_savestate(0);
break;
case MA_MAIN_LOAD_STATE:
- if (rom_loaded)
+ if (PicoGameLoaded)
return menu_loop_savestate(1);
break;
case MA_MAIN_RESET_GAME:
- if (rom_loaded) {
+ if (PicoGameLoaded) {
emu_reset_game();
return 1;
}
engineState = PGS_Quit;
return 1;
case MA_MAIN_PATCHES:
- if (rom_loaded && PicoPatches) {
+ if (PicoGameLoaded && PicoPatches) {
menu_loop_patches();
PicoPatchApply();
menu_update_msg("Patches applied");
{
static int sel = 0;
- me_enable(e_menu_main, MA_MAIN_RESUME_GAME, rom_loaded);
- me_enable(e_menu_main, MA_MAIN_SAVE_STATE, rom_loaded);
- me_enable(e_menu_main, MA_MAIN_LOAD_STATE, rom_loaded);
- me_enable(e_menu_main, MA_MAIN_RESET_GAME, rom_loaded);
+ me_enable(e_menu_main, MA_MAIN_RESUME_GAME, PicoGameLoaded);
+ me_enable(e_menu_main, MA_MAIN_SAVE_STATE, PicoGameLoaded);
+ me_enable(e_menu_main, MA_MAIN_LOAD_STATE, PicoGameLoaded);
+ me_enable(e_menu_main, MA_MAIN_RESET_GAME, PicoGameLoaded);
me_enable(e_menu_main, MA_MAIN_PATCHES, PicoPatches != NULL);
- menu_enter(rom_loaded);
+ menu_enter(PicoGameLoaded);
in_set_config_int(0, IN_CFG_BLOCKING, 1);
me_loop_d(e_menu_main, &sel, NULL, menu_main_plat_draw);
- if (rom_loaded) {
+ if (PicoGameLoaded) {
if (engineState == PGS_Menu)
engineState = PGS_Running;
/* wait until menu, ok, back is released */
{
int ret = 1, sel = 0;
- menu_enter(rom_loaded);
+ menu_enter(PicoGameLoaded);
in_set_config_int(0, IN_CFG_BLOCKING, 1);
me_loop(e_menu_tray, &sel);