From b0fef6d6af8cde982a6f92f25a8d505c82416bbe Mon Sep 17 00:00:00 2001 From: rogerman Date: Wed, 11 Jan 2012 20:34:25 +0000 Subject: [PATCH] Cocoa Port: - Delete files that have been obsoleted by the move to xib-based format in r4149. --- desmume/src/cocoa/about.m | 331 ---- desmume/src/cocoa/dialogs/rom_info.h | 43 - desmume/src/cocoa/dialogs/rom_info.m | 302 ---- .../dialogs/speed_limit_selection_window.h | 37 - .../dialogs/speed_limit_selection_window.mm | 157 -- desmume/src/cocoa/main_window.h | 119 -- desmume/src/cocoa/main_window.mm | 1471 ----------------- desmume/src/cocoa/screenshot.h | 26 - desmume/src/cocoa/screenshot.mm | 198 --- .../Chinese.lproj/MainMenu (Legacy).xib | 771 --------- .../French.lproj/MainMenu (Legacy).xib | 774 --------- .../Italian.lproj/MainMenu (Legacy).xib | 774 --------- .../Japanese.lproj/MainMenu (Legacy).xib | 774 --------- .../Norwegian.lproj/MainMenu (Legacy).xib | 772 --------- .../Romanian.lproj/MainMenu (Legacy).xib | 774 --------- 15 files changed, 7323 deletions(-) delete mode 100644 desmume/src/cocoa/about.m delete mode 100644 desmume/src/cocoa/dialogs/rom_info.h delete mode 100644 desmume/src/cocoa/dialogs/rom_info.m delete mode 100644 desmume/src/cocoa/dialogs/speed_limit_selection_window.h delete mode 100644 desmume/src/cocoa/dialogs/speed_limit_selection_window.mm delete mode 100644 desmume/src/cocoa/main_window.h delete mode 100644 desmume/src/cocoa/main_window.mm delete mode 100644 desmume/src/cocoa/screenshot.h delete mode 100644 desmume/src/cocoa/screenshot.mm delete mode 100644 desmume/src/cocoa/translations/Chinese.lproj/MainMenu (Legacy).xib delete mode 100644 desmume/src/cocoa/translations/French.lproj/MainMenu (Legacy).xib delete mode 100644 desmume/src/cocoa/translations/Italian.lproj/MainMenu (Legacy).xib delete mode 100644 desmume/src/cocoa/translations/Japanese.lproj/MainMenu (Legacy).xib delete mode 100644 desmume/src/cocoa/translations/Norwegian.lproj/MainMenu (Legacy).xib delete mode 100644 desmume/src/cocoa/translations/Romanian.lproj/MainMenu (Legacy).xib diff --git a/desmume/src/cocoa/about.m b/desmume/src/cocoa/about.m deleted file mode 100644 index a4f31d635..000000000 --- a/desmume/src/cocoa/about.m +++ /dev/null @@ -1,331 +0,0 @@ -/* - Copyright (C) 2007 Jeff Bland - Copyright (C) 2011 Roger Manuel - Copyright (C) 2012 DeSmuME team - - This file is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This file is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the this software. If not, see . -*/ - -#import - -#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 - #include "macosx_10_4_compat.h" -#endif - -#import "cocoa_globals.h" - -#define STRING_FILENAME_README "README" -#define STRING_FILENAME_COPYING "COPYING" -#define STRING_FILENAME_AUTHORS "AUTHORS" -#define STRING_FILENAME_CHANGELOG "ChangeLog" - -#define STRING_TABLABEL_README "Read Me" -#define STRING_TABLABEL_LICENSE "License" -#define STRING_TABLABEL_AUTHORS "Authors" -#define STRING_TABLABEL_CHANGELOG "Change Log" - -const CGFloat inner_padding = 3; -const CGFloat outer_padding = 3; -const CGFloat tab_view_height = 240; -const CGFloat icon_size = 130; -const CGFloat window_width = 465; - -NSTextField *about_name; -NSTextField *about_description; -NSTextField *about_version; -NSTextField *about_date; -NSTextField *about_website; - -#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 -@interface AboutDelegate : NSObject -#else -@interface AboutDelegate : NSObject -#endif -{ -} -- (void)windowDidResize:(NSNotification*)notification; -- (void)windowWillClose:(NSNotification*)notification; - -+ (void) readTextFile:(NSString *)dataPath label:(NSString *)labelName tab:(NSTabView *)tabView; -@end - -@implementation AboutDelegate -- (void)windowDidResize:(NSNotification*)notification -{ - NSWindow *window = [notification object]; - CGFloat new_width = [window frame].size.width; - - NSRect temp = [about_name frame]; - temp.origin.x = (new_width - outer_padding*2-temp.size.width) / 2 + outer_padding; //center - if(temp.origin.x < outer_padding + icon_size)temp.origin.x = outer_padding + icon_size; //move left if overlapping icon - [about_name setFrame:temp]; - - temp = [about_description frame]; - temp.origin.x = (new_width - outer_padding*2-temp.size.width) / 2 + inner_padding; - if(temp.origin.x < outer_padding + icon_size)temp.origin.x = outer_padding + icon_size; - [about_description setFrame:temp]; - - temp = [about_version frame]; - temp.origin.x = (new_width - outer_padding*2-temp.size.width) / 2 + inner_padding; - if(temp.origin.x < outer_padding + icon_size)temp.origin.x = outer_padding + icon_size; - [about_version setFrame:temp]; - - temp = [about_date frame]; - temp.origin.x = (new_width - outer_padding*2-temp.size.width) / 2 + inner_padding; - if(temp.origin.x < outer_padding + icon_size)temp.origin.x = outer_padding + icon_size; - [about_date setFrame:temp]; - - temp = [about_website frame]; - temp.origin.x = (new_width - outer_padding*2-temp.size.width) / 2 + inner_padding; - if(temp.origin.x < outer_padding + icon_size)temp.origin.x = outer_padding + icon_size; - [about_website setFrame:temp]; - - [[window contentView] setNeedsDisplay:YES]; -} - -- (void)windowWillClose:(NSNotification*)notification -{ - //end our modal session if the about window closses - [NSApp stopModal]; -} - -+ (void) readTextFile:(NSString *)dataPath label:(NSString *)labelName tab:(NSTabView *)tabView -{ - NSRect rect; - rect.origin.x = rect.origin.y = 0; - - NSTabViewItem *tab_view_item = [[NSTabViewItem alloc] initWithIdentifier:nil]; - [tab_view_item setLabel:labelName]; - [tabView addTabViewItem:tab_view_item]; - - NSScrollView *scroll_view = [[NSScrollView alloc] initWithFrame:NSMakeRect(0,0,0,0)]; - [scroll_view setDrawsBackground:NO]; - [scroll_view setHasVerticalScroller:YES]; - [scroll_view setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; - [tab_view_item setView:scroll_view]; - - rect.size = [[scroll_view contentView] frame].size; - NSTextView *text_view = [[NSTextView alloc] initWithFrame:rect]; - [text_view insertText:[NSString stringWithContentsOfFile:dataPath encoding:NSASCIIStringEncoding error:NULL]]; - [text_view setDrawsBackground:NO]; - [text_view setEditable:NO]; - [text_view setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; - [scroll_view setDocumentView:text_view]; - [text_view release]; - - [scroll_view release]; - - [tab_view_item release]; -} -@end - -@implementation NSApplication (helpmenu) - -- (void)launchWebsite -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@STRING_DESMUME_WEBSITE]]; -} - -- (void)launchForums -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@STRING_DESMUME_FORUM_SITE]]; -} - -- (void)bugReport -{ - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@STRING_DESMUME_BUG_SITE]]; -} - -@end - -@implementation NSApplication (aboutdesmume) - -- (void)orderFrontStandardAboutPanel:(id)sender -{ - NSWindow *about_window = [[NSWindow alloc] initWithContentRect:NSMakeRect(500, 285, window_width-1, outer_padding*2+tab_view_height+inner_padding+icon_size) styleMask:NSClosableWindowMask|NSTitledWindowMask|NSResizableWindowMask backing:NSBackingStoreBuffered defer:NO]; - if(about_window == nil)return; - - [about_window setTitle:NSLocalizedString([sender title], nil)]; - - AboutDelegate *delegate = [[AboutDelegate alloc] init]; - [about_window setDelegate:delegate]; - - NSBundle *main_bundle = [NSBundle mainBundle]; - - //desmume icon preview - NSImageView *image = [[NSImageView alloc] initWithFrame:NSMakeRect(outer_padding, outer_padding+tab_view_height+inner_padding, icon_size, icon_size)]; - [image setImageFrameStyle:NSImageFrameNone]; - [image setImageScaling:NSScaleToFit]; - [image setEditable:NO]; - [image setAllowsCutCopyPaste:NO]; - [image setImage:[NSApp applicationIconImage]]; - [image setAutoresizingMask:NSViewMinYMargin]; - [[about_window contentView] addSubview:image]; - [image release]; - - // - const CGFloat width = 296; - CGFloat content_min_width = window_width - outer_padding*2; - - // - about_name = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 348 - 240 + tab_view_height + inner_padding, width, 17)]; - [about_name setStringValue:NSLocalizedString(@"DeSmuME", nil)]; - [about_name setEditable:NO]; - [about_name setDrawsBackground:NO]; - [about_name setBordered:NO]; - [about_name setBezeled:NO]; - [about_name setSelectable:YES]; - [about_name sizeToFit]; - [about_name setAutoresizingMask:NSViewMinYMargin]; - NSRect temp = [about_name frame]; - temp.origin.x += (width - temp.size.width) / 2; - [about_name setFrame:temp]; - [[about_window contentView] addSubview:about_name]; - - if(content_min_width < icon_size + inner_padding + [about_name frame].size.width) - content_min_width = icon_size + inner_padding + [about_name frame].size.width; - - // - about_description = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 83 + tab_view_height + inner_padding, width, 17)]; - [about_description setStringValue:NSLocalizedString(@"Nintendo DS Emulator", nil)]; - [about_description setEditable:NO]; - [about_description setDrawsBackground:NO]; - [about_description setBordered:NO]; - [about_description setBezeled:NO]; - [about_description setSelectable:YES]; - [about_description sizeToFit]; - [about_description setAutoresizingMask:NSViewMinYMargin]; - temp = [about_description frame]; - temp.origin.x += (width - temp.size.width) / 2; - [about_description setFrame:temp]; - [[about_window contentView] addSubview:about_description]; - - if(content_min_width < icon_size + inner_padding + [about_description frame].size.width) - content_min_width = icon_size + inner_padding + [about_description frame].size.width; - - // - about_version = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 58 + tab_view_height + inner_padding, width, 17)]; - [about_version setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Version %@", nil), [[main_bundle infoDictionary] objectForKey:@"CFBundleVersion"]]]; - [about_version setEditable:NO]; - [about_version setDrawsBackground:NO]; - [about_version setBordered:NO]; - [about_version setBezeled:NO]; - [about_version setSelectable:YES]; - [about_version sizeToFit]; - [about_version setAutoresizingMask:NSViewMinYMargin]; - temp = [about_version frame]; - temp.origin.x += (width - temp.size.width) / 2; - [about_version setFrame:temp]; - [[about_window contentView] addSubview:about_version]; - - if(content_min_width < icon_size + inner_padding + [about_version frame].size.width) - content_min_width = icon_size + inner_padding + [about_version frame].size.width; - - // - about_date = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 33 + tab_view_height + inner_padding, width, 17)]; - [about_date setStringValue:@__DATE__];//fixme localize - [about_date setEditable:NO]; - [about_date setDrawsBackground:NO]; - [about_date setBordered:NO]; - [about_date setBezeled:NO]; - [about_date setSelectable:YES]; - [about_date sizeToFit]; - [about_date setAutoresizingMask:NSViewMinYMargin]; - temp = [about_date frame]; - temp.origin.x += (width - temp.size.width) / 2; - [about_date setFrame:temp]; - [[about_window contentView] addSubview:about_date]; - - if(content_min_width < icon_size + inner_padding + [about_date frame].size.width) - content_min_width = icon_size + inner_padding + [about_date frame].size.width; - - // - about_website = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 8 + tab_view_height + inner_padding, width, 17)]; - [about_website setStringValue:@STRING_DESMUME_WEBSITE];//fixme linkize - [about_website setEditable:NO]; - [about_website setDrawsBackground:NO]; - [about_website setBordered:NO]; - [about_website setBezeled:NO]; - [about_website setSelectable:YES]; - [about_website sizeToFit]; - [about_website setAutoresizingMask:NSViewMinYMargin]; - temp = [about_website frame]; - temp.origin.x += (width - temp.size.width) / 2; - [about_website setFrame:temp]; - [[about_window contentView] addSubview:about_website]; - - if(content_min_width < icon_size + inner_padding + [about_website frame].size.width) - content_min_width = icon_size + inner_padding + [about_website frame].size.width; - - //tab view - NSTabView *tab_view = [[NSTabView alloc] initWithFrame:NSMakeRect(outer_padding, outer_padding, window_width - outer_padding*2, tab_view_height)]; - [tab_view setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; - [[about_window contentView] addSubview:tab_view]; - - //README - NSString *datapath = [main_bundle pathForResource:@STRING_FILENAME_README ofType:@""]; - if(datapath != nil) - { - [AboutDelegate readTextFile:datapath label:NSLocalizedString(@STRING_TABLABEL_README, nil) tab:tab_view]; - } - - //LICENSE - datapath = [main_bundle pathForResource:@STRING_FILENAME_COPYING ofType:@""]; - if(datapath != nil) - { - [AboutDelegate readTextFile:datapath label:NSLocalizedString(@STRING_TABLABEL_LICENSE, nil) tab:tab_view]; - } - - //AUTHORS - datapath = [main_bundle pathForResource:@STRING_FILENAME_AUTHORS ofType:@""]; - if(datapath != nil) - { - [AboutDelegate readTextFile:datapath label:NSLocalizedString(@STRING_TABLABEL_AUTHORS, nil) tab:tab_view]; - } - - //CHANGE LOG - datapath = [main_bundle pathForResource:@STRING_FILENAME_CHANGELOG ofType:@""]; - if(datapath != nil) - { - [AboutDelegate readTextFile:datapath label:NSLocalizedString(@STRING_TABLABEL_CHANGELOG, nil) tab:tab_view]; - } - - // - if(content_min_width < [tab_view minimumSize].width) - content_min_width = [tab_view minimumSize].width; - - [tab_view release]; - - //show the window - NSRect rect = [about_window frame]; - if(rect.size.width < content_min_width + outer_padding*2) - rect.size.width = content_min_width + outer_padding*2; - [about_window setFrame:rect display:NO]; - [about_window setMinSize:rect.size]; - NSWindowController *about_window_controller = [[NSWindowController alloc] initWithWindow:about_window]; - [about_window_controller showWindow:nil]; - - //run the window - [NSApp runModalForWindow:about_window]; - - [about_window release]; - [about_window_controller release]; - [delegate release]; - [about_name release]; - [about_description release]; - [about_version release]; - [about_date release]; - [about_website release]; -} -@end diff --git a/desmume/src/cocoa/dialogs/rom_info.h b/desmume/src/cocoa/dialogs/rom_info.h deleted file mode 100644 index 7e1549eb6..000000000 --- a/desmume/src/cocoa/dialogs/rom_info.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 2007 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import - -@class NintendoDS; - -//there is only one ROM Info window, so we have only class functions here - -@interface ROMInfo : NSObject -{ -} -+ (void)showROMInfo:(NintendoDS*)DS; -+ (void)changeDS:(NintendoDS*)DS; -+ (void)closeROMInfo; -@end - -#ifdef __cplusplus -extern "C" -{ -#endif - -void setUpTextField(NSTextField *text, bool data); - -#ifdef __cplusplus -} -#endif \ No newline at end of file diff --git a/desmume/src/cocoa/dialogs/rom_info.m b/desmume/src/cocoa/dialogs/rom_info.m deleted file mode 100644 index 112c60b4b..000000000 --- a/desmume/src/cocoa/dialogs/rom_info.m +++ /dev/null @@ -1,302 +0,0 @@ -/* Copyright (C) 2007 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import "cocoa_util.h" -#import "rom_info.h" -#import "../nds_control.h" - -bool leopard_or_later = false; -int HUDWindowMask = 1 << 13; //this is NSHUDWindowMask from Leopard, defined here so we can mantain tiger compile compatability - -float sectionMaxWidth; - -NSWindowController *my_window_controller = nil; -NSWindow *my_window; - -NSImageView *rom_icon; -NSTextField *rom_file; -NSTextField *rom_title; -NSTextField *rom_maker; -NSTextField *rom_size; -NSTextField *rom_ARM9_size; -NSTextField *rom_ARM7_size; -NSTextField *rom_data_size; - -inline void setUpTextField(NSTextField *text, bool data) -{ - [text setEditable:NO]; - [text setDrawsBackground:NO]; - [text setBordered:NO]; - [text setBezeled:NO]; - if(!data) - { - [text setSelectable:NO]; - if(leopard_or_later) - [text setTextColor:[NSColor whiteColor]]; - else - [text setTextColor:[NSColor blackColor]]; - } else - { - [text setSelectable:YES]; - if(leopard_or_later) - [text setTextColor:[NSColor colorWithCalibratedRed:.85 green:.85 blue:.9 alpha:1]]; - else - [text setTextColor:[NSColor colorWithCalibratedRed:.15 green:.15 blue:.1 alpha:1]]; - } - [text sizeToFit]; -} - -@implementation ROMInfo - -+ (void)showROMInfo:(NintendoDS*)DS; -{ - if(my_window_controller != nil) - { - //window has already been created, just change the info - [ROMInfo changeDS:DS]; - return; - } - - //Check for MAC OS 10.5 or later (if so, we'll use a nice pretty HUD window) - //this is a bit hacky. check if nswindow will respond to a function thats new in 10.5 - if([NSWindow instancesRespondToSelector:@selector(setPreferredBackingLocation:)] == YES) - leopard_or_later = true; - else - leopard_or_later = false; - - //Window has not been created - - my_window = [[NSPanel alloc] initWithContentRect:NSMakeRect(0,0,360,210) styleMask:(leopard_or_later?HUDWindowMask:0)|NSClosableWindowMask|NSTitledWindowMask|NSUtilityWindowMask backing:NSBackingStoreBuffered defer:NO]; - [my_window setTitle:NSLocalizedString(@"ROM Info...", nil)]; - - if(my_window == nil) - { - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"ROM Info window couldn't be created", nil)]; - return; - } - - //Rom icon text - NSTextField *text = [[NSTextField alloc] initWithFrame:NSMakeRect(15,173,90,17)]; - [text setStringValue:NSLocalizedString(@"ROM Icon", nil)]; - setUpTextField(text, false); - [[my_window contentView] addSubview:text]; - [text release]; - - //Rom icon picture - rom_icon = [[NSImageView alloc] initWithFrame:NSMakeRect(15, 70, 96, 96)]; - [rom_icon setImageFrameStyle:NSImageFramePhoto]; - [rom_icon setImageScaling:NSScaleToFit]; - [rom_icon setEditable:NO]; - [rom_icon setAllowsCutCopyPaste:NO]; - [rom_icon setImage:[DS ROMIcon]]; - [[my_window contentView] addSubview:rom_icon]; - - sectionMaxWidth = 0; - float valueMaxWidth = 0; - - //Rom file - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,173,96,17)]; - [text setStringValue:NSLocalizedString(@"ROM File", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //Rom title - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,148,96,17)]; - [text setStringValue:NSLocalizedString(@"ROM Title", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //Rom maker - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,123,96,17)]; - [text setStringValue:NSLocalizedString(@"ROM Maker", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //Rom size - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,98,96,17)]; - [text setStringValue:NSLocalizedString(@"ROM Size", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //ARM 9 Size - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,73,96,17)]; - [text setStringValue:NSLocalizedString(@"ARM9 Size", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //ARM 7 Size - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,48,96,17)]; - [text setStringValue:NSLocalizedString(@"ARM7 Size", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - //Data Size - text = [[NSTextField alloc] initWithFrame:NSMakeRect(127,23,96,17)]; - [text setStringValue:NSLocalizedString(@"Data Size", nil)]; - setUpTextField(text, false); - if([text frame].size.width > sectionMaxWidth)sectionMaxWidth = [text frame].size.width; - [[my_window contentView] addSubview:text]; - [text release]; - - sectionMaxWidth += 5; //padding between the keys and their values -#define text sjdkasdladsjkalsd - //Rom file value - rom_file = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,173,120,17)]; - [rom_file setStringValue:[DS romFileName]]; - setUpTextField(rom_file, true); - if([rom_file frame].size.width > valueMaxWidth)valueMaxWidth = [rom_file frame].size.width; - [[my_window contentView] addSubview:rom_file]; - - //Rom title value - rom_title = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,148,120,17)]; - [rom_title setStringValue:[DS ROMTitle]]; - setUpTextField(rom_title, true); - if([rom_title frame].size.width > valueMaxWidth)valueMaxWidth = [rom_title frame].size.width; - [[my_window contentView] addSubview:rom_title]; - - //Rom maker value - rom_maker = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,123,120,17)]; - [rom_maker setStringValue:[NSString stringWithFormat:@"%d", [DS ROMMaker]]]; - setUpTextField(rom_maker, true); - if([rom_maker frame].size.width > valueMaxWidth)valueMaxWidth = [rom_maker frame].size.width; - [[my_window contentView] addSubview:rom_maker]; - - //Rom size value - rom_size = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,98,120,17)]; - [rom_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMSize]]]; - setUpTextField(rom_size, true); - if([rom_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_size frame].size.width; - [[my_window contentView] addSubview:rom_size]; - - //ARM 9 Size value - rom_ARM9_size = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,73,120,17)]; - [rom_ARM9_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMARM9Size]]]; - setUpTextField(rom_ARM9_size, true); - if([rom_ARM9_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_ARM9_size frame].size.width; - [[my_window contentView] addSubview:rom_ARM9_size]; - - //ARM 7 Size value - rom_ARM7_size = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,48,120,17)]; - [rom_ARM7_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMARM7Size]]]; - setUpTextField(rom_ARM7_size, true); - if([rom_ARM7_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_ARM7_size frame].size.width; - [[my_window contentView] addSubview:rom_ARM7_size]; - - //Data Size value - rom_data_size = [[NSTextField alloc] initWithFrame:NSMakeRect(127+sectionMaxWidth,23,120,17)]; - [rom_data_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMDataSize]]]; - setUpTextField(rom_data_size, true); - if([rom_data_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_data_size frame].size.width; - [[my_window contentView] addSubview:rom_data_size]; - - valueMaxWidth += 5; //padding after the values column - - //Resize window to fit content - - NSRect temp = [my_window frame]; - temp.size.width = 127 + sectionMaxWidth + valueMaxWidth; - [my_window setFrame:temp display:NO]; - - //Create the window controller and display the window - - my_window_controller = [[NSWindowController alloc] initWithWindow:my_window]; - if(my_window_controller == nil) - { - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"ROM Info window controller couldn't be created", nil)]; - [my_window release]; - return; - } - [my_window_controller showWindow:nil]; - [my_window release]; -} - -+ (void)changeDS:(NintendoDS*)DS -{ - if(my_window_controller == nil)return; - - float valueMaxWidth = 0; - - [rom_icon setImage:[DS ROMIcon]]; - - [rom_file setStringValue:[DS romFileName]]; - [rom_file sizeToFit]; - if([rom_file frame].size.width > valueMaxWidth)valueMaxWidth = [rom_file frame].size.width; - - [rom_title setStringValue:[DS ROMTitle]]; - [rom_title sizeToFit]; - if([rom_title frame].size.width > valueMaxWidth)valueMaxWidth = [rom_title frame].size.width; - - [rom_maker setStringValue:[NSString stringWithFormat:@"%d", [DS ROMMaker]]]; - [rom_maker sizeToFit]; - if([rom_maker frame].size.width > valueMaxWidth)valueMaxWidth = [rom_maker frame].size.width; - - [rom_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMSize]]]; - [rom_size sizeToFit]; - if([rom_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_size frame].size.width; - - [rom_ARM9_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMARM9Size]]]; - [rom_ARM9_size sizeToFit]; - if([rom_ARM9_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_ARM9_size frame].size.width; - - [rom_ARM7_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMARM7Size]]]; - [rom_ARM7_size sizeToFit]; - if([rom_ARM7_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_ARM7_size frame].size.width; - - [rom_data_size setStringValue:[NSString stringWithFormat:@"%d", [DS ROMDataSize]]]; - [rom_data_size sizeToFit]; - if([rom_data_size frame].size.width > valueMaxWidth)valueMaxWidth = [rom_data_size frame].size.width; - - //Resize window to fit new content - - NSRect temp = [my_window frame]; - temp.size.width = 127 + sectionMaxWidth + valueMaxWidth; - [my_window setFrame:temp display:NO]; - -} - -+ (void)closeROMInfo -{ - if(my_window_controller == nil)return; - - [my_window_controller release]; - my_window_controller = nil; - - [rom_icon release]; - [rom_file release]; - [rom_title release]; - [rom_maker release]; - [rom_size release]; - [rom_ARM9_size release]; - [rom_ARM7_size release]; - [rom_data_size release]; -} - -@end diff --git a/desmume/src/cocoa/dialogs/speed_limit_selection_window.h b/desmume/src/cocoa/dialogs/speed_limit_selection_window.h deleted file mode 100644 index ef3caf610..000000000 --- a/desmume/src/cocoa/dialogs/speed_limit_selection_window.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2008 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import -#import "../nds_control.h" - -#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 -@interface SpeedLimitSelectionWindow : NSWindow -#else -@interface SpeedLimitSelectionWindow : NSWindow -#endif -{ - BOOL modal; - NintendoDS *target; - NSTextField *value; - int initial_value; -} -- (id)initWithDS:(NintendoDS*)ds; -- (void)runModal; -- (void)dealloc; -@end diff --git a/desmume/src/cocoa/dialogs/speed_limit_selection_window.mm b/desmume/src/cocoa/dialogs/speed_limit_selection_window.mm deleted file mode 100644 index 8ba77af0f..000000000 --- a/desmume/src/cocoa/dialogs/speed_limit_selection_window.mm +++ /dev/null @@ -1,157 +0,0 @@ -/* Copyright (C) 2008 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import "speed_limit_selection_window.h" - -@implementation SpeedLimitSelectionWindow - -- (id)initWithDS:(NintendoDS*)ds -{ - //Create window - self = [super initWithContentRect:NSMakeRect(300, 300, 300, 138) styleMask:NSTitledWindowMask|NSClosableWindowMask|NSResizableWindowMask backing:NSBackingStoreBuffered defer:NO screen:nil]; - if(self == nil)return nil; - - //General - [self setTitle:NSLocalizedString(@"Custom Speed Limit Window", nil)]; - [self setDelegate:self]; //hopefully this doesn't retain self - [self setContentMinSize:NSMakeSize(300, 138)]; - [self setContentMaxSize:NSMakeSize(800, 138)]; - - //Member setup - modal = NO; - - //Target - target = ds; - [target retain]; - initial_value = [target speedLimit]; - - //Add slider - NSSlider *slider = [[NSSlider alloc] initWithFrame:NSMakeRect(20, 60, 260, 24)]; - [slider setMinValue:10]; - [slider setMaxValue:1000]; - [slider setIntValue:initial_value]; - [slider setTarget:self]; - [slider setAction:@selector(newValue:)]; - [slider setNumberOfTickMarks:2]; - [slider setAutoresizingMask:NSViewWidthSizable]; - [[self contentView] addSubview:slider]; - [slider release]; - - //Add label - NSTextField *text = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 101, 260, 17)]; - [text setStringValue:NSLocalizedString(@"Set Max Speed:", nil)]; - [text setSelectable:NO]; - [text setEditable:NO]; - [text setDrawsBackground:NO]; - [text setBordered:NO]; - [text setBezeled:NO]; - [text setAutoresizingMask:NSViewWidthSizable]; - [[self contentView] addSubview:text]; - [text release]; - - //Add value text - value = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 101, 260, 17)]; - [value setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Speed %d%%", nil), initial_value]]; - [value setSelectable:NO]; - [value setEditable:NO]; - [value setDrawsBackground:NO]; - [value setBordered:NO]; - [value setBezeled:NO]; - [value setAlignment:NSRightTextAlignment]; - [value setAutoresizingMask:NSViewWidthSizable]; - [[self contentView] addSubview:value]; - - //Add OK button - NSButton *ok_button = [[NSButton alloc] initWithFrame:NSMakeRect(190, 12, 96, 32)]; - [ok_button setTitle:NSLocalizedString(@"OK", nil)]; - [ok_button setButtonType:NSMomentaryPushInButton]; - [ok_button setBezelStyle:NSRoundedBezelStyle]; - [ok_button setTarget:self]; - [ok_button setAction:@selector(ok)]; - [ok_button setAutoresizingMask:NSViewMinXMargin]; - [[self contentView] addSubview:ok_button]; - [ok_button release]; - - //Add cancel button - NSButton *cancel_button = [[NSButton alloc] initWithFrame:NSMakeRect(94, 12, 96, 32)]; - [cancel_button setTitle:NSLocalizedString(@"Cancel", nil)]; - [cancel_button setButtonType:NSMomentaryPushInButton]; - [cancel_button setBezelStyle:NSRoundedBezelStyle]; - [cancel_button setTarget:self]; - [cancel_button setAction:@selector(cancel)]; - [cancel_button setAutoresizingMask:NSViewMinXMargin]; - [[self contentView] addSubview:cancel_button]; - [cancel_button release]; - - //Recall size info (happens after adding buttons so the subviews resize accordingly) - [self setFrameUsingName:@"SpeedLimitSelectionWindow"]; - - return self; -} - -- (void)runModal -{ - modal = YES; - [NSApp runModalForWindow:self]; -} - -- (void)dealloc -{ - [self saveFrameUsingName:@"SpeedLimitSelectionWindow"]; - - [target release]; - [value release]; - [super dealloc]; -} - -- (void)newValue:(id)sender -{ - int int_value = [sender intValue]; - [value setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Speed %d%%", nil), int_value]]; - - //updates on each value so you can watch it change in realtime - [target setSpeedLimit:int_value]; -} - -- (void)ok -{ - if(modal) - { - [NSApp stopModal]; - modal = NO; - } -} - -- (void)cancel -{ - if(modal) - { - [NSApp stopModal]; - modal = NO; - - } - [target setSpeedLimit:initial_value]; -} - -- (BOOL)windowShouldClose:(id)window -{ - [self cancel]; - return NO; -} -@end diff --git a/desmume/src/cocoa/main_window.h b/desmume/src/cocoa/main_window.h deleted file mode 100644 index 361d67c05..000000000 --- a/desmume/src/cocoa/main_window.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 2007 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import - -#import "nds_control.h" - -@class VideoOutputView; -@class InputHandler; -//this is used internally by VideoOutputWindow - -// Backup media type array length -#define MAX_SAVE_TYPE 7 - - -//This interface is to create and manaage the window -//that displays DS video output and takes keyboard/mouse input -//do not instanciate more than one of these -#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 -@interface VideoOutputWindow : NintendoDS -#else -@interface VideoOutputWindow : NintendoDS -#endif -{ - @private - NSWindow *window; - NSWindowController *controller; - VideoOutputView *video_output_view; - NSTextField *status_view; - NSString *status_bar_text; - InputHandler *input; - - bool no_smaller_than_ds; - bool keep_proportions; -} - -//initialization -- (id)init; -- (void)dealloc; - -//overloaded from NintendoDS class -- (BOOL) loadRom:(NSURL *)romURL; -- (void)execute; -- (void)pause; -- (void)reset; -- (void)setSaveType:(int)savetype; -- (void)closeROM; - -//save features overloaded from nds class -- (BOOL)saveStateToSlot:(int)slot; //0 to MAX_SLOTS-1, anything else is ignored -- (BOOL)loadStateFromSlot:(int)slot; - -//save functions for the program menu to callback to -- (BOOL)saveStateAs; -- (BOOL)loadStateFrom; - -//toggles between allowing tiny sizes and only being as small as DS -- (void)toggleMinSize; - -//this method will contrain the size as well -//this is screen size not window size -- (void)resizeScreen:(NSSize)size; - -//like resizeScreen but does a size in relation to DS pixels -- (void)resizeScreen1x; -- (void)resizeScreen2x; -- (void)resizeScreen3x; -- (void)resizeScreen4x; - -//converts window coords to DS coords (returns -1, -1 if invalid) -- (NSPoint)windowPointToDSCoords:(NSPoint)location; - -// -- (void)toggleConstrainProportions; -- (void)toggleStatusBar; - -//rotation -- (void)setRotation:(float)rotation; -- (void)setRotation0; -- (void)setRotation90; -- (void)setRotation180; -- (void)setRotation270; -- (float)rotation; - -//layers -- (void)toggleTopBackground0; -- (void)toggleTopBackground1; -- (void)toggleTopBackground2; -- (void)toggleTopBackground3; -- (void)toggleTopObject; -- (void)toggleSubBackground0; -- (void)toggleSubBackground1; -- (void)toggleSubBackground2; -- (void)toggleSubBackground3; -- (void)toggleSubObject; - -//screenshots -- (void)saveScreenshot; - -//delegate -- (void)windowDidBecomeMain:(NSNotification*)notification; - -@end diff --git a/desmume/src/cocoa/main_window.mm b/desmume/src/cocoa/main_window.mm deleted file mode 100644 index 3a34c2461..000000000 --- a/desmume/src/cocoa/main_window.mm +++ /dev/null @@ -1,1471 +0,0 @@ -/* - Copyright (C) 2007 Jeff Bland - Copyright (C) 2011 Roger Manuel - Copyright (C) 2012 DeSmuME team - - This file is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This file is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the this software. If not, see . -*/ - -//DeSmuME Cocoa includes -#import "main_window.h" -#import "cocoa_globals.h" -#import "cocoa_util.h" -#import "cocoa_file.h" -#import "screenshot.h" -#import "screen_state.h" -#import "video_output_view.h" -#import "input.h" -#import "preferences.h" -#import "dialogs/rom_info.h" -#import "dialogs/speed_limit_selection_window.h" - -//How much padding to put around the video output -#define WINDOW_BORDER_PADDING 5 - -// Save types settings -NSString *save_types[MAX_SAVE_TYPE] = { - NSLocalizedString(@"Auto Detect", nil), // 0 - NSLocalizedString(@"EEPROM 4kbit", nil), // 1 - NSLocalizedString(@"EEPROM 64kbit", nil), // 2 - NSLocalizedString(@"EEPROM 512kbit", nil), // 3 - NSLocalizedString(@"FRAM 256knit", nil), // 4 - NSLocalizedString(@"FLASH 2mbit", nil), // 5 - NSLocalizedString(@"FLASH 4mbit", nil), // 6 -}; - - -#define DS_SCREEN_HEIGHT_COMBINED (192*2) /*height of the two screens*/ -#define DS_SCREEN_X_RATIO (256.0 / (192.0 * 2.0)) -#define DS_SCREEN_Y_RATIO ((192.0 * 2.0) / 256.0) - -// -NSMenuItem *close_rom_item = nil; -NSMenuItem *execute_item = nil; -NSMenuItem *pause_item = nil; -NSMenuItem *reset_item = nil; -NSMenuItem *save_state_as_item = nil; -NSMenuItem *load_state_from_item = nil; -NSMenuItem *saveSlot_item[MAX_SLOTS] = { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil }; //make sure this corresponds to the amount in max slots -NSMenuItem *loadSlot_item[MAX_SLOTS] = { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil }; -NSMenuItem *rom_info_item = nil; -NSMenuItem *speed_limit_25_item = nil; -NSMenuItem *speed_limit_50_item = nil; -NSMenuItem *speed_limit_75_item = nil; -NSMenuItem *speed_limit_100_item = nil; -NSMenuItem *speed_limit_200_item = nil; -NSMenuItem *speed_limit_none_item = nil; -NSMenuItem *speed_limit_custom_item = nil; -NSMenuItem *save_type_item[MAX_SAVE_TYPE] = { nil, nil, nil, nil, nil, nil, nil }; - -NSMenuItem *volume_item[10] = { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil }; -NSMenuItem *mute_item = nil; - -//screen menu items -NSMenuItem *resize1x = nil; -NSMenuItem *resize2x = nil; -NSMenuItem *resize3x = nil; -NSMenuItem *resize4x = nil; -NSMenuItem *constrain_item = nil; -NSMenuItem *min_size_item = nil; -NSMenuItem *toggle_status_bar_item = nil; -NSMenuItem *rotation0_item = nil; -NSMenuItem *rotation90_item = nil; -NSMenuItem *rotation180_item = nil; -NSMenuItem *rotation270_item = nil; -NSMenuItem *topBG0_item = nil; -NSMenuItem *topBG1_item = nil; -NSMenuItem *topBG2_item = nil; -NSMenuItem *topBG3_item = nil; -NSMenuItem *topOBJ_item = nil; -NSMenuItem *subBG0_item = nil; -NSMenuItem *subBG1_item = nil; -NSMenuItem *subBG2_item = nil; -NSMenuItem *subBG3_item = nil; -NSMenuItem *subOBJ_item = nil; -NSMenuItem *screenshot_to_file_item = nil; - -@implementation VideoOutputWindow - -//Private interface ------------------------------------------------------------ - -- (void)setStatusText:(NSString*)value -{ - [status_bar_text release]; - status_bar_text = value; - [status_bar_text retain]; - - if(status_view)[status_view setStringValue:status_bar_text]; -} - -- (NSString*)statusText -{ - if(status_bar_text)return status_bar_text; - return @""; -} - -- (float)statusBarHeight -{ - if(status_view == nil)return WINDOW_BORDER_PADDING; - NSRect frame = [status_view frame]; - return frame.origin.y + frame.size.height; -} - -- (void)resetMinSize:(BOOL)resize_if_too_small -{ - //keep the min size item up to date, just in case - if([min_size_item target] == self) - [min_size_item setState:no_smaller_than_ds?NSOnState:NSOffState]; - - NSSize min_size; - - if(!no_smaller_than_ds) - { - min_size.width = 0; - min_size.height = 0; - } else if(video_output_view == nil) - { - min_size.width = DS_SCREEN_WIDTH; - min_size.height = 0; - } else if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - { - min_size.width = DS_SCREEN_WIDTH; - min_size.height = DS_SCREEN_HEIGHT_COMBINED; - } else - { - min_size.width = DS_SCREEN_HEIGHT_COMBINED; - min_size.height = DS_SCREEN_WIDTH; - } - - // - NSSize adjusted_min_size = min_size; - adjusted_min_size.width += WINDOW_BORDER_PADDING * 2; - adjusted_min_size.height += [self statusBarHeight]; - - //set min content size for the window - [window setContentMinSize:adjusted_min_size]; - - if(resize_if_too_small) - { - NSSize temp = [[window contentView] frame].size; - if(temp.width < adjusted_min_size.width && temp.height >= adjusted_min_size.height) - [self resizeScreen:NSMakeSize(min_size.width, temp.height)]; - else if(temp.width >= adjusted_min_size.width && temp.height < adjusted_min_size.height) - [self resizeScreen:NSMakeSize(temp.width, min_size.height)]; - else if(temp.width < adjusted_min_size.width && temp.height < adjusted_min_size.height) - [self resizeScreen:NSMakeSize(min_size.width, min_size.height)]; - } -} - -//Public Interface ----------------------------------------------------------- - -- (id)init -{ - //Create the NDS - self = [super init]; - if(self == nil)return nil; //superclass will display it's own error messages if needed - - //Set vars - controller = nil; - video_output_view = nil; - status_view = nil; - status_bar_text = nil; - input = nil; - no_smaller_than_ds = true; - keep_proportions = true; - - //Create the window rect (content rect - title bar not included in size) - NSRect rect; - rect.size.width = DS_SCREEN_WIDTH + WINDOW_BORDER_PADDING * 2; - rect.size.height = DS_SCREEN_HEIGHT_COMBINED + [self statusBarHeight]; - rect.origin.x = rect.origin.y = 200; - - //allocate the window - if((window = [[NSWindow alloc] initWithContentRect:rect styleMask: - NSTitledWindowMask|NSResizableWindowMask|/*NSClosableWindowMask|*/NSMiniaturizableWindowMask|NSTexturedBackgroundWindowMask - backing:NSBackingStoreBuffered defer:NO screen:nil])==nil) - { - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"Couldn't create window", nil)]; - [super release]; - return nil; - } - - [window setTitle:NSLocalizedString(@"DeSmuME Emulator", nil)]; - [window setShowsResizeIndicator:NO]; - - //Create the image view where we will display video output - rect.origin.x = WINDOW_BORDER_PADDING; - rect.origin.y = [self statusBarHeight]; - rect.size.width -= WINDOW_BORDER_PADDING*2; - rect.size.height -= [self statusBarHeight]; - video_output_view = [[VideoOutputView alloc] initWithFrame:rect]; //no nil check - will do it's own error messages - [video_output_view setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; //view will automatically resize with the window - - [[window contentView] addSubview:video_output_view]; - - //create the status bar - [self setStatusText:NSLocalizedString(@"No ROM loaded", nil)]; - [self toggleStatusBar]; - - //set min size - [self resetMinSize:YES]; - - //Add callbacks - [self setVideoUpdateCallback:@selector(setScreenState:) withObject:video_output_view]; - [self setErrorCallback:@selector(emulationError) withObject:self]; - - //Show the window - [window setDelegate:self]; //we do this after making the ouput/statusbar incase some delegate method gets called suddenly - [controller = [[NSWindowController alloc] initWithWindow:window] showWindow:nil]; - - //Create the input manager and insert it into the cocoa responder chain - input = [[InputHandler alloc] initWithWindow:(id)self]; - NSResponder *temp = [window nextResponder]; - [window setNextResponder:input]; - [input setNextResponder:temp]; - - return self; -} - -- (void)dealloc -{ - [controller release]; - [window release]; - [video_output_view release]; - [status_view release]; - [status_bar_text release]; - [input release]; - - [super dealloc]; -} - -- (BOOL) loadRom:(NSURL *)romURL -{ - //Attempt to load the rom - BOOL result = [super loadRom:romURL]; - - //Set status var and screen depending on whether the rom could be loaded - if(result == NO) - { - [video_output_view setScreenState:[ScreenState blackScreenState]]; //black if the rom doesn't load - [self setStatusText:NSLocalizedString(@"No ROM Loaded", nil)]; - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"Couldn't load ROM", nil)]; - } else - { - //if it worked, check the execute upon load option - if([[NSUserDefaults standardUserDefaults] boolForKey:PREF_EXECUTE_UPON_LOAD]) - [self execute]; - else - { - [video_output_view setScreenState:[ScreenState whiteScreenState]]; //white if the rom loaded but is not playing - [self setStatusText:NSLocalizedString(@"ROM Loaded", nil)]; - } - - //add the rom to the recent documents list - [[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:romURL]; - - //update the rom info window, if needed - [ROMInfo changeDS:self]; - } - - //reset menu items - if([self ROMLoaded] == YES) - { - int i; - for(i = 0; i < MAX_SLOTS; i++) - if([saveSlot_item[i] target] == self) - if([CocoaDSFile saveStateExistsForSlot:loadedRomURL slotNumber:i]) - [saveSlot_item[i] setState:NSOnState]; - else - [saveSlot_item[i] setState:NSOffState]; - - } else - { - int i; - for(i = 0; i < MAX_SLOTS; i++) - if([saveSlot_item[i] target] == self)[saveSlot_item[i] setState:NSOffState]; - } - - return result; -} - -- (void)execute -{ - [super execute]; - - if([pause_item target] == self) - [pause_item setState:NSOffState]; - if([execute_item target] == self) - [execute_item setState:NSOnState]; - - [self setStatusText:NSLocalizedString(@"Emulation Executing", nil)]; -} - -- (void)pause -{ - [super pause]; - - if([pause_item target] == self) - [pause_item setState:NSOnState]; - if([execute_item target] == self) - [execute_item setState:NSOffState]; - - [self setStatusText:NSLocalizedString(@"Emulation Paused", nil)]; -} - -- (void)reset -{ - [super reset]; - - //if we're paused, clear the screen to show we've reset - //as opposed to just leaving whatever image is there - if([self paused]) - { - [self setStatusText:NSLocalizedString(@"Emulation Reset", nil)]; - [video_output_view setScreenState:[ScreenState whiteScreenState]]; - } -} - -- (void)emulationError -{ - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"An emulation error occured", nil)]; -} - -- (void)setSpeedLimit:(int)speedLimit -{ - [super setSpeedLimit:speedLimit]; - - //Set the correct menu states - speedLimit = dsStateBuffer->speed_limit; - - int standard_size = 0; - - if([speed_limit_25_item target] == self) - if(speedLimit == 25){ [speed_limit_25_item setState:NSOnState]; standard_size=1; } - else [speed_limit_25_item setState:NSOffState]; - - if([speed_limit_50_item target] == self) - if(speedLimit == 50){ [speed_limit_50_item setState:NSOnState]; standard_size=1; } - else [speed_limit_50_item setState:NSOffState]; - - if([speed_limit_75_item target] == self) - if(speedLimit == 75){ [speed_limit_75_item setState:NSOnState]; standard_size=1; } - else [speed_limit_75_item setState:NSOffState]; - - if([speed_limit_100_item target] == self) - if(speedLimit == 100){ [speed_limit_100_item setState:NSOnState]; standard_size=1; } - else [speed_limit_100_item setState:NSOffState]; - - if([speed_limit_200_item target] == self) - if(speedLimit == 200){ [speed_limit_200_item setState:NSOnState]; standard_size=1; } - else [speed_limit_200_item setState:NSOffState]; - - if([speed_limit_none_item target] == self) - if(speedLimit == 0){ [speed_limit_none_item setState:NSOnState]; standard_size=1; } - else [speed_limit_none_item setState:NSOffState]; - - if([speed_limit_custom_item target] == self) - if(!standard_size)[speed_limit_custom_item setState:NSOnState]; - else [speed_limit_custom_item setState:NSOffState]; - -} - -- (void)setSpeedLimitFromMenuItem:(id)sender -{ - if(sender == speed_limit_25_item )[self setSpeedLimit: 25]; - if(sender == speed_limit_50_item )[self setSpeedLimit: 50]; - if(sender == speed_limit_75_item )[self setSpeedLimit: 75]; - if(sender == speed_limit_100_item )[self setSpeedLimit: 100]; - if(sender == speed_limit_200_item )[self setSpeedLimit: 200]; - if(sender == speed_limit_none_item)[self setSpeedLimit: 0]; - - if(sender == speed_limit_custom_item) - { - //create - SpeedLimitSelectionWindow *s_window = [[SpeedLimitSelectionWindow alloc] initWithDS:self]; - - //show & run - NSWindowController *window_controller = [[NSWindowController alloc] initWithWindow:s_window]; - [window_controller showWindow:nil]; - [s_window runModal]; - - //release - [s_window release]; - [window_controller release]; - } -} - -- (void)setSaveType:(int)savetype -{ - [super setSaveType:savetype]; - savetype = [super saveType]; - - int i; - for(i = 0; i < MAX_SAVE_TYPE; i++) - if([save_type_item[i] target] == self) - if(i == savetype) - [save_type_item[i] setState:NSOnState]; - else - [save_type_item[i] setState:NSOffState]; -} - -- (void)setSaveTypeFromMenuItem:(id)sender -{ - // Find the culprit - int i; - for(i = 0; i < MAX_SAVE_TYPE; i++) - if(sender == save_type_item[i]) - { - [self setSaveType:i]; - return; - } -} - - -- (void)closeROM -{ - [super closeROM]; - - //reset window - [video_output_view setScreenState:[ScreenState blackScreenState]]; - [self setStatusText:NSLocalizedString(@"No ROM Loaded", nil)]; - - //reset menu items - if([window isMainWindow] == YES) - { - int i; - for(i = 0; i < MAX_SLOTS; i++) - [saveSlot_item[i] setState:NSOffState]; - - [execute_item setState:NSOffState]; - [pause_item setState:NSOffState]; - } - - //close ROM info - [ROMInfo closeROMInfo]; -} - -- (void)askAndCloseROM -{ - if([CocoaDSUtil quickYesNoDialogUsingTitle:NSLocalizedString(@"DeSmuME Emulator", nil) message:NSLocalizedString(@"Are you sure you want to close the ROM?", nil)]) - [self closeROM]; -} - -- (BOOL)saveStateToSlot:(int)slot -{ - BOOL result = NO; - int i = slot; - - NSString *saveStatePath = [[CocoaDSFile getURLUserAppSupportByKind:@"Save State"] path]; - if (saveStatePath == nil) - { - // Throw an error message here... - return result; - } - - result = [CocoaDSFile createUserAppSupportDirectory:@"States"]; - if (result == NO) - { - // Should throw an error message here... - return result; - } - - NSString *fileName = [CocoaDSFile getSaveSlotFileName:loadedRomURL slotNumber:slot]; - if (fileName == nil) - { - return result; - } - - BOOL wasExecuting = [self executing]; - [super pause]; - - result = [CocoaDSFile saveState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]]; - if(result) - { - if([saveSlot_item[i] target] == self); - { - [saveSlot_item[i] setState:NSOnState]; - } - - result = YES; - } - - if(wasExecuting == YES) - { - [super execute]; - } - - return result; -} - -- (BOOL)loadStateFromSlot:(int)slot -{ - BOOL result = NO; - - NSString *saveStatePath = [[CocoaDSFile getURLUserAppSupportByKind:@"Save State"] path]; - if (saveStatePath == nil) - { - // Should throw an error message here... - return result; - } - - NSString *fileName = [CocoaDSFile getSaveSlotFileName:loadedRomURL slotNumber:slot]; - if (fileName == nil) - { - return result; - } - - BOOL wasExecuting = [self executing]; - [super pause]; - - result = [CocoaDSFile loadState:[NSURL fileURLWithPath:[saveStatePath stringByAppendingPathComponent:fileName]]]; - - if(wasExecuting == YES) - { - [super execute]; - } - - return result; -} - -- (BOOL) saveStateAs -{ - BOOL result = NO; - NSInteger buttonClicked; - - //file select - NSSavePanel *panel = [NSSavePanel savePanel]; - [panel setTitle:NSLocalizedString(@"Save State...", nil)]; - [panel setRequiredFileType:@FILE_EXT_SAVE_STATE]; - - //save it - buttonClicked = [panel runModal]; - if(buttonClicked == NSFileHandlingPanelOKButton) - { - BOOL wasExecuting = [self executing]; - [super pause]; - - result = [CocoaDSFile saveState:[panel URL]]; - if (!result) - { - return result; - } - - if(wasExecuting == YES) - { - [super execute]; - } - } - - return result; -} - -- (BOOL)loadStateFrom -{ - BOOL result = NO; - NSInteger buttonClicked; - NSURL *selectedFile = nil; - - NSOpenPanel *panel = [NSOpenPanel openPanel]; - [panel setTitle:NSLocalizedString(@"Load State From...", nil)]; - [panel setCanChooseFiles:YES]; - [panel setCanChooseDirectories:NO]; - [panel setAllowsMultipleSelection:NO]; - [panel setRequiredFileType:@FILE_EXT_SAVE_STATE]; - - buttonClicked = [panel runModal]; - if(buttonClicked == NSOKButton) - { - selectedFile = [[panel URLs] lastObject]; //hopefully also the first object - if(selectedFile == nil) - { - return result; - } - - BOOL wasExecuting = [self executing]; - [super pause]; - - result = [CocoaDSFile loadState:selectedFile]; - if (!result) - { - if(wasExecuting == YES) - { - [super execute]; - } - - return result; - } - - if(wasExecuting == YES) - { - [super execute]; - } - } - - return result; -} - -- (BOOL)saveToSlot:(id)menu_item -{ - //get the save slot by detecting which menu item sent the message - int i; - for(i = 0; i < MAX_SLOTS; i++) - if(menu_item == saveSlot_item[i])break; - - //quit if the message wasn't sent by a save state menu item - if(i >= MAX_SLOTS)return NO; - - return [self saveStateToSlot:i]; -} - -- (BOOL)loadFromSlot:(id)menu_item -{ - int i; - for(i = 0; i < MAX_SLOTS; i++) - if(menu_item == loadSlot_item[i])break; - - if(i >= MAX_SLOTS)return NO; - - return [self loadStateFromSlot:i]; -} - -- (void)toggleMinSize -{ - no_smaller_than_ds = !no_smaller_than_ds; - - [self resetMinSize:YES]; -} - -- (void)resizeScreen:(NSSize)size -{ - //add the window borders - size.width += WINDOW_BORDER_PADDING * 2; - size.height += [self statusBarHeight]; - - //convert size to window frame rather than content frame - size = [window frameRectForContentRect:NSMakeRect(0, 0, size.width, size.height)].size; - - //constrain - size = [self windowWillResize:window toSize:size]; - - //set the position (keeping the center of the window the same) - NSRect current_window_rect = [window frame]; - current_window_rect.origin.x -= (size.width - current_window_rect.size.width) / 2; - current_window_rect.origin.y -= (size.height - current_window_rect.size.height) / 2; - - //and set the size - current_window_rect.size.width = size.width; - current_window_rect.size.height = size.height; - - //send it off to cocoa - [window setFrame:current_window_rect display:YES]; -} - -- (void)resizeScreen1x -{ - if(video_output_view == nil)return; - - if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - [self resizeScreen:NSMakeSize(DS_SCREEN_WIDTH, DS_SCREEN_HEIGHT_COMBINED)]; - else - [self resizeScreen:NSMakeSize(DS_SCREEN_HEIGHT_COMBINED, DS_SCREEN_WIDTH)]; -} - -- (void)resizeScreen2x -{ - if(video_output_view == nil)return; - - if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - [self resizeScreen:NSMakeSize(DS_SCREEN_WIDTH * 2, DS_SCREEN_HEIGHT_COMBINED * 2)]; - else - [self resizeScreen:NSMakeSize(DS_SCREEN_HEIGHT_COMBINED * 2, DS_SCREEN_WIDTH * 2)]; -} - -- (void)resizeScreen3x -{ - if(video_output_view == nil)return; - - if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - [self resizeScreen:NSMakeSize(DS_SCREEN_WIDTH * 3, DS_SCREEN_HEIGHT_COMBINED * 3)]; - else - [self resizeScreen:NSMakeSize(DS_SCREEN_HEIGHT_COMBINED * 3, DS_SCREEN_WIDTH * 3)]; -} - -- (void)resizeScreen4x -{ - if(video_output_view == nil)return; - - if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - [self resizeScreen:NSMakeSize(DS_SCREEN_WIDTH * 4, DS_SCREEN_HEIGHT_COMBINED * 4)]; - else - [self resizeScreen:NSMakeSize(DS_SCREEN_HEIGHT_COMBINED * 4, DS_SCREEN_WIDTH * 4)]; -} - -- (NSPoint)windowPointToDSCoords:(NSPoint)location -{ - CGFloat rotation; - NSSize temp; - float statusBarHeight; - - if(video_output_view == nil) - { - return NSMakePoint(-1, -1); - } - - rotation = [video_output_view boundsRotation]; - statusBarHeight = [self statusBarHeight]; - - temp = [[window contentView] frame].size; - CGFloat x_size = temp.width - WINDOW_BORDER_PADDING*2; - CGFloat y_size = temp.height - statusBarHeight; - - //If the click was to the left or under the opengl view, exit - if((location.x < WINDOW_BORDER_PADDING) || (location.y < statusBarHeight)) - { - return NSMakePoint(-1, -1); - } - - location.x -= WINDOW_BORDER_PADDING; - location.y -= statusBarHeight; - - //If the click was top or right of the view... - if(location.x >= x_size) - { - return NSMakePoint(-1, -1); - } - if(location.y >= y_size) - { - return NSMakePoint(-1, -1); - } - - if(rotation == 0) - { - if(location.y >= y_size / 2) - { - return NSMakePoint(-1, -1); - } - - //scale the coordinates - location.x *= ((float)DS_SCREEN_WIDTH) / ((float)x_size); - location.y *= ((float)DS_SCREEN_HEIGHT_COMBINED) / ((float)y_size); - - //invert the y - location.y = DS_SCREEN_HEIGHT - location.y - 1; - } - else if(rotation = -90) - { - if(location.x >= x_size / 2) - { - return NSMakePoint(-1, -1); - } - location.y = y_size - location.y; - - location.x *= ((float)DS_SCREEN_HEIGHT_COMBINED) / ((float)x_size); - location.y *= ((float)DS_SCREEN_WIDTH) / ((float)y_size); - - //invert the y - location.x = DS_SCREEN_HEIGHT - location.x - 1; - - float temp = location.x; - location.x = location.y; - location.y = temp; - } - else if(rotation = -180) - { - if(location.y < y_size / 2) - { - return NSMakePoint(-1, -1); - } - location.x = x_size - location.x; - location.y = y_size - location.y; - - //scale the coordinates - location.x *= ((float)DS_SCREEN_WIDTH) / ((float)x_size); - location.y *= ((float)DS_SCREEN_HEIGHT_COMBINED) / ((float)y_size); - - //invert the y - location.y = DS_SCREEN_HEIGHT - location.y - 1; - } - else if(rotation = -270) - { - if(location.x < x_size / 2) - { - return NSMakePoint(-1, -1); - } - location.x = x_size - location.x; - - location.x *= ((float)DS_SCREEN_HEIGHT_COMBINED) / ((float)x_size); - location.y *= ((float)DS_SCREEN_WIDTH) / ((float)y_size); - - //invert the y - location.x = DS_SCREEN_HEIGHT - location.x - 1; - - float temp = location.x; - location.x = location.y; - location.y = temp; - } - - return location; -} - -- (void)toggleConstrainProportions; -{ - //change the state - keep_proportions = !keep_proportions; - - //constrain - if(keep_proportions) - { - NSSize temp = [[window contentView] frame].size; - temp.width -= WINDOW_BORDER_PADDING*2; - temp.height -= [self statusBarHeight]; - [self resizeScreen:temp]; - } - - //set the menu checks - if([constrain_item target] == self) - [constrain_item setState:keep_proportions?NSOnState:NSOffState]; -} - -- (void)toggleStatusBar -{ - NSRect rect; - if(status_view == nil) - { - //Create the status view - -//fixme subtract resize handle size to avoid overlap? - rect = NSMakeRect(WINDOW_BORDER_PADDING, 0, [window frame].size.width - WINDOW_BORDER_PADDING*2, 16); - - status_view = [[NSTextField alloc] initWithFrame:rect]; - - if(status_view != nil) - { - //setup the status view - [status_view setDrawsBackground:NO]; - [status_view setBordered:NO]; - [status_view setBezeled:NO]; - [status_view setSelectable:NO]; - [status_view setEditable:NO]; - [status_view setStringValue:[self statusText]]; - [status_view setAutoresizingMask:NSViewWidthSizable]; - rect = [status_view frame]; - - //add status view to the window - [[window contentView] addSubview:status_view]; - - //set the menu checkmark - if([toggle_status_bar_item target] == self) - [toggle_status_bar_item setState:NSOnState]; - - [window setShowsResizeIndicator:YES]; - - } else - { - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"Couldn't create status bar", nil)]; - return; - } - - } else - { - //get rid of status view - [status_view removeFromSuperview]; - [status_view release]; - status_view = nil; - - //unset the menu checkmark - if([toggle_status_bar_item target] == self) - [toggle_status_bar_item setState:NSOffState]; - - //hide the resize control (so it doesn't overlap our screen) - [window setShowsResizeIndicator:NO]; - } - - //move the video output view up or down to where the status bar is (or isn't) - rect = [video_output_view frame]; - rect.origin.y = [self statusBarHeight]; - [video_output_view setFrame:rect]; - - //resize the window - NSUInteger autoresizing_mask = [video_output_view autoresizingMask]; - [video_output_view setAutoresizingMask:NSViewNotSizable]; //dont resize the video output when we resize the window\ - - CGFloat new_height = [window frameRectForContentRect:NSMakeRect(0, 0, [[window contentView] frame].size.width, [self statusBarHeight] + (video_output_view==nil?0:[video_output_view frame].size.height))].size.height; - - rect = [window frame]; - rect.origin.y += rect.size.height - new_height; - rect.size.height = new_height; - [window setFrame:rect display:YES]; - - [video_output_view setAutoresizingMask:autoresizing_mask]; - - //set new window min size - [self resetMinSize:YES]; -} - -- (void)setRotation:(float)rotation -{ - float current_rotation = [self rotation]; - - if(video_output_view && current_rotation != rotation) - { - NSSize size = [video_output_view frame].size; - - //rotate view bounds (negative because nsview does it counter-clockwise) - [video_output_view setBoundsRotation:-rotation]; - [video_output_view setNeedsDisplay:YES]; - - //if view is to be rotated (not just flipped) - if(((current_rotation == 0 || current_rotation == 180) && (rotation == 90 || rotation == 270)) || - ((current_rotation == 90 || current_rotation == 270) && (rotation == 0 || rotation == 180))) - { - //swap x-y sizes - float temp = size.width; - size.width = size.height; - size.height = temp; - - //fit window - [self resetMinSize:NO]; - [self resizeScreen:size]; - } - } - - //set the checkmarks - rotation = video_output_view ? [self rotation] : -1; //no checks set if video output is nil - if([rotation0_item target] == self) - if(rotation == 0)[rotation0_item setState:NSOnState]; - else [rotation0_item setState:NSOffState]; - if([rotation90_item target] == self) - if(rotation == 90)[rotation90_item setState:NSOnState]; - else [rotation90_item setState:NSOffState]; - if([rotation180_item target] == self) - if(rotation == 180)[rotation180_item setState:NSOnState]; - else [rotation180_item setState:NSOffState]; - if([rotation270_item target] == self) - if(rotation == 270)[rotation270_item setState:NSOnState]; - else [rotation270_item setState:NSOffState]; -} - -- (void)setRotation0 { [self setRotation: 0]; } -- (void)setRotation90 { [self setRotation: 90]; } -- (void)setRotation180 { [self setRotation:180]; } -- (void)setRotation270 { [self setRotation:270]; } -- (float)rotation { return video_output_view ? -[video_output_view boundsRotation] : 0; } - -- (void)toggleTopBackground0 -{ - [self toggleSubScreenLayer:0]; - - if([topBG0_item target] == self) - if([self isSubScreenLayerDisplayed:0] == NO) - [topBG0_item setState:NSOffState]; - else - [topBG0_item setState:NSOnState]; -} - -- (void)toggleTopBackground1 -{ - [self toggleSubScreenLayer:1]; - - if([topBG1_item target] == self) - if([self isSubScreenLayerDisplayed:1] == NO) - [topBG1_item setState:NSOffState]; - else - [topBG1_item setState:NSOnState]; -} - -- (void)toggleTopBackground2 -{ - [self toggleSubScreenLayer:2]; - - if([topBG2_item target] == self) - if([self isSubScreenLayerDisplayed:2] == NO) - [topBG2_item setState:NSOffState]; - else - [topBG2_item setState:NSOnState]; -} - -- (void)toggleTopBackground3 -{ - [self toggleSubScreenLayer:3]; - - if([topBG3_item target] == self) - if([self isSubScreenLayerDisplayed:3] == NO) - [topBG3_item setState:NSOffState]; - else - [topBG3_item setState:NSOnState]; -} - -- (void)toggleTopObject -{ - [self toggleSubScreenLayer:4]; - - if([topOBJ_item target] == self) - if([self isSubScreenLayerDisplayed:4] == NO) - [topOBJ_item setState:NSOffState]; - else - [topOBJ_item setState:NSOnState]; -} - -- (void)toggleSubBackground0 -{ - [self toggleMainScreenLayer:0]; - - if([subBG0_item target] == self) - if([self isMainScreenLayerDisplayed:0] == NO) - [subBG0_item setState:NSOffState]; - else - [subBG0_item setState:NSOnState]; -} - -- (void)toggleSubBackground1 -{ - [self toggleMainScreenLayer:1]; - - if([subBG1_item target] == self) - if([self isMainScreenLayerDisplayed:1] == NO) - [subBG1_item setState:NSOffState]; - else - [subBG1_item setState:NSOnState]; -} - -- (void)toggleSubBackground2 -{ - [self toggleMainScreenLayer:2]; - - if([subBG2_item target] == self) - if([self isMainScreenLayerDisplayed:2] == NO) - [subBG2_item setState:NSOffState]; - else - [subBG2_item setState:NSOnState]; -} - -- (void)toggleSubBackground3 -{ - [self toggleMainScreenLayer:3]; - - if([subBG3_item target] == self) - if([self isMainScreenLayerDisplayed:3] == NO) - [subBG3_item setState:NSOffState]; - else - [subBG3_item setState:NSOnState]; -} - -- (void)toggleSubObject -{ - [self toggleMainScreenLayer:4]; - - if([subOBJ_item target] == self) - if([self isMainScreenLayerDisplayed:4] == NO) - [subOBJ_item setState:NSOffState]; - else - [subOBJ_item setState:NSOnState]; -} - -- (void)saveScreenshot -{//todo: this should work even if video_output_view doesn't exist - BOOL executing = [self executing]; - [self pause]; - - [Screenshot saveScreenshotAs:[video_output_view screenState]]; - - if(executing == YES)[self execute]; -} - -- (BOOL)windowShouldClose:(id)sender -{ - [sender hide]; - return FALSE; -} - -- (void)resetSizeMenuChecks -{ - if(video_output_view == nil) - { - if([resize1x target] == self)[resize1x setState:NSOffState]; - if([resize2x target] == self)[resize2x setState:NSOffState]; - if([resize3x target] == self)[resize3x setState:NSOffState]; - if([resize4x target] == self)[resize4x setState:NSOffState]; - return; - } - - //get the window size - NSSize size = [video_output_view frame].size; - - //due to rounding errors in the constrain function or whatnot - //the size can get off slightly, but we can round for the sake of having menu checkmarks appear correct -#define APPRX_EQL(a, b) ((b >= (a - 1)) && (b <= (a + 1))) - - //take rotation into account - CGFloat ds_screen_width = (([video_output_view boundsRotation] == 0) || ([video_output_view boundsRotation] == -180)) ? DS_SCREEN_WIDTH : DS_SCREEN_HEIGHT_COMBINED; - CGFloat ds_screen_height = (([video_output_view boundsRotation] == 0) || ([video_output_view boundsRotation] == -180)) ? DS_SCREEN_HEIGHT_COMBINED : DS_SCREEN_WIDTH; - - if(APPRX_EQL(size.width, ds_screen_width) && APPRX_EQL(size.height, ds_screen_height)) - { - if([resize1x target] == self)[resize1x setState:NSOnState ]; - if([resize2x target] == self)[resize2x setState:NSOffState]; - if([resize3x target] == self)[resize3x setState:NSOffState]; - if([resize4x target] == self)[resize4x setState:NSOffState]; - } else if(APPRX_EQL(size.width, ds_screen_width*2) && APPRX_EQL(size.height, ds_screen_height*2)) - { - if([resize1x target] == self)[resize1x setState:NSOffState]; - if([resize2x target] == self)[resize2x setState:NSOnState ]; - if([resize3x target] == self)[resize3x setState:NSOffState]; - if([resize4x target] == self)[resize4x setState:NSOffState]; - } else if(APPRX_EQL(size.width, ds_screen_width*3) && APPRX_EQL(size.height, ds_screen_height*3)) - { - if([resize1x target] == self)[resize1x setState:NSOffState]; - if([resize2x target] == self)[resize2x setState:NSOffState]; - if([resize3x target] == self)[resize3x setState:NSOnState ]; - if([resize4x target] == self)[resize4x setState:NSOffState]; - } else if(APPRX_EQL(size.width, ds_screen_width*4) && APPRX_EQL(size.height, ds_screen_height*4)) - { - if([resize1x target] == self)[resize1x setState:NSOffState]; - if([resize2x target] == self)[resize2x setState:NSOffState]; - if([resize3x target] == self)[resize3x setState:NSOffState]; - if([resize4x target] == self)[resize4x setState:NSOnState ]; - } else - { - if([resize1x target] == self)[resize1x setState:NSOffState]; - if([resize2x target] == self)[resize2x setState:NSOffState]; - if([resize3x target] == self)[resize3x setState:NSOffState]; - if([resize4x target] == self)[resize4x setState:NSOffState]; - } -} - -- (void)windowDidResize:(NSNotification*)aNotification; -{ - if(video_output_view == nil)return; - - //set the menu items - [self resetSizeMenuChecks]; -} - -- (NSSize)windowWillResize:(NSWindow*)sender toSize:(NSSize)proposedFrameSize -{ - if(video_output_view == nil) - //allow x resize if theres no video output, but not y resize - return NSMakeSize(proposedFrameSize.width, [window frameRectForContentRect:NSMakeRect(0, 0, proposedFrameSize.width, [self statusBarHeight])].size.height); - - //constrain proportions - if(keep_proportions) - { - // - NSSize content_size = [window contentRectForFrameRect:NSMakeRect(0, 0, proposedFrameSize.width, proposedFrameSize.height)].size; - - //this is a simple algorithm to constrain to the smallest axis - NSSize constrained_size; - - if([video_output_view boundsRotation] == 0 || [video_output_view boundsRotation] == -180) - { - //this is a simple algorithm to constrain to the smallest axis - - constrained_size.width = (content_size.height - [self statusBarHeight]) * DS_SCREEN_X_RATIO; - constrained_size.width += WINDOW_BORDER_PADDING*2; - - constrained_size.height = (content_size.width - WINDOW_BORDER_PADDING*2) * DS_SCREEN_Y_RATIO; - constrained_size.height += [self statusBarHeight]; - - } else - { - //like above but with opposite ratios - - constrained_size.width = (content_size.height - [self statusBarHeight]) * DS_SCREEN_Y_RATIO; - constrained_size.width += WINDOW_BORDER_PADDING*2; - - constrained_size.height = (content_size.width - WINDOW_BORDER_PADDING*2) * DS_SCREEN_X_RATIO; - constrained_size.height += [self statusBarHeight]; - } - - constrained_size = [window frameRectForContentRect:NSMakeRect(0, 0, constrained_size.width, constrained_size.height)].size; - - if(constrained_size.width < proposedFrameSize.width)proposedFrameSize.width = constrained_size.width; - if(constrained_size.height < proposedFrameSize.height)proposedFrameSize.height = constrained_size.height; - } - - //return the [potentially modified] frame size to cocoa to actually resize the window - return proposedFrameSize; -} - -- (void)showRomInfo -{ - [ROMInfo showROMInfo:self]; -} - -- (void)setVolume:(int)volume -{ - [super setVolume:volume]; - - int i; - for(i = 0; i < 10; i++) - if([volume_item[i] target] == self) - if(volume == (i+1)*10) - [volume_item[i] setState:NSOnState]; - else - [volume_item[i] setState:NSOffState]; -} - -- (void)setVolumeFromMenu:(id)sender -{ - int i; - for(i = 0; i < 10; i++) - if(sender == volume_item[i]) - { - [self disableMute]; //unmute if needed - [self setVolume:(i+1)*10]; - break; - } -} - -- (void)enableMute -{ - [super enableMute]; - - if([mute_item target] == self) - [mute_item setState:NSOnState]; -} - -- (void)disableMute -{ - [super disableMute]; - - if([mute_item target] == self) - [mute_item setState:NSOffState]; -} - -- (void)windowDidBecomeMain:(NSNotification*)notification -{ - int i; - - //FILE options - [close_rom_item setTarget:self]; - [rom_info_item setTarget:self]; - [save_state_as_item setTarget:self]; - [load_state_from_item setTarget:self]; - for(i = 0; i < MAX_SLOTS; i++) - { - [saveSlot_item[i] setTarget:self]; - [loadSlot_item[i] setTarget:self]; - - if ([CocoaDSFile saveStateExistsForSlot:loadedRomURL slotNumber:i]) - { - [saveSlot_item[i] setState:NSOnState]; - } else - [saveSlot_item[i] setState:NSOffState]; - } - - //EXECUTION menu - [execute_item setTarget:self]; - [pause_item setTarget:self]; - [reset_item setTarget:self]; - - if([self ROMLoaded] == YES) - { - if([self paused] == YES) - { - [execute_item setState:NSOffState]; - [pause_item setState:NSOnState]; - } else - { - [execute_item setState:NSOnState]; - [pause_item setState:NSOffState]; - } - } else - { - [execute_item setState:NSOffState]; - [pause_item setState:NSOffState]; - } - - // Backup media type - for(i = 0; i < MAX_SAVE_TYPE; i++)[save_type_item[i] setTarget:self]; - [self setSaveType:[self saveType]]; // initalize the menu - - - [speed_limit_25_item setTarget:self]; - [speed_limit_50_item setTarget:self]; - [speed_limit_75_item setTarget:self]; - [speed_limit_100_item setTarget:self]; - [speed_limit_200_item setTarget:self]; - [speed_limit_none_item setTarget:self]; - [speed_limit_custom_item setTarget:self]; - [self setSpeedLimit:[self speedLimit]]; //this will set the checks correctly - - //VIEW menu - - //view options now target this window - [resize1x setTarget:self]; - [resize1x setTarget:self]; - [resize2x setTarget:self]; - [resize3x setTarget:self]; - [resize4x setTarget:self]; - [constrain_item setTarget:self]; - [min_size_item setTarget:self]; - [toggle_status_bar_item setTarget:self]; - [rotation0_item setTarget:self]; - [rotation90_item setTarget:self]; - [rotation180_item setTarget:self]; - [rotation270_item setTarget:self]; - [topBG0_item setTarget:self]; - [topBG1_item setTarget:self]; - [topBG2_item setTarget:self]; - [topBG3_item setTarget:self]; - [topOBJ_item setTarget:self]; - [subBG0_item setTarget:self]; - [subBG1_item setTarget:self]; - [subBG2_item setTarget:self]; - [subBG3_item setTarget:self]; - [subOBJ_item setTarget:self]; - [screenshot_to_file_item setTarget:self]; - - //set checks for view window based on the options of this window - [self resetSizeMenuChecks]; - [constrain_item setState:keep_proportions?NSOnState:NSOffState]; - [min_size_item setState:no_smaller_than_ds?NSOnState:NSOffState]; - [toggle_status_bar_item setState:(status_view!=nil)?NSOnState:NSOffState]; - - if([self isSubScreenLayerDisplayed:0] == YES) - [topBG0_item setState:NSOnState]; - else - [topBG0_item setState:NSOffState]; - - if([self isSubScreenLayerDisplayed:1] == YES) - [topBG1_item setState:NSOnState]; - else - [topBG1_item setState:NSOffState]; - - if([self isSubScreenLayerDisplayed:2] == YES) - [topBG2_item setState:NSOnState]; - else - [topBG2_item setState:NSOffState]; - - if([self isSubScreenLayerDisplayed:3] == YES) - [topBG3_item setState:NSOnState]; - else - [topBG3_item setState:NSOffState]; - - if([self isSubScreenLayerDisplayed:4] == YES) - [topOBJ_item setState:NSOnState]; - else - [topOBJ_item setState:NSOffState]; - - if([self isMainScreenLayerDisplayed:0] == YES) - [subBG0_item setState:NSOnState]; - else - [subBG0_item setState:NSOffState]; - - if([self isMainScreenLayerDisplayed:1] == YES) - [subBG1_item setState:NSOnState]; - else - [subBG1_item setState:NSOffState]; - - if([self isMainScreenLayerDisplayed:2] == YES) - [subBG2_item setState:NSOnState]; - else - [subBG2_item setState:NSOffState]; - - if([self isMainScreenLayerDisplayed:3] == YES) - [subBG3_item setState:NSOnState]; - else - [subBG3_item setState:NSOffState]; - - if([self isMainScreenLayerDisplayed:4] == YES) - [subOBJ_item setState:NSOnState]; - else - [subOBJ_item setState:NSOffState]; - - [self setRotation:[self rotation]]; - - //SOUND Menu - int volume; - [mute_item setTarget:self]; - if([self muted] == YES) - { - [mute_item setState:NSOnState]; - volume = -1; - } else - { - [mute_item setState:NSOffState]; - volume = [self volume]; - } - - for(i = 0; i < 10; i++) - { - if((i+1)*10 == volume) - [volume_item[i] setState:NSOnState]; - else - [volume_item[i] setState:NSOffState]; - [volume_item[i] setTarget:self]; - } - - //Update the ROM Info window - if([self ROMLoaded] == YES) - [ROMInfo changeDS:self]; - else - [ROMInfo closeROMInfo]; -} - -- (BOOL)validateMenuItem:(NSMenuItem*)item -{ - //This function is called automatically by Cocoa - //when it needs to know if a menu item should be greyed out - - int i; - - if([self ROMLoaded] == NO) - { //if no rom is loaded, various options are disabled - if(item == close_rom_item)return NO; - if(item == rom_info_item)return NO; - if(item == save_state_as_item)return NO; - if(item == load_state_from_item)return NO; - for(i = 0; i < MAX_SLOTS; i++) - { - if(item == saveSlot_item[i])return NO; - if(item == loadSlot_item[i])return NO; - } - - if(item == execute_item)return NO; - if(item == pause_item)return NO; - if(item == reset_item)return NO; - - if(item == screenshot_to_file_item)return NO; - } - - else - for(i = 0; i < MAX_SLOTS; i++) - if(item == loadSlot_item[i]) - if (![CocoaDSFile saveStateExistsForSlot:loadedRomURL slotNumber:i]) return NO; - - if(video_output_view == nil) - { - if(item == resize1x)return NO; - if(item == resize2x)return NO; - if(item == resize3x)return NO; - if(item == resize4x)return NO; - if(item == constrain_item)return NO; - if(item == rotation0_item)return NO; - if(item == rotation90_item)return NO; - if(item == rotation180_item)return NO; - if(item == rotation270_item)return NO; - if(item == screenshot_to_file_item)return NO; - } - - if([self hasSound] == NO) - { - if(item == mute_item)return NO; - for(i = 0; i < 10; i++)if(item == volume_item[i])return NO; - } - - return YES; -} - -@end diff --git a/desmume/src/cocoa/screenshot.h b/desmume/src/cocoa/screenshot.h deleted file mode 100644 index 5642aa314..000000000 --- a/desmume/src/cocoa/screenshot.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2007 Jeff Bland - - This file is part of DeSmuME - - DeSmuME is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DeSmuME is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DeSmuME; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#import - -@class ScreenState; - -@interface Screenshot : NSObject {} -+ (void)saveScreenshotAs:(const ScreenState*)screen; -@end diff --git a/desmume/src/cocoa/screenshot.mm b/desmume/src/cocoa/screenshot.mm deleted file mode 100644 index a1f27e32b..000000000 --- a/desmume/src/cocoa/screenshot.mm +++ /dev/null @@ -1,198 +0,0 @@ -/* - Copyright (C) 2007 Jeff Bland - Copyright (C) 2011 Roger Manuel - Copyright (C) 2012 DeSmuME team - - This file is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This file is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the this software. If not, see . -*/ - -#import "screenshot.h" -#import "cocoa_util.h" -#import "nds_control.h" -#import "screen_state.h" - -@interface ScreenshotSaveDelegate : NSObject -{ - NSSavePanel *my_panel; -} -- (id)init; -- (void)setPanel:(NSSavePanel*)panel; -- (void)dealloc; -- (void)buttonPressed:(id)sender; -@end - -@implementation ScreenshotSaveDelegate -- (id)init -{ - self = [super init]; - if(self == nil)return self; - - my_panel = nil; - - return self; -} - -- (void)setPanel:(NSSavePanel*)panel; -{ - [my_panel release]; - my_panel = panel; - [my_panel retain]; -} - -- (void)dealloc -{ - [my_panel release]; - [super dealloc]; -} - -- (void)buttonPressed:(id)sender -{ - if([sender indexOfSelectedItem] == 0) - { - [my_panel setAllowsOtherFileTypes:NO]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"bmp", @"gif", @"jpg", @"jpeg", @"png", @"tiff", nil]]; - } else if([sender indexOfSelectedItem] == 2) - { - [my_panel setAllowsOtherFileTypes:YES]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"gif", nil]]; - } else if([sender indexOfSelectedItem] == 3) - { - [my_panel setAllowsOtherFileTypes:YES]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"jpg", @"jpeg", nil]]; - } else if([sender indexOfSelectedItem] == 4) - { - [my_panel setAllowsOtherFileTypes:YES]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"png", nil]]; - } else if([sender indexOfSelectedItem] == 5) - { - [my_panel setAllowsOtherFileTypes:YES]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"tiff", nil]]; - } else - { - [my_panel setAllowsOtherFileTypes:YES]; - [my_panel setAllowedFileTypes:[NSArray arrayWithObjects:@"bmp", nil]]; - } - - [my_panel validateVisibleColumns]; -} - -@end - -@implementation Screenshot -+ (void)saveScreenshotAs:(const ScreenState*)screen -{ - [screen retain]; - - //create a save panel ------------------------------------ - - ScreenshotSaveDelegate *save_delegate = [[ScreenshotSaveDelegate alloc] init]; - - NSSavePanel *panel = [NSSavePanel savePanel]; - [panel retain]; - - [panel setTitle:NSLocalizedString(@"Save Screenshot to File...", nil)]; - //[panel setCanSelectHiddenExtension:YES]; - - //create the accessory view ------------------------------ - - NSFont *font = [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSRegularControlSize]]; - - NSTextView *format_text = [[NSTextView alloc] initWithFrame:NSMakeRect(0,0,500,500)]; - [format_text setFont:font]; - [format_text setEditable:NO]; - [format_text setDrawsBackground:NO]; - [format_text setMaxSize:NSMakeSize(500,26)]; - [format_text setMinSize:NSMakeSize(1,1)]; - [format_text setHorizontallyResizable:YES]; - [format_text setVerticallyResizable:YES]; - [format_text setString:NSLocalizedString(@"Select Image Format: ", nil)]; - [format_text sizeToFit]; - NSRect temp = [format_text frame]; //center - temp.origin.y = 26.0 / 2.0 - (float)[format_text frame].size.height / 2.0; - [format_text setFrame:temp]; - - NSPopUpButton *format_button = [[NSPopUpButton alloc] initWithFrame:NSMakeRect([format_text frame].size.width,0,200,26) pullsDown:NO]; - [format_button addItemWithTitle:NSLocalizedString(@"Pick by Extension", nil)]; - [format_button addItemWithTitle:NSLocalizedString(@"BMP", nil)]; - [format_button addItemWithTitle:NSLocalizedString(@"GIF", nil)]; - [format_button addItemWithTitle:NSLocalizedString(@"JPG", nil)]; - [format_button addItemWithTitle:NSLocalizedString(@"PNG", nil)]; - [format_button addItemWithTitle:NSLocalizedString(@"TIFF", nil)]; - [format_button setAction:@selector(buttonPressed:)]; - [format_button setTarget:save_delegate]; - - NSView *format_selection = [[NSView alloc] initWithFrame:NSMakeRect(0,0,[format_text frame].size.width + [format_button frame].size.width,26)]; - - [format_selection addSubview:format_text]; - [format_text release]; - - [format_selection addSubview:format_button]; - - [panel setAccessoryView:format_selection]; - [format_selection release]; - - [save_delegate setPanel:panel]; - - //run the save panel ------------------------------------- - - if([panel runModalForDirectory:nil file:nil] == NSFileHandlingPanelOKButton) - { - //save the image ------------------------------------- - - //get the file type - - NSBitmapImageFileType type = NSBMPFileType; - - if([format_button indexOfSelectedItem] == 0) - { - NSString *ext = [[panel filename] pathExtension]; - - if([ext caseInsensitiveCompare:@"gif"] == NSOrderedSame) - type = NSGIFFileType; - else if([ext caseInsensitiveCompare:@"jpg"] == NSOrderedSame) - type = NSJPEGFileType; - else if([ext caseInsensitiveCompare:@"jpeg"] == NSOrderedSame) - type = NSJPEGFileType; - else if([ext caseInsensitiveCompare:@"png"] == NSOrderedSame) - type = NSPNGFileType; - else if([ext caseInsensitiveCompare:@"tiff"] == NSOrderedSame) - type = NSTIFFFileType; - } - if([format_button indexOfSelectedItem] == 2) - type = NSGIFFileType; - if([format_button indexOfSelectedItem] == 3) - type = NSJPEGFileType; - if([format_button indexOfSelectedItem] == 4) - type = NSPNGFileType; - if([format_button indexOfSelectedItem] == 5) - type = NSTIFFFileType; - - //tell cocoa save the file - NSBitmapImageRep *image = [screen imageRep]; - if(image == nil) - [CocoaDSUtil quickDialogUsingTitle:NSLocalizedString(@"Error", nil) message:NSLocalizedString(@"Couldn't create the screenshot image", nil)]; - else - [[image representationUsingType:type properties:[NSDictionary dictionary]] - writeToFile:[panel filename] atomically:NO]; - - } - - // - [format_button release]; - [panel release]; - [save_delegate release]; - [screen release]; -} - -@end diff --git a/desmume/src/cocoa/translations/Chinese.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/Chinese.lproj/MainMenu (Legacy).xib deleted file mode 100644 index 3323dbb8f..000000000 --- a/desmume/src/cocoa/translations/Chinese.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,771 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - 关于 DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - 偏好设置 - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - 服务 - - 1048576 - 2147483647 - - - submenuAction: - - 服务 - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - 隐藏 DeSmuME - h - 1048576 - 2147483647 - - - - - - 隐藏其他程序 - h - 1572864 - 2147483647 - - - - - - 显示全部 - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - 退出 DeSmuME - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{306, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{318, 653}, {190, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - NSObject - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - - diff --git a/desmume/src/cocoa/translations/French.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/French.lproj/MainMenu (Legacy).xib deleted file mode 100644 index d5685b22b..000000000 --- a/desmume/src/cocoa/translations/French.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,774 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - About DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide DeSmuME - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit DeSmuME - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{306, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{341, 642}, {203, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - - diff --git a/desmume/src/cocoa/translations/Italian.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/Italian.lproj/MainMenu (Legacy).xib deleted file mode 100644 index d5685b22b..000000000 --- a/desmume/src/cocoa/translations/Italian.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,774 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - About DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide DeSmuME - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit DeSmuME - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{306, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{341, 642}, {203, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - - diff --git a/desmume/src/cocoa/translations/Japanese.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/Japanese.lproj/MainMenu (Legacy).xib deleted file mode 100644 index d5685b22b..000000000 --- a/desmume/src/cocoa/translations/Japanese.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,774 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - About DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide DeSmuME - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit DeSmuME - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{306, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{341, 642}, {203, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - - diff --git a/desmume/src/cocoa/translations/Norwegian.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/Norwegian.lproj/MainMenu (Legacy).xib deleted file mode 100644 index 62a685a66..000000000 --- a/desmume/src/cocoa/translations/Norwegian.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,772 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - Om DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Valg... - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Tjenester - - 1048576 - 2147483647 - - - submenuAction: - - Tjenester - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Skjul DeSmuME - h - 1048576 - 2147483647 - - - - - - Skjul Andre - h - 1572864 - 2147483647 - - - - - - Vis Alle - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Avslutt DeSmuMe - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - {{819, 770}, {64, 6}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{614, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{626, 653}, {209, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - NSObject - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - - diff --git a/desmume/src/cocoa/translations/Romanian.lproj/MainMenu (Legacy).xib b/desmume/src/cocoa/translations/Romanian.lproj/MainMenu (Legacy).xib deleted file mode 100644 index d5685b22b..000000000 --- a/desmume/src/cocoa/translations/Romanian.lproj/MainMenu (Legacy).xib +++ /dev/null @@ -1,774 +0,0 @@ - - - - 1040 - 11C74 - 851 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 851 - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - - - DeSmuME - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - DeSmuME - - - - About DeSmuME - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide DeSmuME - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit DeSmuME - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - _NSMainMenu - - - - - - - terminate: - - - - 139 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - hideOtherApplications: - - - - 146 - - - - hide: - - - - 152 - - - - unhideAllApplications: - - - - 153 - - - - orderFrontDataLinkPanel: - - - - 206 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - 29 - - - - - - MainMenu - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 196 - - - - - -3 - - - Application - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{306, 836}, {114, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{341, 642}, {203, 183}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - 207 - - - - - FirstResponder - - IBUserSource - - - - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSWindowRestoration.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSResponder - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSLayoutConstraint.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSOpenGLView.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - ../../DeSmuME.xcodeproj - 3 - - {9, 8} - {7, 2} - - -