From b63bd56da8bb27ad32a36eb1ecc522f60b2677ac Mon Sep 17 00:00:00 2001
From: "alexey.lysiuk" <alexey.lysiuk@gmail.com>
Date: Sat, 15 Nov 2014 13:32:37 +0200
Subject: [PATCH] Removed .xib file and, therefore, dependency from ibtool

Menu is now created in code
---
 src/CMakeLists.txt           |  15 +-
 src/cocoa/i_backend_cocoa.mm | 108 ++++-
 src/cocoa/zdoom.xib          | 874 -----------------------------------
 3 files changed, 108 insertions(+), 889 deletions(-)
 delete mode 100644 src/cocoa/zdoom.xib

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ef252fc3a..af323f5b3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -594,20 +594,7 @@ set( PLAT_COCOA_SOURCES
 
 if( APPLE )
 	if( OSX_COCOA_BACKEND )
-		find_program( IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin" )
-		if( ${IBTOOL} STREQUAL "IBTOOL-NOTFOUND" )
-			message( SEND_ERROR "ibtool can not be found to compile xib files." )
-		endif( ${IBTOOL} STREQUAL "IBTOOL-NOTFOUND" )
-
-		set( NIB_FILE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/zdoom.dir/zdoom.nib" )
-		add_custom_command( OUTPUT "${NIB_FILE}"
-			COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
-					--compile "${NIB_FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/cocoa/zdoom.xib"
-			COMMENT "Compiling zdoom.xib" )
-
-		set( PLAT_SDL_SOURCES ${PLAT_SDL_SYSTEM_SOURCES} ${PLAT_COCOA_SOURCES} "${NIB_FILE}" "${FMOD_LIBRARY}" )
-
-		set_source_files_properties( "${NIB_FILE}" PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
+		set( PLAT_SDL_SOURCES ${PLAT_SDL_SYSTEM_SOURCES} ${PLAT_COCOA_SOURCES} "${FMOD_LIBRARY}" )
 	else( OSX_COCOA_BACKEND )
 		set( PLAT_SDL_SOURCES ${PLAT_SDL_SYSTEM_SOURCES} ${PLAT_SDL_SPECIAL_SOURCES} "${FMOD_LIBRARY}" )
 		set( PLAT_MAC_SOURCES ${PLAT_MAC_SOURCES} sdl/SDLMain.m )
diff --git a/src/cocoa/i_backend_cocoa.mm b/src/cocoa/i_backend_cocoa.mm
index 3d24fe8b5..05ee3a06e 100644
--- a/src/cocoa/i_backend_cocoa.mm
+++ b/src/cocoa/i_backend_cocoa.mm
@@ -1975,6 +1975,107 @@ int SDL_SetPalette(SDL_Surface* surface, int flags, SDL_Color* colors, int first
 	
 } // extern "C"
 
+
+namespace
+{
+
+NSMenuItem* CreateApplicationMenu()
+{
+	NSMenu* menu = [NSMenu new];
+
+	[menu addItemWithTitle:[@"About " stringByAppendingString:@GAMENAME]
+					   action:@selector(orderFrontStandardAboutPanel:)
+				keyEquivalent:@""];
+	[menu addItem:[NSMenuItem separatorItem]];
+	[menu addItemWithTitle:[@"Hide " stringByAppendingString:@GAMENAME]
+					   action:@selector(hide:)
+				keyEquivalent:@"h"];
+	[[menu addItemWithTitle:@"Hide Others"
+						action:@selector(hideOtherApplications:)
+				 keyEquivalent:@"h"]
+	 setKeyEquivalentModifierMask:NSAlternateKeyMask | NSCommandKeyMask];
+	[menu addItemWithTitle:@"Show All"
+					   action:@selector(unhideAllApplications:)
+				keyEquivalent:@""];
+	[menu addItem:[NSMenuItem separatorItem]];
+	[menu addItemWithTitle:[@"Quit " stringByAppendingString:@GAMENAME]
+					   action:@selector(terminate:)
+				keyEquivalent:@"q"];
+
+	NSMenuItem* menuItem = [NSMenuItem new];
+	[menuItem setSubmenu:menu];
+
+	return menuItem;
+}
+
+NSMenuItem* CreateEditMenu()
+{
+	NSMenu* menu = [[NSMenu alloc] initWithTitle:@"Edit"];
+
+	[menu addItemWithTitle:@"Undo"
+						action:@selector(undo:)
+				 keyEquivalent:@"z"];
+	[menu addItemWithTitle:@"Redo"
+						action:@selector(redo:)
+				 keyEquivalent:@"Z"];
+	[menu addItem:[NSMenuItem separatorItem]];
+	[menu addItemWithTitle:@"Cut"
+						action:@selector(cut:)
+				 keyEquivalent:@"x"];
+	[menu addItemWithTitle:@"Copy"
+						action:@selector(copy:)
+				 keyEquivalent:@"c"];
+	[menu addItemWithTitle:@"Paste"
+						action:@selector(paste:)
+				 keyEquivalent:@"v"];
+	[menu addItemWithTitle:@"Delete"
+						action:@selector(delete:)
+				 keyEquivalent:@""];
+	[menu addItemWithTitle:@"Select All"
+						action:@selector(selectAll:)
+				 keyEquivalent:@"a"];
+
+	NSMenuItem* menuItem = [NSMenuItem new];
+	[menuItem setSubmenu:menu];
+
+	return menuItem;
+}
+
+NSMenuItem* CreateWindowMenu()
+{
+	NSMenu* menu = [[NSMenu alloc] initWithTitle:@"Window"];
+	[NSApp setWindowsMenu:menu];
+
+	[menu addItemWithTitle:@"Minimize"
+					action:@selector(performMiniaturize:)
+			 keyEquivalent:@"m"];
+	[menu addItemWithTitle:@"Zoom"
+					action:@selector(performZoom:)
+			 keyEquivalent:@""];
+	[menu addItem:[NSMenuItem separatorItem]];
+	[menu addItemWithTitle:@"Bring All to Front"
+					action:@selector(arrangeInFront:)
+			 keyEquivalent:@""];
+
+	NSMenuItem* menuItem = [NSMenuItem new];
+	[menuItem setSubmenu:menu];
+
+	return menuItem;
+}
+
+void CreateMenu()
+{
+	NSMenu* menuBar = [NSMenu new];
+	[menuBar addItem:CreateApplicationMenu()];
+	[menuBar addItem:CreateEditMenu()];
+	[menuBar addItem:CreateWindowMenu()];
+
+	[NSApp setMainMenu:menuBar];
+}
+
+} // unnamed namespace
+
+
 #ifdef main
 #undef main
 #endif // main
@@ -2006,7 +2107,12 @@ int main(int argc, char** argv)
 	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
 
 	[NSApplication sharedApplication];
-	[NSBundle loadNibNamed:@"zdoom" owner:NSApp];
+
+	// The following line isn't mandatory
+	// but it enables to run without application bundle
+	[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+
+	CreateMenu();
 
 	appCtrl = [ApplicationController new];
 	[NSApp setDelegate:appCtrl];
diff --git a/src/cocoa/zdoom.xib b/src/cocoa/zdoom.xib
deleted file mode 100644
index 56099dc4b..000000000
--- a/src/cocoa/zdoom.xib
+++ /dev/null
@@ -1,874 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
-  <data>
-    <int key="IBDocument.SystemTarget">1060</int>
-    <string key="IBDocument.SystemVersion">11C74</string>
-    <string key="IBDocument.InterfaceBuilderVersion">851</string>
-    <string key="IBDocument.AppKitVersion">1138.23</string>
-    <string key="IBDocument.HIToolboxVersion">567.00</string>
-    <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
-      <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-      <string key="NS.object.0">851</string>
-    </object>
-    <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
-      <bool key="EncodedWithXMLCoder">YES</bool>
-      <integer value="29"/>
-    </object>
-    <object class="NSArray" key="IBDocument.PluginDependencies">
-      <bool key="EncodedWithXMLCoder">YES</bool>
-      <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-    </object>
-    <object class="NSMutableDictionary" key="IBDocument.Metadata">
-      <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
-      <integer value="1" key="NS.object.0"/>
-    </object>
-    <object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
-      <bool key="EncodedWithXMLCoder">YES</bool>
-      <object class="NSCustomObject" id="1021">
-        <string key="NSClassName">NSApplication</string>
-      </object>
-      <object class="NSCustomObject" id="1014">
-        <string key="NSClassName">FirstResponder</string>
-      </object>
-      <object class="NSCustomObject" id="1050">
-        <string key="NSClassName">NSApplication</string>
-      </object>
-      <object class="NSCustomObject" id="979998279">
-        <string key="NSClassName">NSFontManager</string>
-      </object>
-      <object class="NSMenu" id="649796088">
-        <string key="NSTitle">Main Menu</string>
-        <object class="NSMutableArray" key="NSMenuItems">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-          <object class="NSMenuItem" id="694149608">
-            <reference key="NSMenu" ref="649796088"/>
-            <string key="NSTitle">ZDoom</string>
-            <string key="NSKeyEquiv"/>
-            <int key="NSMnemonicLoc">2147483647</int>
-            <object class="NSCustomResource" key="NSOnImage" id="90941078">
-              <string key="NSClassName">NSImage</string>
-              <string key="NSResourceName">NSMenuCheckmark</string>
-            </object>
-            <object class="NSCustomResource" key="NSMixedImage" id="675015698">
-              <string key="NSClassName">NSImage</string>
-              <string key="NSResourceName">NSMenuMixedState</string>
-            </object>
-            <string key="NSAction">submenuAction:</string>
-            <object class="NSMenu" key="NSSubmenu" id="110575045">
-              <string key="NSTitle">ZDoom</string>
-              <object class="NSMutableArray" key="NSMenuItems">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSMenuItem" id="238522557">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">About ZDoom</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="304266470">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="609285721">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Preferences…</string>
-                  <string key="NSKeyEquiv">,</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="481834944">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="1046388886">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Services</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                  <string key="NSAction">submenuAction:</string>
-                  <object class="NSMenu" key="NSSubmenu" id="752062318">
-                    <string key="NSTitle">Services</string>
-                    <object class="NSMutableArray" key="NSMenuItems">
-                      <bool key="EncodedWithXMLCoder">YES</bool>
-                    </object>
-                    <string key="NSName">_NSServicesMenu</string>
-                  </object>
-                </object>
-                <object class="NSMenuItem" id="646227648">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="755159360">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Hide ZDoom</string>
-                  <string key="NSKeyEquiv">h</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="342932134">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Hide Others</string>
-                  <string key="NSKeyEquiv">h</string>
-                  <int key="NSKeyEquivModMask">1572864</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="908899353">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Show All</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="1056857174">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="632727374">
-                  <reference key="NSMenu" ref="110575045"/>
-                  <string key="NSTitle">Quit ZDoom</string>
-                  <string key="NSKeyEquiv">q</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-              </object>
-              <string key="NSName">_NSAppleMenu</string>
-            </object>
-          </object>
-          <object class="NSMenuItem" id="589253321">
-            <reference key="NSMenu" ref="649796088"/>
-            <string key="NSTitle">Edit</string>
-            <string key="NSKeyEquiv"/>
-            <int key="NSMnemonicLoc">2147483647</int>
-            <reference key="NSOnImage" ref="90941078"/>
-            <reference key="NSMixedImage" ref="675015698"/>
-            <string key="NSAction">submenuAction:</string>
-            <object class="NSMenu" key="NSSubmenu" id="428984785">
-              <string key="NSTitle">Edit</string>
-              <object class="NSMutableArray" key="NSMenuItems">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSMenuItem" id="320931528">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Undo</string>
-                  <string key="NSKeyEquiv">z</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="1061671858">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Redo</string>
-                  <string key="NSKeyEquiv">Z</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="107056348">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="371963350">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Cut</string>
-                  <string key="NSKeyEquiv">x</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="258168612">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Copy</string>
-                  <string key="NSKeyEquiv">c</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="440869574">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Paste</string>
-                  <string key="NSKeyEquiv">v</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="331134633">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Delete</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="255637833">
-                  <reference key="NSMenu" ref="428984785"/>
-                  <string key="NSTitle">Select All</string>
-                  <string key="NSKeyEquiv">a</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-              </object>
-            </object>
-          </object>
-          <object class="NSMenuItem" id="713487014">
-            <reference key="NSMenu" ref="649796088"/>
-            <string key="NSTitle">Window</string>
-            <string key="NSKeyEquiv"/>
-            <int key="NSMnemonicLoc">2147483647</int>
-            <reference key="NSOnImage" ref="90941078"/>
-            <reference key="NSMixedImage" ref="675015698"/>
-            <string key="NSAction">submenuAction:</string>
-            <object class="NSMenu" key="NSSubmenu" id="835318025">
-              <string key="NSTitle">Window</string>
-              <object class="NSMutableArray" key="NSMenuItems">
-                <bool key="EncodedWithXMLCoder">YES</bool>
-                <object class="NSMenuItem" id="1011231497">
-                  <reference key="NSMenu" ref="835318025"/>
-                  <string key="NSTitle">Minimize</string>
-                  <string key="NSKeyEquiv">m</string>
-                  <int key="NSKeyEquivModMask">1048576</int>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="575023229">
-                  <reference key="NSMenu" ref="835318025"/>
-                  <string key="NSTitle">Zoom</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="299356726">
-                  <reference key="NSMenu" ref="835318025"/>
-                  <bool key="NSIsDisabled">YES</bool>
-                  <bool key="NSIsSeparator">YES</bool>
-                  <string key="NSTitle"/>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-                <object class="NSMenuItem" id="625202149">
-                  <reference key="NSMenu" ref="835318025"/>
-                  <string key="NSTitle">Bring All to Front</string>
-                  <string key="NSKeyEquiv"/>
-                  <int key="NSMnemonicLoc">2147483647</int>
-                  <reference key="NSOnImage" ref="90941078"/>
-                  <reference key="NSMixedImage" ref="675015698"/>
-                </object>
-              </object>
-              <string key="NSName">_NSWindowsMenu</string>
-            </object>
-          </object>
-        </object>
-        <string key="NSName">_NSMainMenu</string>
-      </object>
-    </object>
-    <object class="IBObjectContainer" key="IBDocument.Objects">
-      <object class="NSMutableArray" key="connectionRecords">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">performMiniaturize:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="1011231497"/>
-          </object>
-          <int key="connectionID">37</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">arrangeInFront:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="625202149"/>
-          </object>
-          <int key="connectionID">39</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">orderFrontStandardAboutPanel:</string>
-            <reference key="source" ref="1021"/>
-            <reference key="destination" ref="238522557"/>
-          </object>
-          <int key="connectionID">142</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">performZoom:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="575023229"/>
-          </object>
-          <int key="connectionID">240</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">hide:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="755159360"/>
-          </object>
-          <int key="connectionID">367</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">hideOtherApplications:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="342932134"/>
-          </object>
-          <int key="connectionID">368</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">terminate:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="632727374"/>
-          </object>
-          <int key="connectionID">369</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">unhideAllApplications:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="908899353"/>
-          </object>
-          <int key="connectionID">370</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">cut:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="371963350"/>
-          </object>
-          <int key="connectionID">738</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">paste:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="440869574"/>
-          </object>
-          <int key="connectionID">739</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">redo:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="1061671858"/>
-          </object>
-          <int key="connectionID">742</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">undo:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="320931528"/>
-          </object>
-          <int key="connectionID">746</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">copy:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="258168612"/>
-          </object>
-          <int key="connectionID">752</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">delete:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="331134633"/>
-          </object>
-          <int key="connectionID">753</int>
-        </object>
-        <object class="IBConnectionRecord">
-          <object class="IBActionConnection" key="connection">
-            <string key="label">selectAll:</string>
-            <reference key="source" ref="1014"/>
-            <reference key="destination" ref="255637833"/>
-          </object>
-          <int key="connectionID">755</int>
-        </object>
-      </object>
-      <object class="IBMutableOrderedSet" key="objectRecords">
-        <object class="NSArray" key="orderedObjects">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-          <object class="IBObjectRecord">
-            <int key="objectID">0</int>
-            <object class="NSArray" key="object" id="0">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-            </object>
-            <reference key="children" ref="1048"/>
-            <nil key="parent"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">-2</int>
-            <reference key="object" ref="1021"/>
-            <reference key="parent" ref="0"/>
-            <string key="objectName">File's Owner</string>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">-1</int>
-            <reference key="object" ref="1014"/>
-            <reference key="parent" ref="0"/>
-            <string key="objectName">First Responder</string>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">-3</int>
-            <reference key="object" ref="1050"/>
-            <reference key="parent" ref="0"/>
-            <string key="objectName">Application</string>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">29</int>
-            <reference key="object" ref="649796088"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="713487014"/>
-              <reference ref="694149608"/>
-              <reference ref="589253321"/>
-            </object>
-            <reference key="parent" ref="0"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">19</int>
-            <reference key="object" ref="713487014"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="835318025"/>
-            </object>
-            <reference key="parent" ref="649796088"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">56</int>
-            <reference key="object" ref="694149608"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="110575045"/>
-            </object>
-            <reference key="parent" ref="649796088"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">57</int>
-            <reference key="object" ref="110575045"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="238522557"/>
-              <reference ref="755159360"/>
-              <reference ref="908899353"/>
-              <reference ref="632727374"/>
-              <reference ref="646227648"/>
-              <reference ref="609285721"/>
-              <reference ref="481834944"/>
-              <reference ref="304266470"/>
-              <reference ref="1046388886"/>
-              <reference ref="1056857174"/>
-              <reference ref="342932134"/>
-            </object>
-            <reference key="parent" ref="694149608"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">58</int>
-            <reference key="object" ref="238522557"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">134</int>
-            <reference key="object" ref="755159360"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">150</int>
-            <reference key="object" ref="908899353"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">136</int>
-            <reference key="object" ref="632727374"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">144</int>
-            <reference key="object" ref="646227648"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">129</int>
-            <reference key="object" ref="609285721"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">143</int>
-            <reference key="object" ref="481834944"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">236</int>
-            <reference key="object" ref="304266470"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">131</int>
-            <reference key="object" ref="1046388886"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="752062318"/>
-            </object>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">149</int>
-            <reference key="object" ref="1056857174"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">145</int>
-            <reference key="object" ref="342932134"/>
-            <reference key="parent" ref="110575045"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">130</int>
-            <reference key="object" ref="752062318"/>
-            <reference key="parent" ref="1046388886"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">24</int>
-            <reference key="object" ref="835318025"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="299356726"/>
-              <reference ref="625202149"/>
-              <reference ref="575023229"/>
-              <reference ref="1011231497"/>
-            </object>
-            <reference key="parent" ref="713487014"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">92</int>
-            <reference key="object" ref="299356726"/>
-            <reference key="parent" ref="835318025"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">5</int>
-            <reference key="object" ref="625202149"/>
-            <reference key="parent" ref="835318025"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">239</int>
-            <reference key="object" ref="575023229"/>
-            <reference key="parent" ref="835318025"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">23</int>
-            <reference key="object" ref="1011231497"/>
-            <reference key="parent" ref="835318025"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">371</int>
-            <reference key="object" ref="979998279"/>
-            <reference key="parent" ref="0"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">681</int>
-            <reference key="object" ref="589253321"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="428984785"/>
-            </object>
-            <reference key="parent" ref="649796088"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">682</int>
-            <reference key="object" ref="428984785"/>
-            <object class="NSMutableArray" key="children">
-              <bool key="EncodedWithXMLCoder">YES</bool>
-              <reference ref="320931528"/>
-              <reference ref="1061671858"/>
-              <reference ref="107056348"/>
-              <reference ref="371963350"/>
-              <reference ref="258168612"/>
-              <reference ref="440869574"/>
-              <reference ref="331134633"/>
-              <reference ref="255637833"/>
-            </object>
-            <reference key="parent" ref="589253321"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">683</int>
-            <reference key="object" ref="320931528"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">684</int>
-            <reference key="object" ref="1061671858"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">685</int>
-            <reference key="object" ref="107056348"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">686</int>
-            <reference key="object" ref="371963350"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">687</int>
-            <reference key="object" ref="258168612"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">688</int>
-            <reference key="object" ref="440869574"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">690</int>
-            <reference key="object" ref="331134633"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-          <object class="IBObjectRecord">
-            <int key="objectID">691</int>
-            <reference key="object" ref="255637833"/>
-            <reference key="parent" ref="428984785"/>
-          </object>
-        </object>
-      </object>
-      <object class="NSMutableDictionary" key="flattenedProperties">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <object class="NSArray" key="dict.sortedKeys">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-          <string>-3.IBPluginDependency</string>
-          <string>129.IBPluginDependency</string>
-          <string>129.ImportedFromIB2</string>
-          <string>130.IBPluginDependency</string>
-          <string>130.ImportedFromIB2</string>
-          <string>130.editorWindowContentRectSynchronizationRect</string>
-          <string>131.IBPluginDependency</string>
-          <string>131.ImportedFromIB2</string>
-          <string>134.IBPluginDependency</string>
-          <string>134.ImportedFromIB2</string>
-          <string>136.IBPluginDependency</string>
-          <string>136.ImportedFromIB2</string>
-          <string>143.IBPluginDependency</string>
-          <string>143.ImportedFromIB2</string>
-          <string>144.IBPluginDependency</string>
-          <string>144.ImportedFromIB2</string>
-          <string>145.IBPluginDependency</string>
-          <string>145.ImportedFromIB2</string>
-          <string>149.IBPluginDependency</string>
-          <string>149.ImportedFromIB2</string>
-          <string>150.IBPluginDependency</string>
-          <string>150.ImportedFromIB2</string>
-          <string>19.IBPluginDependency</string>
-          <string>19.ImportedFromIB2</string>
-          <string>23.IBPluginDependency</string>
-          <string>23.ImportedFromIB2</string>
-          <string>236.IBPluginDependency</string>
-          <string>236.ImportedFromIB2</string>
-          <string>239.IBPluginDependency</string>
-          <string>239.ImportedFromIB2</string>
-          <string>24.IBEditorWindowLastContentRect</string>
-          <string>24.IBPluginDependency</string>
-          <string>24.ImportedFromIB2</string>
-          <string>24.editorWindowContentRectSynchronizationRect</string>
-          <string>29.IBEditorWindowLastContentRect</string>
-          <string>29.IBPluginDependency</string>
-          <string>29.ImportedFromIB2</string>
-          <string>29.WindowOrigin</string>
-          <string>29.editorWindowContentRectSynchronizationRect</string>
-          <string>5.IBPluginDependency</string>
-          <string>5.ImportedFromIB2</string>
-          <string>56.IBPluginDependency</string>
-          <string>56.ImportedFromIB2</string>
-          <string>57.IBEditorWindowLastContentRect</string>
-          <string>57.IBPluginDependency</string>
-          <string>57.ImportedFromIB2</string>
-          <string>57.editorWindowContentRectSynchronizationRect</string>
-          <string>58.IBPluginDependency</string>
-          <string>58.ImportedFromIB2</string>
-          <string>681.IBPluginDependency</string>
-          <string>682.IBEditorWindowLastContentRect</string>
-          <string>682.IBPluginDependency</string>
-          <string>683.IBPluginDependency</string>
-          <string>684.IBPluginDependency</string>
-          <string>685.IBPluginDependency</string>
-          <string>686.IBPluginDependency</string>
-          <string>687.IBPluginDependency</string>
-          <string>688.IBPluginDependency</string>
-          <string>690.IBPluginDependency</string>
-          <string>691.IBPluginDependency</string>
-          <string>92.IBPluginDependency</string>
-          <string>92.ImportedFromIB2</string>
-        </object>
-        <object class="NSMutableArray" key="dict.values">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{{436, 809}, {64, 6}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{{651, 262}, {194, 73}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{{525, 802}, {197, 73}}</string>
-          <string>{{514, 335}, {220, 20}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{74, 862}</string>
-          <string>{{11, 977}, {478, 20}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{{487, 217}, {195, 183}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>{{23, 794}, {245, 183}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>{{607, 182}, {151, 153}}</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <integer value="1"/>
-        </object>
-      </object>
-      <object class="NSMutableDictionary" key="unlocalizedProperties">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <reference key="dict.sortedKeys" ref="0"/>
-        <object class="NSMutableArray" key="dict.values">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-        </object>
-      </object>
-      <nil key="activeLocalization"/>
-      <object class="NSMutableDictionary" key="localizations">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <reference key="dict.sortedKeys" ref="0"/>
-        <object class="NSMutableArray" key="dict.values">
-          <bool key="EncodedWithXMLCoder">YES</bool>
-        </object>
-      </object>
-      <nil key="sourceID"/>
-      <int key="maxID">842</int>
-    </object>
-    <object class="IBClassDescriber" key="IBDocument.Classes">
-      <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <object class="IBPartialClassDescription">
-          <string key="className">NSObject</string>
-          <object class="IBClassDescriptionSource" key="sourceIdentifier">
-            <string key="majorKey">IBFrameworkSource</string>
-            <string key="minorKey">Print.framework/Headers/PDEPluginInterface.h</string>
-          </object>
-        </object>
-      </object>
-    </object>
-    <int key="IBDocument.localizationMode">0</int>
-    <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
-    <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
-      <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
-      <integer value="1060" key="NS.object.0"/>
-    </object>
-    <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
-      <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
-      <integer value="3000" key="NS.object.0"/>
-    </object>
-    <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
-    <string key="IBDocument.LastKnownRelativeProjectPath">ZDoom.xcodeproj</string>
-    <int key="IBDocument.defaultPropertyAccessControl">3</int>
-    <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
-      <bool key="EncodedWithXMLCoder">YES</bool>
-      <object class="NSArray" key="dict.sortedKeys">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <string>NSMenuCheckmark</string>
-        <string>NSMenuMixedState</string>
-      </object>
-      <object class="NSMutableArray" key="dict.values">
-        <bool key="EncodedWithXMLCoder">YES</bool>
-        <string>{9, 8}</string>
-        <string>{7, 2}</string>
-      </object>
-    </object>
-  </data>
-</archive>