frontend: add chan display option, for fun mostly
[pcsx_rearmed.git] / frontend / main.c
index f97610a..b17df53 100644 (file)
@@ -36,9 +36,6 @@ enum sched_action emu_action, emu_action_old;
 char hud_msg[64];
 int hud_new_msg;
 
-// from softgpu plugin
-extern int UseFrameSkip;
-
 static void make_path(char *buf, size_t size, const char *dir, const char *fname)
 {
        if (fname)
@@ -97,7 +94,7 @@ void set_cd_image(const char *fname)
 
        if (ext && (
            strcasecmp(ext, ".z") == 0 || strcasecmp(ext, ".bz") == 0 ||
-           strcasecmp(ext, ".znx") == 0 || strcasecmp(ext, ".pbp") == 0)) {
+           strcasecmp(ext, ".znx") == 0 /*|| strcasecmp(ext, ".pbp") == 0*/)) {
                SetIsoFile(NULL);
                cdrcimg_set_fname(fname);
                strcpy(Config.Cdr, "builtin_cdrcimg");
@@ -125,6 +122,25 @@ static void set_default_paths(void)
        snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR);
 }
 
+static void check_memcards(void)
+{
+       char buf[MAXPATHLEN];
+       FILE *f;
+       int i;
+
+       for (i = 1; i <= 9; i++) {
+               snprintf(buf, sizeof(buf), ".%scard%d.mcd", MEMCARD_DIR, i);
+
+               f = fopen(buf, "rb");
+               if (f == NULL) {
+                       printf("Creating memcard: %s\n", buf);
+                       CreateMcd(buf);
+               }
+               else
+                       fclose(f);
+       }
+}
+
 void do_emu_action(void)
 {
        char buf[MAXPATHLEN];
@@ -157,9 +173,9 @@ void do_emu_action(void)
                        state_slot = 9;
                goto do_state_slot;
        case SACTION_TOGGLE_FSKIP:
-               UseFrameSkip ^= 1;
+               pl_rearmed_cbs.frameskip ^= 1;
                snprintf(hud_msg, sizeof(hud_msg), "FRAMESKIP %s",
-                       UseFrameSkip ? "ON" : "OFF");
+                       pl_rearmed_cbs.frameskip ? "ON" : "OFF");
                break;
        case SACTION_SCREENSHOT:
                {
@@ -216,6 +232,7 @@ int main(int argc, char *argv[])
 
        CheckSubDir();
        set_default_paths();
+       check_memcards();
        strcpy(Config.Bios, "HLE");
 
 #ifdef MAEMO
@@ -375,7 +392,7 @@ int SysInit() {
                return -1;
        }
 
-       LoadMcds(Config.Mcd1, Config.Mcd2);     /* TODO Do we need to have this here, or in the calling main() function?? */
+       LoadMcds(Config.Mcd1, Config.Mcd2);
 
        if (Config.Debug) {
                StartDebugger();
@@ -459,7 +476,9 @@ int emu_save_state(int slot)
        if (ret != 0)
                return ret;
 
-       return SaveState(fname);
+       ret = SaveState(fname);
+       printf("* %s \"%s\" [%d]\n", ret == 0 ? "saved" : "failed to save", fname, slot);
+       return ret;
 }
 
 int emu_load_state(int slot)