Cocoa Port:
- Fix regression from r4533 where the UI elements in the Cheat Manager window wouldn't update in sync with ROM loading/unloading. - Do a bunch of code cleanup.
This commit is contained in:
parent
4dd70a0120
commit
1055a9235f
File diff suppressed because it is too large
Load Diff
|
@ -243,9 +243,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
NSURL *selectedFile = nil;
|
NSURL *selectedFile = nil;
|
||||||
NSInteger buttonClicked = NSFileHandlingPanelCancelButton;
|
|
||||||
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
|
||||||
|
|
||||||
|
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
||||||
[panel setCanChooseDirectories:NO];
|
[panel setCanChooseDirectories:NO];
|
||||||
[panel setCanChooseFiles:YES];
|
[panel setCanChooseFiles:YES];
|
||||||
[panel setResolvesAliases:YES];
|
[panel setResolvesAliases:YES];
|
||||||
|
@ -257,9 +256,9 @@
|
||||||
// is deprecated in Mac OS X v10.6.
|
// is deprecated in Mac OS X v10.6.
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||||
[panel setAllowedFileTypes:fileTypes];
|
[panel setAllowedFileTypes:fileTypes];
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
#else
|
#else
|
||||||
buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
const NSInteger buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (buttonClicked == NSFileHandlingPanelOKButton)
|
if (buttonClicked == NSFileHandlingPanelOKButton)
|
||||||
|
@ -269,13 +268,9 @@
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self handleLoadRom:selectedFile];
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
[self handleLoadRom:selectedFile];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) closeRom:(id)sender
|
- (IBAction) closeRom:(id)sender
|
||||||
|
@ -285,11 +280,9 @@
|
||||||
|
|
||||||
- (IBAction) openEmuSaveState:(id)sender
|
- (IBAction) openEmuSaveState:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
NSURL *selectedFile = nil;
|
NSURL *selectedFile = nil;
|
||||||
NSInteger buttonClicked = NSFileHandlingPanelCancelButton;
|
|
||||||
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
|
||||||
|
|
||||||
|
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
||||||
[panel setCanChooseDirectories:NO];
|
[panel setCanChooseDirectories:NO];
|
||||||
[panel setCanChooseFiles:YES];
|
[panel setCanChooseFiles:YES];
|
||||||
[panel setResolvesAliases:YES];
|
[panel setResolvesAliases:YES];
|
||||||
|
@ -301,9 +294,9 @@
|
||||||
// is deprecated in Mac OS X v10.6.
|
// is deprecated in Mac OS X v10.6.
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||||
[panel setAllowedFileTypes:fileTypes];
|
[panel setAllowedFileTypes:fileTypes];
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
#else
|
#else
|
||||||
buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
const NSInteger buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (buttonClicked == NSFileHandlingPanelOKButton)
|
if (buttonClicked == NSFileHandlingPanelOKButton)
|
||||||
|
@ -321,35 +314,34 @@
|
||||||
|
|
||||||
[self pauseCore];
|
[self pauseCore];
|
||||||
|
|
||||||
result = [CocoaDSFile loadState:selectedFile];
|
const BOOL isStateLoaded = [CocoaDSFile loadState:selectedFile];
|
||||||
if (result == NO)
|
if (!isStateLoaded)
|
||||||
{
|
{
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADING_FAILED];
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADING_FAILED];
|
||||||
[self restoreCoreState];
|
[self restoreCoreState];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
[self setCurrentSaveStateURL:selectedFile];
|
|
||||||
[self restoreCoreState];
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADED];
|
|
||||||
|
|
||||||
isSaveStateEdited = YES;
|
isSaveStateEdited = YES;
|
||||||
for (NSWindow *theWindow in windowList)
|
for (NSWindow *theWindow in windowList)
|
||||||
{
|
{
|
||||||
[theWindow setDocumentEdited:isSaveStateEdited];
|
[theWindow setDocumentEdited:isSaveStateEdited];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADED];
|
||||||
|
[self restoreCoreState];
|
||||||
|
|
||||||
|
[self setCurrentSaveStateURL:selectedFile];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) saveEmuSaveState:(id)sender
|
- (IBAction) saveEmuSaveState:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
|
|
||||||
if (isSaveStateEdited && [self currentSaveStateURL] != nil)
|
if (isSaveStateEdited && [self currentSaveStateURL] != nil)
|
||||||
{
|
{
|
||||||
[self pauseCore];
|
[self pauseCore];
|
||||||
|
|
||||||
result = [CocoaDSFile saveState:[self currentSaveStateURL]];
|
const BOOL isStateSaved = [CocoaDSFile saveState:[self currentSaveStateURL]];
|
||||||
if (result == NO)
|
if (!isStateSaved)
|
||||||
{
|
{
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
||||||
return;
|
return;
|
||||||
|
@ -361,8 +353,8 @@
|
||||||
[theWindow setDocumentEdited:isSaveStateEdited];
|
[theWindow setDocumentEdited:isSaveStateEdited];
|
||||||
}
|
}
|
||||||
|
|
||||||
[self restoreCoreState];
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVED];
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVED];
|
||||||
|
[self restoreCoreState];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -372,10 +364,7 @@
|
||||||
|
|
||||||
- (IBAction) saveEmuSaveStateAs:(id)sender
|
- (IBAction) saveEmuSaveStateAs:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
NSInteger buttonClicked = NSFileHandlingPanelCancelButton;
|
|
||||||
NSSavePanel *panel = [NSSavePanel savePanel];
|
NSSavePanel *panel = [NSSavePanel savePanel];
|
||||||
|
|
||||||
[panel setCanCreateDirectories:YES];
|
[panel setCanCreateDirectories:YES];
|
||||||
[panel setTitle:NSSTRING_TITLE_SAVE_STATE_FILE_PANEL];
|
[panel setTitle:NSSTRING_TITLE_SAVE_STATE_FILE_PANEL];
|
||||||
|
|
||||||
|
@ -388,63 +377,61 @@
|
||||||
[panel setRequiredFileType:@FILE_EXT_SAVE_STATE];
|
[panel setRequiredFileType:@FILE_EXT_SAVE_STATE];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
if(buttonClicked == NSOKButton)
|
if(buttonClicked == NSOKButton)
|
||||||
{
|
{
|
||||||
[self pauseCore];
|
|
||||||
|
|
||||||
NSURL *saveFileURL = [panel URL];
|
NSURL *saveFileURL = [panel URL];
|
||||||
|
|
||||||
result = [CocoaDSFile saveState:saveFileURL];
|
[self pauseCore];
|
||||||
if (result == NO)
|
|
||||||
|
const BOOL isStateSaved = [CocoaDSFile saveState:saveFileURL];
|
||||||
|
if (!isStateSaved)
|
||||||
{
|
{
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
[self setCurrentSaveStateURL:saveFileURL];
|
|
||||||
[self restoreCoreState];
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVED];
|
|
||||||
|
|
||||||
isSaveStateEdited = YES;
|
isSaveStateEdited = YES;
|
||||||
for (NSWindow *theWindow in windowList)
|
for (NSWindow *theWindow in windowList)
|
||||||
{
|
{
|
||||||
[theWindow setDocumentEdited:isSaveStateEdited];
|
[theWindow setDocumentEdited:isSaveStateEdited];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVED];
|
||||||
|
[self restoreCoreState];
|
||||||
|
|
||||||
|
[self setCurrentSaveStateURL:saveFileURL];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) revertEmuSaveState:(id)sender
|
- (IBAction) revertEmuSaveState:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
if (!isSaveStateEdited || [self currentSaveStateURL] == nil)
|
||||||
|
|
||||||
if (isSaveStateEdited && [self currentSaveStateURL] != nil)
|
|
||||||
{
|
{
|
||||||
[self pauseCore];
|
return;
|
||||||
|
|
||||||
result = [CocoaDSFile loadState:[self currentSaveStateURL]];
|
|
||||||
if (result == NO)
|
|
||||||
{
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_REVERTING_FAILED];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
isSaveStateEdited = YES;
|
|
||||||
for (NSWindow *theWindow in windowList)
|
|
||||||
{
|
|
||||||
[theWindow setDocumentEdited:isSaveStateEdited];
|
|
||||||
}
|
|
||||||
|
|
||||||
[self restoreCoreState];
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_REVERTED];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self pauseCore];
|
||||||
|
|
||||||
|
const BOOL isStateLoaded = [CocoaDSFile loadState:[self currentSaveStateURL]];
|
||||||
|
if (!isStateLoaded)
|
||||||
|
{
|
||||||
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_REVERTING_FAILED];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isSaveStateEdited = YES;
|
||||||
|
for (NSWindow *theWindow in windowList)
|
||||||
|
{
|
||||||
|
[theWindow setDocumentEdited:isSaveStateEdited];
|
||||||
|
}
|
||||||
|
|
||||||
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_REVERTED];
|
||||||
|
[self restoreCoreState];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) loadEmuSaveStateSlot:(id)sender
|
- (IBAction) loadEmuSaveStateSlot:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
NSInteger i = [CocoaDSUtil getIBActionSenderTag:sender];
|
|
||||||
|
|
||||||
NSString *saveStatePath = [[CocoaDSFile saveStateURL] path];
|
NSString *saveStatePath = [[CocoaDSFile saveStateURL] path];
|
||||||
if (saveStatePath == nil)
|
if (saveStatePath == nil)
|
||||||
{
|
{
|
||||||
|
@ -452,13 +439,14 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < 0 || i > MAX_SAVESTATE_SLOTS)
|
const NSInteger slotNumber = [CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
|
if (slotNumber < 0 || slotNumber > MAX_SAVESTATE_SLOTS)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSURL *currentRomURL = [[self currentRom] fileURL];
|
NSURL *currentRomURL = [[self currentRom] fileURL];
|
||||||
NSString *fileName = [CocoaDSFile saveSlotFileName:currentRomURL slotNumber:(NSUInteger)(i + 1)];
|
NSString *fileName = [CocoaDSFile saveSlotFileName:currentRomURL slotNumber:(NSUInteger)(slotNumber + 1)];
|
||||||
if (fileName == nil)
|
if (fileName == nil)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -466,21 +454,14 @@
|
||||||
|
|
||||||
[self pauseCore];
|
[self pauseCore];
|
||||||
|
|
||||||
result = [CocoaDSFile loadState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]];
|
const BOOL isStateLoaded = [CocoaDSFile loadState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]];
|
||||||
if (result == NO)
|
[self setStatusText:(isStateLoaded) ? NSSTRING_STATUS_SAVESTATE_LOADED : NSSTRING_STATUS_SAVESTATE_LOADING_FAILED];
|
||||||
{
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADING_FAILED];
|
|
||||||
}
|
|
||||||
|
|
||||||
[self restoreCoreState];
|
[self restoreCoreState];
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_LOADED];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) saveEmuSaveStateSlot:(id)sender
|
- (IBAction) saveEmuSaveStateSlot:(id)sender
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
NSInteger i = [CocoaDSUtil getIBActionSenderTag:sender];
|
|
||||||
|
|
||||||
NSString *saveStatePath = [[CocoaDSFile saveStateURL] path];
|
NSString *saveStatePath = [[CocoaDSFile saveStateURL] path];
|
||||||
if (saveStatePath == nil)
|
if (saveStatePath == nil)
|
||||||
{
|
{
|
||||||
|
@ -488,20 +469,21 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
result = [CocoaDSFile createUserAppSupportDirectory:@"States"];
|
const BOOL isDirectoryCreated = [CocoaDSFile createUserAppSupportDirectory:@"States"];
|
||||||
if (result == NO)
|
if (!isDirectoryCreated)
|
||||||
{
|
{
|
||||||
[self setStatusText:NSSTRING_STATUS_CANNOT_CREATE_SAVE_DIRECTORY];
|
[self setStatusText:NSSTRING_STATUS_CANNOT_CREATE_SAVE_DIRECTORY];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < 0 || i > MAX_SAVESTATE_SLOTS)
|
const NSInteger slotNumber = [CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
|
if (slotNumber < 0 || slotNumber > MAX_SAVESTATE_SLOTS)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSURL *currentRomURL = [[self currentRom] fileURL];
|
NSURL *currentRomURL = [[self currentRom] fileURL];
|
||||||
NSString *fileName = [CocoaDSFile saveSlotFileName:currentRomURL slotNumber:(NSUInteger)(i + 1)];
|
NSString *fileName = [CocoaDSFile saveSlotFileName:currentRomURL slotNumber:(NSUInteger)(slotNumber + 1)];
|
||||||
if (fileName == nil)
|
if (fileName == nil)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -509,23 +491,17 @@
|
||||||
|
|
||||||
[self pauseCore];
|
[self pauseCore];
|
||||||
|
|
||||||
result = [CocoaDSFile saveState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]];
|
const BOOL isStateSaved = [CocoaDSFile saveState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]];
|
||||||
if (result == NO)
|
[self setStatusText:(isStateSaved) ? NSSTRING_STATUS_SAVESTATE_SAVED : NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
||||||
{
|
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
[self restoreCoreState];
|
[self restoreCoreState];
|
||||||
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVED];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) importRomSave:(id)sender
|
- (IBAction) importRomSave:(id)sender
|
||||||
{
|
{
|
||||||
NSURL *selectedFile = nil;
|
NSURL *selectedFile = nil;
|
||||||
NSInteger buttonClicked = NSFileHandlingPanelCancelButton;
|
|
||||||
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
|
||||||
|
|
||||||
|
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
||||||
[panel setCanChooseDirectories:NO];
|
[panel setCanChooseDirectories:NO];
|
||||||
[panel setCanChooseFiles:YES];
|
[panel setCanChooseFiles:YES];
|
||||||
[panel setResolvesAliases:YES];
|
[panel setResolvesAliases:YES];
|
||||||
|
@ -537,9 +513,9 @@
|
||||||
// is deprecated in Mac OS X v10.6.
|
// is deprecated in Mac OS X v10.6.
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||||
[panel setAllowedFileTypes:fileTypes];
|
[panel setAllowedFileTypes:fileTypes];
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
#else
|
#else
|
||||||
buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
const NSInteger buttonClicked = [panel runModalForDirectory:nil file:nil types:fileTypes];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (buttonClicked == NSFileHandlingPanelOKButton)
|
if (buttonClicked == NSFileHandlingPanelOKButton)
|
||||||
|
@ -549,47 +525,29 @@
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const BOOL isRomSaveImported = [CocoaDSFile importRomSave:selectedFile];
|
||||||
|
[self setStatusText:(isRomSaveImported) ? NSSTRING_STATUS_ROM_SAVE_IMPORTED : NSSTRING_STATUS_ROM_SAVE_IMPORT_FAILED];
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL result = [CocoaDSFile importRomSave:selectedFile];
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
[self setStatusText:NSSTRING_STATUS_ROM_SAVE_IMPORT_FAILED];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
[self setStatusText:NSSTRING_STATUS_ROM_SAVE_IMPORTED];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) exportRomSave:(id)sender
|
- (IBAction) exportRomSave:(id)sender
|
||||||
{
|
{
|
||||||
[self pauseCore];
|
[self pauseCore];
|
||||||
|
|
||||||
BOOL result = NO;
|
|
||||||
NSInteger buttonClicked;
|
|
||||||
NSSavePanel *panel = [NSSavePanel savePanel];
|
NSSavePanel *panel = [NSSavePanel savePanel];
|
||||||
[panel setTitle:NSSTRING_TITLE_EXPORT_ROM_SAVE_PANEL];
|
[panel setTitle:NSSTRING_TITLE_EXPORT_ROM_SAVE_PANEL];
|
||||||
[panel setCanCreateDirectories:YES];
|
[panel setCanCreateDirectories:YES];
|
||||||
[panel setAccessoryView:exportRomSavePanelAccessoryView];
|
[panel setAccessoryView:exportRomSavePanelAccessoryView];
|
||||||
|
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
if(buttonClicked == NSOKButton)
|
if(buttonClicked == NSOKButton)
|
||||||
{
|
{
|
||||||
NSURL *romSaveURL = [CocoaDSFile fileURLFromRomURL:[[self currentRom] fileURL] toKind:@"ROM Save"];
|
NSURL *romSaveURL = [CocoaDSFile fileURLFromRomURL:[[self currentRom] fileURL] toKind:@"ROM Save"];
|
||||||
if (romSaveURL != nil)
|
if (romSaveURL != nil)
|
||||||
{
|
{
|
||||||
result = [CocoaDSFile exportRomSaveToURL:[panel URL] romSaveURL:romSaveURL fileType:selectedExportRomSaveID];
|
const BOOL isRomSaveExported = [CocoaDSFile exportRomSaveToURL:[panel URL] romSaveURL:romSaveURL fileType:selectedExportRomSaveID];
|
||||||
if (result == NO)
|
[self setStatusText:(isRomSaveExported) ? NSSTRING_STATUS_ROM_SAVE_EXPORTED : NSSTRING_STATUS_ROM_SAVE_EXPORT_FAILED];
|
||||||
{
|
|
||||||
[self setStatusText:NSSTRING_STATUS_ROM_SAVE_EXPORT_FAILED];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
[self setStatusText:NSSTRING_STATUS_ROM_SAVE_EXPORTED];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -620,35 +578,37 @@
|
||||||
|
|
||||||
- (IBAction) resetCore:(id)sender
|
- (IBAction) resetCore:(id)sender
|
||||||
{
|
{
|
||||||
|
if ([self currentRom] == nil)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
|
||||||
if ([self currentRom] != nil)
|
[self setStatusText:NSSTRING_STATUS_EMULATOR_RESETTING];
|
||||||
|
[self setIsWorking:YES];
|
||||||
|
|
||||||
|
for (NSWindow *theWindow in windowList)
|
||||||
|
{
|
||||||
|
[theWindow displayIfNeeded];
|
||||||
|
}
|
||||||
|
|
||||||
|
[cdsCore reset];
|
||||||
|
if ([cdsCore coreState] == CORESTATE_PAUSE)
|
||||||
{
|
{
|
||||||
[self setStatusText:NSSTRING_STATUS_EMULATOR_RESETTING];
|
|
||||||
[self setIsWorking:YES];
|
|
||||||
|
|
||||||
for (NSWindow *theWindow in windowList)
|
for (NSWindow *theWindow in windowList)
|
||||||
{
|
{
|
||||||
[theWindow displayIfNeeded];
|
[[(EmuWindowDelegate *)[theWindow delegate] dispViewDelegate] setViewToWhite];
|
||||||
}
|
|
||||||
|
|
||||||
[cdsCore reset];
|
|
||||||
if ([cdsCore coreState] == CORESTATE_PAUSE)
|
|
||||||
{
|
|
||||||
for (NSWindow *theWindow in windowList)
|
|
||||||
{
|
|
||||||
[[(EmuWindowDelegate *)[theWindow delegate] dispViewDelegate] setViewToWhite];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[self setStatusText:NSSTRING_STATUS_EMULATOR_RESET];
|
|
||||||
[self setIsWorking:NO];
|
|
||||||
|
|
||||||
for (NSWindow *theWindow in windowList)
|
|
||||||
{
|
|
||||||
[theWindow displayIfNeeded];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[self setStatusText:NSSTRING_STATUS_EMULATOR_RESET];
|
||||||
|
[self setIsWorking:NO];
|
||||||
|
|
||||||
|
for (NSWindow *theWindow in windowList)
|
||||||
|
{
|
||||||
|
[theWindow displayIfNeeded];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) speedLimitDisable:(id)sender
|
- (IBAction) speedLimitDisable:(id)sender
|
||||||
|
@ -711,7 +671,6 @@
|
||||||
- (IBAction) changeCoreSpeed:(id)sender
|
- (IBAction) changeCoreSpeed:(id)sender
|
||||||
{
|
{
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
|
||||||
[cdsCore setSpeedScalar:(CGFloat)[CocoaDSUtil getIBActionSenderTag:sender] / 100.0f];
|
[cdsCore setSpeedScalar:(CGFloat)[CocoaDSUtil getIBActionSenderTag:sender] / 100.0f];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -750,7 +709,7 @@
|
||||||
|
|
||||||
- (IBAction) changeVolume:(id)sender
|
- (IBAction) changeVolume:(id)sender
|
||||||
{
|
{
|
||||||
float vol = [self currentVolumeValue];
|
const float vol = [self currentVolumeValue];
|
||||||
[self setCurrentVolumeValue:vol];
|
[self setCurrentVolumeValue:vol];
|
||||||
[self setStatusText:[NSString stringWithFormat:NSSTRING_STATUS_VOLUME, vol]];
|
[self setStatusText:[NSString stringWithFormat:NSSTRING_STATUS_VOLUME, vol]];
|
||||||
[CocoaDSUtil messageSendOneWayWithFloat:[cdsSpeaker receivePort] msgID:MESSAGE_SET_VOLUME floatValue:vol];
|
[CocoaDSUtil messageSendOneWayWithFloat:[cdsSpeaker receivePort] msgID:MESSAGE_SET_VOLUME floatValue:vol];
|
||||||
|
@ -924,13 +883,13 @@
|
||||||
|
|
||||||
if ([self currentRom] != nil)
|
if ([self currentRom] != nil)
|
||||||
{
|
{
|
||||||
BOOL closeResult = [self handleUnloadRom:REASONFORCLOSE_OPEN romToLoad:fileURL];
|
const BOOL closeResult = [self handleUnloadRom:REASONFORCLOSE_OPEN romToLoad:fileURL];
|
||||||
if ([self isShowingSaveStateDialog])
|
if ([self isShowingSaveStateDialog])
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (![self isShowingFileMigrationDialog] && closeResult == NO)
|
if (![self isShowingFileMigrationDialog] && !closeResult)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -987,7 +946,6 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
[currentSaveStateURL retain];
|
|
||||||
[self setIsUserInterfaceBlockingExecution:YES];
|
[self setIsUserInterfaceBlockingExecution:YES];
|
||||||
[self setIsShowingSaveStateDialog:YES];
|
[self setIsShowingSaveStateDialog:YES];
|
||||||
|
|
||||||
|
@ -1047,7 +1005,7 @@
|
||||||
{
|
{
|
||||||
CocoaDSRom *theRom = [aNotification object];
|
CocoaDSRom *theRom = [aNotification object];
|
||||||
NSDictionary *userInfo = [aNotification userInfo];
|
NSDictionary *userInfo = [aNotification userInfo];
|
||||||
BOOL didLoad = [(NSNumber *)[userInfo valueForKey:@"DidLoad"] boolValue];
|
const BOOL didLoad = [(NSNumber *)[userInfo valueForKey:@"DidLoad"] boolValue];
|
||||||
|
|
||||||
if (theRom == nil || ![theRom isDataLoaded] || !didLoad)
|
if (theRom == nil || ![theRom isDataLoaded] || !didLoad)
|
||||||
{
|
{
|
||||||
|
@ -1174,8 +1132,7 @@
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
BOOL result = NO;
|
||||||
|
|
||||||
[currentSaveStateURL release];
|
[self setCurrentSaveStateURL:nil];
|
||||||
currentSaveStateURL = nil;
|
|
||||||
|
|
||||||
isSaveStateEdited = NO;
|
isSaveStateEdited = NO;
|
||||||
for (NSWindow *theWindow in windowList)
|
for (NSWindow *theWindow in windowList)
|
||||||
|
@ -1341,7 +1298,7 @@
|
||||||
- (IBAction) closeSheet:(id)sender
|
- (IBAction) closeSheet:(id)sender
|
||||||
{
|
{
|
||||||
NSWindow *sheet = [(NSControl *)sender window];
|
NSWindow *sheet = [(NSControl *)sender window];
|
||||||
NSInteger code = [(NSControl *)sender tag];
|
const NSInteger code = [(NSControl *)sender tag];
|
||||||
|
|
||||||
[NSApp endSheet:sheet returnCode:code];
|
[NSApp endSheet:sheet returnCode:code];
|
||||||
}
|
}
|
||||||
|
@ -1373,8 +1330,6 @@
|
||||||
|
|
||||||
- (void) didEndSaveStateSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
|
- (void) didEndSaveStateSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
|
||||||
{
|
{
|
||||||
BOOL result = NO;
|
|
||||||
|
|
||||||
[sheet orderOut:self];
|
[sheet orderOut:self];
|
||||||
|
|
||||||
switch (returnCode)
|
switch (returnCode)
|
||||||
|
@ -1387,13 +1342,16 @@
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COCOA_DIALOG_DEFAULT: // Save
|
case COCOA_DIALOG_DEFAULT: // Save
|
||||||
result = [CocoaDSFile saveState:[self currentSaveStateURL]];
|
{
|
||||||
if (result == NO)
|
const BOOL isStateSaved = [CocoaDSFile saveState:[self currentSaveStateURL]];
|
||||||
|
if (!isStateSaved)
|
||||||
{
|
{
|
||||||
// Throw an error here...
|
// Throw an error here...
|
||||||
|
[self setStatusText:NSSTRING_STATUS_SAVESTATE_SAVING_FAILED];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case COCOA_DIALOG_OPTION: // Don't Save
|
case COCOA_DIALOG_OPTION: // Don't Save
|
||||||
break;
|
break;
|
||||||
|
@ -1405,9 +1363,6 @@
|
||||||
[self unloadRom];
|
[self unloadRom];
|
||||||
[self setIsUserInterfaceBlockingExecution:NO];
|
[self setIsUserInterfaceBlockingExecution:NO];
|
||||||
[self setIsShowingSaveStateDialog:NO];
|
[self setIsShowingSaveStateDialog:NO];
|
||||||
|
|
||||||
// We retained this when we initially put up the sheet, so we need to release it now.
|
|
||||||
[self setCurrentSaveStateURL:nil];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) didEndSaveStateSheetOpen:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
|
- (void) didEndSaveStateSheetOpen:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
|
||||||
|
@ -1439,7 +1394,7 @@
|
||||||
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)theItem
|
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)theItem
|
||||||
{
|
{
|
||||||
BOOL enable = YES;
|
BOOL enable = YES;
|
||||||
SEL theAction = [theItem action];
|
const SEL theAction = [theItem action];
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
|
||||||
if (theAction == @selector(importRomSave:) ||
|
if (theAction == @selector(importRomSave:) ||
|
||||||
|
@ -1452,8 +1407,8 @@
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(executeCoreToggle:))
|
else if (theAction == @selector(executeCoreToggle:))
|
||||||
{
|
{
|
||||||
if ([self currentRom] == nil ||
|
if (![cdsCore masterExecute] ||
|
||||||
![cdsCore masterExecute] ||
|
[self currentRom] == nil ||
|
||||||
[self isUserInterfaceBlockingExecution])
|
[self isUserInterfaceBlockingExecution])
|
||||||
{
|
{
|
||||||
enable = NO;
|
enable = NO;
|
||||||
|
@ -1487,8 +1442,8 @@
|
||||||
else if (theAction == @selector(executeCore) ||
|
else if (theAction == @selector(executeCore) ||
|
||||||
theAction == @selector(pauseCore))
|
theAction == @selector(pauseCore))
|
||||||
{
|
{
|
||||||
if ([self currentRom] == nil ||
|
if (![cdsCore masterExecute] ||
|
||||||
![cdsCore masterExecute] ||
|
[self currentRom] == nil ||
|
||||||
[self isShowingSaveStateDialog])
|
[self isShowingSaveStateDialog])
|
||||||
{
|
{
|
||||||
enable = NO;
|
enable = NO;
|
||||||
|
@ -1524,11 +1479,7 @@
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(loadEmuSaveStateSlot:))
|
else if (theAction == @selector(loadEmuSaveStateSlot:))
|
||||||
{
|
{
|
||||||
if ([self currentRom] == nil || [self isShowingSaveStateDialog])
|
if ([self currentRom] == nil || [self isShowingSaveStateDialog] || ![CocoaDSFile saveStateExistsForSlot:[[self currentRom] fileURL] slotNumber:[theItem tag] + 1])
|
||||||
{
|
|
||||||
enable = NO;
|
|
||||||
}
|
|
||||||
else if (![CocoaDSFile saveStateExistsForSlot:[[self currentRom] fileURL] slotNumber:[theItem tag] + 1])
|
|
||||||
{
|
{
|
||||||
enable = NO;
|
enable = NO;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,6 @@ enum OGLVertexAttributeID
|
||||||
NSMutableDictionary *bindings;
|
NSMutableDictionary *bindings;
|
||||||
|
|
||||||
OSSpinLock spinlockNormalSize;
|
OSSpinLock spinlockNormalSize;
|
||||||
OSSpinLock spinlockGpuStateFlags;
|
|
||||||
OSSpinLock spinlockScale;
|
OSSpinLock spinlockScale;
|
||||||
OSSpinLock spinlockRotation;
|
OSSpinLock spinlockRotation;
|
||||||
OSSpinLock spinlockUseBilinearOutput;
|
OSSpinLock spinlockUseBilinearOutput;
|
||||||
|
|
|
@ -107,7 +107,6 @@ const char *fragmentProgram_100 = {"\
|
||||||
|
|
||||||
view = nil;
|
view = nil;
|
||||||
spinlockNormalSize = OS_SPINLOCK_INIT;
|
spinlockNormalSize = OS_SPINLOCK_INIT;
|
||||||
spinlockGpuStateFlags = OS_SPINLOCK_INIT;
|
|
||||||
spinlockScale = OS_SPINLOCK_INIT;
|
spinlockScale = OS_SPINLOCK_INIT;
|
||||||
spinlockRotation = OS_SPINLOCK_INIT;
|
spinlockRotation = OS_SPINLOCK_INIT;
|
||||||
spinlockUseBilinearOutput = OS_SPINLOCK_INIT;
|
spinlockUseBilinearOutput = OS_SPINLOCK_INIT;
|
||||||
|
|
|
@ -234,7 +234,7 @@
|
||||||
|
|
||||||
- (IBAction) changeRotationRelative:(id)sender
|
- (IBAction) changeRotationRelative:(id)sender
|
||||||
{
|
{
|
||||||
double angleDegrees = [dispViewDelegate rotation] + (double)[CocoaDSUtil getIBActionSenderTag:sender];
|
const double angleDegrees = [dispViewDelegate rotation] + (double)[CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
[self setContentRotation:angleDegrees];
|
[self setContentRotation:angleDegrees];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@
|
||||||
|
|
||||||
- (IBAction) changeDisplayMode:(id)sender
|
- (IBAction) changeDisplayMode:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger newDisplayModeID = [CocoaDSUtil getIBActionSenderTag:sender];
|
const NSInteger newDisplayModeID = [CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
|
|
||||||
if (newDisplayModeID == [dispViewDelegate displayMode])
|
if (newDisplayModeID == [dispViewDelegate displayMode])
|
||||||
{
|
{
|
||||||
|
@ -263,7 +263,7 @@
|
||||||
|
|
||||||
- (IBAction) changeDisplayOrientation:(id)sender
|
- (IBAction) changeDisplayOrientation:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger newDisplayOrientation = [CocoaDSUtil getIBActionSenderTag:sender];
|
const NSInteger newDisplayOrientation = [CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
|
|
||||||
if (newDisplayOrientation == [dispViewDelegate displayOrientation])
|
if (newDisplayOrientation == [dispViewDelegate displayOrientation])
|
||||||
{
|
{
|
||||||
|
@ -336,14 +336,7 @@
|
||||||
|
|
||||||
- (IBAction) toggleStatusBar:(id)sender
|
- (IBAction) toggleStatusBar:(id)sender
|
||||||
{
|
{
|
||||||
if (isShowingStatusBar)
|
[self setShowStatusBar:(isShowingStatusBar) ? NO : YES];
|
||||||
{
|
|
||||||
[self setShowStatusBar:NO];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[self setShowStatusBar:YES];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setShowStatusBar:(BOOL)showStatusBar
|
- (void) setShowStatusBar:(BOOL)showStatusBar
|
||||||
|
@ -395,14 +388,12 @@
|
||||||
|
|
||||||
[emuControl pauseCore];
|
[emuControl pauseCore];
|
||||||
|
|
||||||
NSInteger buttonClicked = NSFileHandlingPanelCancelButton;
|
|
||||||
NSSavePanel *panel = [NSSavePanel savePanel];
|
NSSavePanel *panel = [NSSavePanel savePanel];
|
||||||
|
|
||||||
[panel setCanCreateDirectories:YES];
|
[panel setCanCreateDirectories:YES];
|
||||||
[panel setTitle:NSSTRING_TITLE_SAVE_SCREENSHOT_PANEL];
|
[panel setTitle:NSSTRING_TITLE_SAVE_SCREENSHOT_PANEL];
|
||||||
[panel setAccessoryView:saveScreenshotPanelAccessoryView];
|
[panel setAccessoryView:saveScreenshotPanelAccessoryView];
|
||||||
|
|
||||||
buttonClicked = [panel runModal];
|
const NSInteger buttonClicked = [panel runModal];
|
||||||
if(buttonClicked == NSOKButton)
|
if(buttonClicked == NSOKButton)
|
||||||
{
|
{
|
||||||
[dispViewDelegate requestScreenshot:[panel URL] fileType:screenshotFileFormat];
|
[dispViewDelegate requestScreenshot:[panel URL] fileType:screenshotFileFormat];
|
||||||
|
@ -420,7 +411,7 @@
|
||||||
NSBitmapImageFileType fileType = (NSBitmapImageFileType)[(NSNumber *)[[aNotification userInfo] valueForKey:@"fileType"] integerValue];
|
NSBitmapImageFileType fileType = (NSBitmapImageFileType)[(NSNumber *)[[aNotification userInfo] valueForKey:@"fileType"] integerValue];
|
||||||
NSImage *screenshotImage = (NSImage *)[[aNotification userInfo] valueForKey:@"screenshotImage"];
|
NSImage *screenshotImage = (NSImage *)[[aNotification userInfo] valueForKey:@"screenshotImage"];
|
||||||
|
|
||||||
BOOL fileSaved = [CocoaDSFile saveScreenshot:fileURL bitmapData:[[screenshotImage representations] objectAtIndex:0] fileType:fileType];
|
const BOOL fileSaved = [CocoaDSFile saveScreenshot:fileURL bitmapData:[[screenshotImage representations] objectAtIndex:0] fileType:fileType];
|
||||||
if (!fileSaved)
|
if (!fileSaved)
|
||||||
{
|
{
|
||||||
[CocoaDSUtil quickDialogUsingTitle:NSSTRING_ERROR_TITLE_LEGACY message:NSSTRING_ERROR_SCREENSHOT_FAILED_LEGACY];
|
[CocoaDSUtil quickDialogUsingTitle:NSSTRING_ERROR_TITLE_LEGACY message:NSSTRING_ERROR_SCREENSHOT_FAILED_LEGACY];
|
||||||
|
@ -432,22 +423,15 @@
|
||||||
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)theItem
|
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)theItem
|
||||||
{
|
{
|
||||||
BOOL enable = YES;
|
BOOL enable = YES;
|
||||||
SEL theAction = [theItem action];
|
const SEL theAction = [theItem action];
|
||||||
|
|
||||||
if (theAction == @selector(changeScale:))
|
if (theAction == @selector(changeScale:))
|
||||||
{
|
{
|
||||||
NSInteger viewScale = (NSInteger)([dispViewDelegate scale] * 100.0);
|
const NSInteger viewScale = (NSInteger)([dispViewDelegate scale] * 100.0);
|
||||||
|
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if (viewScale == [theItem tag])
|
[(NSMenuItem*)theItem setState:(viewScale == [theItem tag]) ? NSOnState : NSOffState];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOnState];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOffState];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(changeRotation:))
|
else if (theAction == @selector(changeRotation:))
|
||||||
|
@ -484,84 +468,42 @@
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if ([dispViewDelegate displayMode] == [theItem tag])
|
[(NSMenuItem*)theItem setState:([dispViewDelegate displayMode] == [theItem tag]) ? NSOnState : NSOffState];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOnState];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOffState];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(changeDisplayOrientation:))
|
else if (theAction == @selector(changeDisplayOrientation:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if ([dispViewDelegate displayOrientation] == [theItem tag])
|
[(NSMenuItem*)theItem setState:([dispViewDelegate displayOrientation] == [theItem tag]) ? NSOnState : NSOffState];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOnState];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOffState];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(changeDisplayOrder:))
|
else if (theAction == @selector(changeDisplayOrder:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if ([dispViewDelegate displayOrder] == [theItem tag])
|
[(NSMenuItem*)theItem setState:([dispViewDelegate displayOrder] == [theItem tag]) ? NSOnState : NSOffState];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOnState];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOffState];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(hudDisable:))
|
else if (theAction == @selector(hudDisable:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if ([dispViewDelegate isHudEnabled])
|
[(NSMenuItem*)theItem setTitle:([dispViewDelegate isHudEnabled]) ? NSSTRING_TITLE_DISABLE_HUD : NSSTRING_TITLE_ENABLE_HUD];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setTitle:NSSTRING_TITLE_DISABLE_HUD];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setTitle:NSSTRING_TITLE_ENABLE_HUD];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(toggleStatusBar:))
|
else if (theAction == @selector(toggleStatusBar:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if (isShowingStatusBar)
|
[(NSMenuItem*)theItem setTitle:(isShowingStatusBar) ? NSSTRING_TITLE_HIDE_STATUS_BAR : NSSTRING_TITLE_SHOW_STATUS_BAR];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setTitle:NSSTRING_TITLE_HIDE_STATUS_BAR];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setTitle:NSSTRING_TITLE_SHOW_STATUS_BAR];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (theAction == @selector(toggleKeepMinDisplaySizeAtNormal:))
|
else if (theAction == @selector(toggleKeepMinDisplaySizeAtNormal:))
|
||||||
{
|
{
|
||||||
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
if ([(id)theItem isMemberOfClass:[NSMenuItem class]])
|
||||||
{
|
{
|
||||||
if (isMinSizeNormal)
|
[(NSMenuItem*)theItem setState:(isMinSizeNormal) ? NSOnState : NSOffState];
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOnState];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[(NSMenuItem*)theItem setState:NSOffState];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -576,9 +518,6 @@
|
||||||
|
|
||||||
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
|
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
|
||||||
{
|
{
|
||||||
NSSize finalSize = frameSize;
|
|
||||||
const NSSize normalBounds = [dispViewDelegate normalSize];
|
|
||||||
|
|
||||||
// Get a content Rect so that we can make our comparison.
|
// Get a content Rect so that we can make our comparison.
|
||||||
// This will be based on the proposed frameSize.
|
// This will be based on the proposed frameSize.
|
||||||
const NSRect frameRect = NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height);
|
const NSRect frameRect = NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height);
|
||||||
|
@ -586,17 +525,16 @@
|
||||||
|
|
||||||
// Find the maximum scalar we can use for the display view, bounded by the
|
// Find the maximum scalar we can use for the display view, bounded by the
|
||||||
// content Rect.
|
// content Rect.
|
||||||
const NSSize checkSize = GetTransformedBounds(normalBounds, 1.0, [dispViewDelegate rotation]);
|
const NSSize checkSize = GetTransformedBounds([dispViewDelegate normalSize], 1.0, [dispViewDelegate rotation]);
|
||||||
const NSSize contentBounds = NSMakeSize(contentRect.size.width, contentRect.size.height - statusBarHeight);
|
const NSSize contentBounds = NSMakeSize(contentRect.size.width, contentRect.size.height - statusBarHeight);
|
||||||
const double maxS = GetMaxScalarInBounds(checkSize.width, checkSize.height, contentBounds.width, contentBounds.height);
|
const double maxS = GetMaxScalarInBounds(checkSize.width, checkSize.height, contentBounds.width, contentBounds.height);
|
||||||
|
|
||||||
// Make a new content Rect with our max scalar, and convert it back to a frame Rect.
|
// Make a new content Rect with our max scalar, and convert it back to a frame Rect.
|
||||||
const NSRect finalContentRect = NSMakeRect(0.0f, 0.0f, checkSize.width * maxS, (checkSize.height * maxS) + statusBarHeight);
|
const NSRect finalContentRect = NSMakeRect(0.0f, 0.0f, checkSize.width * maxS, (checkSize.height * maxS) + statusBarHeight);
|
||||||
NSRect finalFrameRect = [sender frameRectForContentRect:finalContentRect];
|
const NSRect finalFrameRect = [sender frameRectForContentRect:finalContentRect];
|
||||||
|
|
||||||
// Set the final size based on our new frame Rect.
|
// Set the final size based on our new frame Rect.
|
||||||
finalSize.width = finalFrameRect.size.width;
|
const NSSize finalSize = {finalFrameRect.size.width, finalFrameRect.size.height};
|
||||||
finalSize.height = finalFrameRect.size.height;
|
|
||||||
|
|
||||||
return finalSize;
|
return finalSize;
|
||||||
}
|
}
|
||||||
|
@ -608,11 +546,8 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const NSSize normalBounds = [dispViewDelegate normalSize];
|
|
||||||
const double r = [dispViewDelegate rotation];
|
|
||||||
|
|
||||||
// Get the max scalar within the window's current content bounds.
|
// Get the max scalar within the window's current content bounds.
|
||||||
const NSSize checkSize = GetTransformedBounds(normalBounds, 1.0, r);
|
const NSSize checkSize = GetTransformedBounds([dispViewDelegate normalSize], 1.0, [dispViewDelegate rotation]);
|
||||||
NSSize contentBounds = [[window contentView] bounds].size;
|
NSSize contentBounds = [[window contentView] bounds].size;
|
||||||
contentBounds.height -= statusBarHeight;
|
contentBounds.height -= statusBarHeight;
|
||||||
const double maxS = GetMaxScalarInBounds(checkSize.width, checkSize.height, contentBounds.width, contentBounds.height);
|
const double maxS = GetMaxScalarInBounds(checkSize.width, checkSize.height, contentBounds.width, contentBounds.height);
|
||||||
|
@ -653,8 +588,8 @@
|
||||||
[self setShowStatusBar:[[NSUserDefaults standardUserDefaults] boolForKey:@"DisplayView_ShowStatusBar"]];
|
[self setShowStatusBar:[[NSUserDefaults standardUserDefaults] boolForKey:@"DisplayView_ShowStatusBar"]];
|
||||||
|
|
||||||
// Set the display settings per user preferences.
|
// Set the display settings per user preferences.
|
||||||
double displayScalar = (double)([[NSUserDefaults standardUserDefaults] floatForKey:@"DisplayView_Size"] / 100.0);
|
const double displayScalar = (double)([[NSUserDefaults standardUserDefaults] floatForKey:@"DisplayView_Size"] / 100.0);
|
||||||
double displayRotation = (double)[[NSUserDefaults standardUserDefaults] floatForKey:@"DisplayView_Rotation"];
|
const double displayRotation = (double)[[NSUserDefaults standardUserDefaults] floatForKey:@"DisplayView_Rotation"];
|
||||||
[dispViewDelegate setDisplayMode:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayView_Mode"]];
|
[dispViewDelegate setDisplayMode:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayView_Mode"]];
|
||||||
[dispViewDelegate setDisplayOrientation:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayViewCombo_Orientation"]];
|
[dispViewDelegate setDisplayOrientation:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayViewCombo_Orientation"]];
|
||||||
[dispViewDelegate setDisplayOrder:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayViewCombo_Order"]];
|
[dispViewDelegate setDisplayOrder:[[NSUserDefaults standardUserDefaults] integerForKey:@"DisplayViewCombo_Order"]];
|
||||||
|
|
|
@ -93,14 +93,7 @@
|
||||||
vfWidth = (NSUInteger)vfDestSize.width;
|
vfWidth = (NSUInteger)vfDestSize.width;
|
||||||
vfHeight = (NSUInteger)vfDestSize.height;
|
vfHeight = (NSUInteger)vfDestSize.height;
|
||||||
|
|
||||||
if (useBilinear)
|
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:(useBilinear) ? VideoFilterTypeID_Bilinear : VideoFilterTypeID_Nearest2X];
|
||||||
{
|
|
||||||
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:VideoFilterTypeID_Bilinear];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:VideoFilterTypeID_Nearest2X];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (vfWidth >= 256 || vfHeight >= 256)
|
else if (vfWidth >= 256 || vfHeight >= 256)
|
||||||
{
|
{
|
||||||
|
@ -108,14 +101,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (useBilinear)
|
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:(useBilinear) ? VideoFilterTypeID_Bilinear : VideoFilterTypeID_Nearest2X];
|
||||||
{
|
|
||||||
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:VideoFilterTypeID_Bilinear];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
bilinearVideoFilter = [[CocoaVideoFilter alloc] initWithSize:vfDestSize typeID:VideoFilterTypeID_Nearest2X];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RGBA8888ForceOpaqueBuffer((const uint32_t *)[videoFilter runFilter], (uint32_t *)[bilinearVideoFilter srcBufferPtr], (vfWidth * vfHeight));
|
RGBA8888ForceOpaqueBuffer((const uint32_t *)[videoFilter runFilter], (uint32_t *)[bilinearVideoFilter srcBufferPtr], (vfWidth * vfHeight));
|
||||||
|
@ -171,7 +157,7 @@
|
||||||
|
|
||||||
- (IBAction) selectAutoloadRomOption:(id)sender
|
- (IBAction) selectAutoloadRomOption:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger option = [(NSMenuItem *)sender tag];
|
const NSInteger option = [(NSMenuItem *)sender tag];
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] setInteger:option forKey:@"General_AutoloadROMOption"];
|
[[NSUserDefaults standardUserDefaults] setInteger:option forKey:@"General_AutoloadROMOption"];
|
||||||
|
|
||||||
|
@ -334,7 +320,7 @@
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:selectedFile forKey:@"R4Cheat_DatabasePath"];
|
[[NSUserDefaults standardUserDefaults] setObject:selectedFile forKey:@"R4Cheat_DatabasePath"];
|
||||||
[bindings setValue:[selectedFile lastPathComponent] forKey:@"R4CheatDatabaseName"];
|
[bindings setValue:[selectedFile lastPathComponent] forKey:@"R4CheatDatabaseName"];
|
||||||
|
|
||||||
BOOL isRomLoaded = [(NSNumber *)[(NSMutableDictionary *)[emuWindowController content] valueForKey:@"isRomLoaded"] boolValue];
|
const BOOL isRomLoaded = [(NSNumber *)[(NSMutableDictionary *)[emuWindowController content] valueForKey:@"isRomLoaded"] boolValue];
|
||||||
NSMutableDictionary *cheatWindowBindings = (NSMutableDictionary *)[cheatWindowController content];
|
NSMutableDictionary *cheatWindowBindings = (NSMutableDictionary *)[cheatWindowController content];
|
||||||
CocoaDSCheatManager *cdsCheats = (CocoaDSCheatManager *)[cheatWindowBindings valueForKey:@"cheatList"];
|
CocoaDSCheatManager *cdsCheats = (CocoaDSCheatManager *)[cheatWindowBindings valueForKey:@"cheatList"];
|
||||||
|
|
||||||
|
@ -394,30 +380,24 @@
|
||||||
- (IBAction) selectSoundInputMode:(id)sender
|
- (IBAction) selectSoundInputMode:(id)sender
|
||||||
{
|
{
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
if (cdsCore != nil)
|
[cdsCore.cdsController setSoundInputMode:[[NSUserDefaults standardUserDefaults] integerForKey:@"Input_AudioInputMode"]];
|
||||||
{
|
|
||||||
[cdsCore.cdsController setSoundInputMode:[[NSUserDefaults standardUserDefaults] integerForKey:@"Input_AudioInputMode"]];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) selectDisplayMode:(id)sender
|
- (IBAction) selectDisplayMode:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger displayMode = [(NSMenuItem *)sender tag];
|
const NSInteger displayMode = [(NSMenuItem *)sender tag];
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] setInteger:displayMode forKey:@"DisplayView_Mode"];
|
[[NSUserDefaults standardUserDefaults] setInteger:displayMode forKey:@"DisplayView_Mode"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) selectDisplaySize:(id)sender
|
- (IBAction) selectDisplaySize:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger displaySize = [(NSMenuItem *)sender tag];
|
const NSInteger displaySize = [(NSMenuItem *)sender tag];
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] setInteger:displaySize forKey:@"DisplayView_Size"];
|
[[NSUserDefaults standardUserDefaults] setInteger:displaySize forKey:@"DisplayView_Size"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) selectDisplayRotation:(id)sender
|
- (IBAction) selectDisplayRotation:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger displayRotation = [(NSMenuItem *)sender tag];
|
const NSInteger displayRotation = [(NSMenuItem *)sender tag];
|
||||||
|
|
||||||
if (displayRotation != -1)
|
if (displayRotation != -1)
|
||||||
{
|
{
|
||||||
[[NSUserDefaults standardUserDefaults] setDouble:displayRotation forKey:@"DisplayView_Rotation"];
|
[[NSUserDefaults standardUserDefaults] setDouble:displayRotation forKey:@"DisplayView_Rotation"];
|
||||||
|
@ -426,20 +406,13 @@
|
||||||
|
|
||||||
- (IBAction) setUseBilinear:(id)sender
|
- (IBAction) setUseBilinear:(id)sender
|
||||||
{
|
{
|
||||||
BOOL useBilinear = [CocoaDSUtil getIBActionSenderButtonStateBool:sender];
|
const BOOL useBilinear = [CocoaDSUtil getIBActionSenderButtonStateBool:sender];
|
||||||
NSUInteger previewSrcWidth = (NSUInteger)[bilinearVideoFilter srcSize].width;
|
const NSUInteger previewSrcWidth = (NSUInteger)[bilinearVideoFilter srcSize].width;
|
||||||
NSUInteger previewSrcHeight = (NSUInteger)[bilinearVideoFilter srcSize].height;
|
const NSUInteger previewSrcHeight = (NSUInteger)[bilinearVideoFilter srcSize].height;
|
||||||
|
|
||||||
if (previewSrcWidth <= 128 || previewSrcHeight <= 128)
|
if (previewSrcWidth <= 128 || previewSrcHeight <= 128)
|
||||||
{
|
{
|
||||||
if (useBilinear)
|
[bilinearVideoFilter changeFilter:(useBilinear) ? VideoFilterTypeID_Bilinear : VideoFilterTypeID_Nearest2X];
|
||||||
{
|
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Bilinear];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Nearest2X];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NSBitmapImageRep *newPreviewImageRep = [bilinearVideoFilter bitmapImageRep];
|
NSBitmapImageRep *newPreviewImageRep = [bilinearVideoFilter bitmapImageRep];
|
||||||
|
@ -455,8 +428,8 @@
|
||||||
|
|
||||||
- (IBAction) selectVideoFilterType:(id)sender
|
- (IBAction) selectVideoFilterType:(id)sender
|
||||||
{
|
{
|
||||||
VideoFilterTypeID vfType = (VideoFilterTypeID)[CocoaDSUtil getIBActionSenderTag:sender];
|
const VideoFilterTypeID vfType = (VideoFilterTypeID)[CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
BOOL useBilinear = [[NSUserDefaults standardUserDefaults] boolForKey:@"DisplayView_UseBilinearOutput"];
|
const BOOL useBilinear = [[NSUserDefaults standardUserDefaults] boolForKey:@"DisplayView_UseBilinearOutput"];
|
||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] setInteger:vfType forKey:@"DisplayView_VideoFilter"];
|
[[NSUserDefaults standardUserDefaults] setInteger:vfType forKey:@"DisplayView_VideoFilter"];
|
||||||
|
|
||||||
|
@ -471,16 +444,9 @@
|
||||||
vfDestSize = [videoFilter destSize];
|
vfDestSize = [videoFilter destSize];
|
||||||
vfWidth = (NSUInteger)vfDestSize.width;
|
vfWidth = (NSUInteger)vfDestSize.width;
|
||||||
vfHeight = (NSUInteger)vfDestSize.height;
|
vfHeight = (NSUInteger)vfDestSize.height;
|
||||||
[bilinearVideoFilter setSourceSize:vfDestSize];
|
|
||||||
|
|
||||||
if (useBilinear)
|
[bilinearVideoFilter setSourceSize:vfDestSize];
|
||||||
{
|
[bilinearVideoFilter changeFilter:(useBilinear) ? VideoFilterTypeID_Bilinear : VideoFilterTypeID_Nearest2X];
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Bilinear];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Nearest2X];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (vfWidth >= 256 || vfHeight >= 256)
|
else if (vfWidth >= 256 || vfHeight >= 256)
|
||||||
{
|
{
|
||||||
|
@ -490,15 +456,7 @@
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[bilinearVideoFilter setSourceSize:vfDestSize];
|
[bilinearVideoFilter setSourceSize:vfDestSize];
|
||||||
|
[bilinearVideoFilter changeFilter:(useBilinear) ? VideoFilterTypeID_Bilinear : VideoFilterTypeID_Nearest2X];
|
||||||
if (useBilinear)
|
|
||||||
{
|
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Bilinear];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[bilinearVideoFilter changeFilter:VideoFilterTypeID_Nearest2X];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RGBA8888ForceOpaqueBuffer((const uint32_t *)[videoFilter runFilter], (uint32_t *)[bilinearVideoFilter srcBufferPtr], (vfWidth * vfHeight));
|
RGBA8888ForceOpaqueBuffer((const uint32_t *)[videoFilter runFilter], (uint32_t *)[bilinearVideoFilter srcBufferPtr], (vfWidth * vfHeight));
|
||||||
|
@ -516,7 +474,7 @@
|
||||||
- (IBAction) updateVolumeIcon:(id)sender
|
- (IBAction) updateVolumeIcon:(id)sender
|
||||||
{
|
{
|
||||||
NSImage *iconImage = (NSImage *)[bindings objectForKey:@"volumeIconImage"];
|
NSImage *iconImage = (NSImage *)[bindings objectForKey:@"volumeIconImage"];
|
||||||
float vol = [[NSUserDefaults standardUserDefaults] floatForKey:@"Sound_Volume"];
|
const float vol = [[NSUserDefaults standardUserDefaults] floatForKey:@"Sound_Volume"];
|
||||||
|
|
||||||
if (vol <= 0.0f)
|
if (vol <= 0.0f)
|
||||||
{
|
{
|
||||||
|
@ -560,20 +518,13 @@
|
||||||
|
|
||||||
- (IBAction) selectSPUSyncMode:(id)sender
|
- (IBAction) selectSPUSyncMode:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger spuSyncMode = [[NSUserDefaults standardUserDefaults] integerForKey:@"SPU_SyncMode"];
|
const NSInteger spuSyncMode = [[NSUserDefaults standardUserDefaults] integerForKey:@"SPU_SyncMode"];
|
||||||
if (spuSyncMode == SPU_SYNC_MODE_DUAL_SYNC_ASYNC)
|
[spuSyncMethodMenu setEnabled:(spuSyncMode == SPU_SYNC_MODE_DUAL_SYNC_ASYNC) ? NO : YES];
|
||||||
{
|
|
||||||
[spuSyncMethodMenu setEnabled:NO];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[spuSyncMethodMenu setEnabled:YES];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) selectSPUSyncMethod:(id)sender
|
- (IBAction) selectSPUSyncMethod:(id)sender
|
||||||
{
|
{
|
||||||
NSInteger spuSyncMethod = [(NSMenuItem *)sender tag];
|
const NSInteger spuSyncMethod = [(NSMenuItem *)sender tag];
|
||||||
[[NSUserDefaults standardUserDefaults] setInteger:spuSyncMethod forKey:@"SPU_SyncMethod"];
|
[[NSUserDefaults standardUserDefaults] setInteger:spuSyncMethod forKey:@"SPU_SyncMethod"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -706,10 +657,7 @@
|
||||||
[bindings setValue:[selectedFile lastPathComponent] forKey:@"Arm9BiosImageName"];
|
[bindings setValue:[selectedFile lastPathComponent] forKey:@"Arm9BiosImageName"];
|
||||||
|
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
if (cdsCore != nil)
|
[cdsCore setArm9ImageURL:selectedFileURL];
|
||||||
{
|
|
||||||
[cdsCore setArm9ImageURL:selectedFileURL];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) chooseArm7BiosImageDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
|
- (void) chooseArm7BiosImageDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
|
||||||
|
@ -733,10 +681,7 @@
|
||||||
[bindings setValue:[selectedFile lastPathComponent] forKey:@"Arm7BiosImageName"];
|
[bindings setValue:[selectedFile lastPathComponent] forKey:@"Arm7BiosImageName"];
|
||||||
|
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
if (cdsCore != nil)
|
[cdsCore setArm7ImageURL:selectedFileURL];
|
||||||
{
|
|
||||||
[cdsCore setArm7ImageURL:selectedFileURL];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) chooseFirmwareImageDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
|
- (void) chooseFirmwareImageDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
|
||||||
|
@ -760,10 +705,7 @@
|
||||||
[bindings setValue:[selectedFile lastPathComponent] forKey:@"FirmwareImageName"];
|
[bindings setValue:[selectedFile lastPathComponent] forKey:@"FirmwareImageName"];
|
||||||
|
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
if (cdsCore != nil)
|
[cdsCore setFirmwareImageURL:selectedFileURL];
|
||||||
{
|
|
||||||
[cdsCore setFirmwareImageURL:selectedFileURL];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) configureInternalFirmware:(id)sender
|
- (IBAction) configureInternalFirmware:(id)sender
|
||||||
|
@ -778,7 +720,7 @@
|
||||||
- (IBAction) closeFirmwareConfigSheet:(id)sender
|
- (IBAction) closeFirmwareConfigSheet:(id)sender
|
||||||
{
|
{
|
||||||
NSWindow *sheet = [(NSControl *)sender window];
|
NSWindow *sheet = [(NSControl *)sender window];
|
||||||
NSInteger code = [CocoaDSUtil getIBActionSenderTag:sender];
|
const NSInteger code = [CocoaDSUtil getIBActionSenderTag:sender];
|
||||||
|
|
||||||
// Force end of editing of any text fields.
|
// Force end of editing of any text fields.
|
||||||
[sheet makeFirstResponder:nil];
|
[sheet makeFirstResponder:nil];
|
||||||
|
|
Loading…
Reference in New Issue