summaryrefslogtreecommitdiff
path: root/macosx/PcsxrController.m
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/PcsxrController.m')
-rw-r--r--macosx/PcsxrController.m25
1 files changed, 21 insertions, 4 deletions
diff --git a/macosx/PcsxrController.m b/macosx/PcsxrController.m
index 20f4d93d..f23d7dfd 100644
--- a/macosx/PcsxrController.m
+++ b/macosx/PcsxrController.m
@@ -211,15 +211,23 @@ static NSString *HandleBinCue(NSString *toHandle)
- (IBAction)freeze:(id)sender
{
NSInteger num = [sender tag];
- NSString *path = [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)num]];
+ [PcsxrController saveState:num];
+}
- [EmuThread freezeAt:path which:num-1];
++ (void)saveState:(int)num
+{
+ [EmuThread freezeAt:[PcsxrController saveStatePath:num] which:num];
}
- (IBAction)defrost:(id)sender
{
- NSString *path = [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)[sender tag]]];
- [EmuThread defrostAt:path];
+ NSInteger num = [sender tag];
+ [PcsxrController loadState:num];
+}
+
++ (void)loadState:(int)num
+{
+ [EmuThread defrostAt:[PcsxrController saveStatePath:num]];
}
- (IBAction)fullscreen:(id)sender
@@ -532,6 +540,15 @@ static NSString *HandleBinCue(NSString *toHandle)
[PcsxrController setConfigFromDefaults];
}
++ (NSString*)saveStatePath:(int)slot
+{
+ if(slot >= 0) {
+ return [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)slot]];
+ }
+
+ return saveStatePath;
+}
+
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
{
NSError *err = nil;