misc: avoid assertion failure when state save fails
authornotaz <notasas@gmail.com>
Sun, 10 Dec 2023 21:54:53 +0000 (23:54 +0200)
committernotaz <notasas@gmail.com>
Wed, 13 Dec 2023 22:32:09 +0000 (00:32 +0200)
libpcsxcore/misc.c

index e652cc4..0848c26 100644 (file)
@@ -677,6 +677,10 @@ int SaveState(const char *file) {
        assert(!psxRegs.branching);
        assert(!psxRegs.cpuInRecursion);
        assert(!misc->magic);
+
+       f = SaveFuncs.open(file, "wb");
+       if (f == NULL) return -1;
+
        misc->magic = MISC_MAGIC;
        misc->gteBusyCycle = psxRegs.gteBusyCycle;
        misc->muldivBusyCycle = psxRegs.muldivBusyCycle;
@@ -687,9 +691,6 @@ int SaveState(const char *file) {
        misc->frame_counter = frame_counter;
        misc->CdromFrontendId = CdromFrontendId;
 
-       f = SaveFuncs.open(file, "wb");
-       if (f == NULL) return -1;
-
        psxCpu->Notify(R3000ACPU_NOTIFY_BEFORE_SAVE, NULL);
 
        SaveFuncs.write(f, (void *)PcsxHeader, 32);