diff options
Diffstat (limited to 'macosx/PcsxrController.m')
| -rw-r--r-- | macosx/PcsxrController.m | 25 |
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; |
