fixing stuuupid bug
[drnoksnes] / platform / sdl.cpp
index 862d352..5d19d67 100644 (file)
@@ -6,7 +6,9 @@
 
 #include "platform.h"
 #include "snes9x.h"
+#include "cpuexec.h"
 #include "gfx.h"
+#include "ppu.h"
 #include "display.h"
 #include "memmap.h"
 #include "soundux.h"
@@ -239,6 +241,7 @@ int main(int argc, const char ** argv) {
        
        // Deinitialization
        S9xAudioOutputEnable(false);
+       S9xDeinitInputDevices();
        S9xDeinitAudioOutput();
        S9xDeinitDisplay();
 
@@ -262,7 +265,36 @@ void S9xDoAction(unsigned char action)
        if (action & kActionQuit) 
                Config.quitting = true;
 
-       if (action & kActionToggleFullscreen)
+       if (action & kActionToggleFullscreen) {
                S9xVideoToggleFullscreen();
+       }
+
+       if (action & kActionQuickLoad1) {
+               const char * file = S9xGetQuickSaveFilename(1);
+               int result = S9xUnfreezeGame(file);
+               S9xSetInfoString("Load slot %u: %s", 1,
+                       (result ? "done" : "failed"));
+       }
+
+       if (action & kActionQuickSave1) {
+               const char * file = S9xGetQuickSaveFilename(1);
+               int result = S9xFreezeGame(file);
+               S9xSetInfoString("Save slot %u: %s", 1,
+                       (result ? "done" : "failed"));
+       }
+
+       if (action & kActionQuickLoad2) {
+               const char * file = S9xGetQuickSaveFilename(2);
+               int result = S9xUnfreezeGame(file);
+               S9xSetInfoString("Load slot %u: %s", 2,
+                       (result ? "done" : "failed"));
+       }
+
+       if (action & kActionQuickSave2) {
+               const char * file = S9xGetQuickSaveFilename(2);
+               int result = S9xFreezeGame(file);
+               S9xSetInfoString("Save slot %u: %s", 2,
+                       (result ? "done" : "failed"));
+       }
 }