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
-
-
-
-
-
- FirstResponder
-
-
- NSApplication
-
-
-
-
-
-
-
- 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
-
-
-
-
-
-
-
- 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
-
-
-
-
-
-
-
- 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
-
-
-
-
-
-
-
- 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
-
-
-
-
-
-
-
- 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
-
-
-
-
-
-
-
- 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}
-
-
-