OSDN Git Service

Added stub files, cocoa/AppDelegate.h and cocoa/AppDelegate.m, and an XML Interface...
authorEric Branlund <ebranlund@fastmail.com>
Thu, 20 Feb 2020 02:23:48 +0000 (18:23 -0800)
committerEric Branlund <ebranlund@fastmail.com>
Thu, 20 Feb 2020 02:23:48 +0000 (18:23 -0800)
src/Makefile.am
src/cocoa/AppDelegate.h [new file with mode: 0644]
src/cocoa/AppDelegate.m [new file with mode: 0644]
src/cocoa/Base.lproj/MainMenu.nib [new file with mode: 0644]
src/cocoa/Base.lproj/MainMenu.xib [moved from src/cocoa/en.lproj/MainMenu.nib/designable.nib with 65% similarity]
src/cocoa/en.lproj/MainMenu.nib/keyedobjects.nib [deleted file]
src/cocoa/ja.lproj/MainMenu.nib/designable.nib [deleted file]
src/cocoa/ja.lproj/MainMenu.nib/keyedobjects.nib [deleted file]
src/cocoa/ja.lproj/MainMenu.strings [new file with mode: 0644]

index 50e50f3..a064b87 100644 (file)
@@ -105,16 +105,13 @@ cocoa_plist_strings_template = cocoa/Angband-Cocoa.strings
 cocoa_plist_files = \
        cocoa/CommandMenu.plist
 cocoa_en_nib_files = \
-       cocoa/en.lproj/MainMenu.nib/designable.nib \
-       cocoa/en.lproj/MainMenu.nib/keyedobjects.nib
+       cocoa/Base.lproj/MainMenu.nib
 cocoa_en_strings_files = \
        cocoa/en.lproj/Localizable.strings \
        cocoa/en.lproj/CommandMenu.strings \
        cocoa/en.lproj/GraphicsMenu.strings
-cocoa_ja_nib_files = \
-       cocoa/ja.lproj/MainMenu.nib/designable.nib \
-       cocoa/ja.lproj/MainMenu.nib/keyedobjects.nib
 cocoa_ja_strings_files = \
+       cocoa/ja.lproj/MainMenu.strings \
        cocoa/ja.lproj/Localizable.strings \
        cocoa/ja.lproj/CommandMenu.strings \
        cocoa/ja.lproj/GraphicsMenu.strings
@@ -127,15 +124,14 @@ EXTRA_DIST = \
        $(cocoa_plist_files) \
        $(cocoa_en_nib_files) \
        $(cocoa_en_strings_files) \
-       $(cocoa_ja_nib_files) \
        $(cocoa_ja_strings_files)
 
 if COCOA
 hengband_SOURCES += main-cocoa.m grafmode.h grafmode.c
-AM_CFLAGS = -mmacosx-version-min=10.7 -Wunguarded-availability
-AM_OBJCFLAGS = -mmacosx-version-min=10.7 -Wunguarded-availability
+AM_CFLAGS = -mmacosx-version-min=10.8 -Wunguarded-availability
+AM_OBJCFLAGS = -mmacosx-version-min=10.8 -Wunguarded-availability
 hengband_LDFLAGS = -framework cocoa $(AM_LDFLAGS)
-hengband_LINK = MACOSX_DEPLOYMENT_TARGET=10.7 $(OBJCLINK) $(hengband_LDFLAGS) $(LDFLAGS) -o $@ 
+hengband_LINK = MACOSX_DEPLOYMENT_TARGET=10.8 $(OBJCLINK) $(hengband_LDFLAGS) $(LDFLAGS) -o $@
 APPNAME = $(PACKAGE_NAME)
 APPEXE = hengband
 APPDIR = $(APPNAME).app
@@ -161,11 +157,9 @@ appicondir = $(APPRES)
 appplist_DATA = $(cocoa_plist_files)
 appplistdir = $(APPRES)
 appennib_DATA = $(cocoa_en_nib_files)
-appennibdir = $(APPRES)/en.lproj/MainMenu.nib
+appennibdir = $(APPRES)/Base.lproj
 appen_DATA = $(cocoa_en_strings_files)
 appendir = $(APPRES)/en.lproj
-appjanib_DATA = $(cocoa_ja_nib_files)
-appjanibdir = $(APPRES)/ja.lproj/MainMenu.nib
 appja_DATA = $(cocoa_ja_strings_files)
 appjadir = $(APPRES)/ja.lproj
 else
diff --git a/src/cocoa/AppDelegate.h b/src/cocoa/AppDelegate.h
new file mode 100644 (file)
index 0000000..f8450b0
--- /dev/null
@@ -0,0 +1,37 @@
+/**
+ *\file AppDelegate.h
+ *\brief Declare the application delegate used by the OS X front end.
+ *
+ * This work is free software; you can redistribute it and/or modify it
+ * under the terms of either:
+ *
+ * a) the GNU General Public License as published by the Free Software
+ *    Foundation, version 2, or
+ *
+ * b) the "Angband licence":
+ *    This software may be copied and distributed for educational, research,
+ *    and not for profit purposes provided that this copyright and statement
+ *    are included in all such copies.  Other copyrights may also apply.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@interface AngbandAppDelegate : NSObject <NSApplicationDelegate> {
+    IBOutlet NSMenu *terminalsMenu;
+    NSMenu *_graphicsMenu;
+    NSMenu *_commandMenu;
+    NSDictionary *_commandMenuTagMap;
+}
+@property (nonatomic, retain) IBOutlet NSMenu *graphicsMenu;
+@property (strong, nonatomic, retain) IBOutlet NSMenu *commandMenu;
+@property (strong, nonatomic, retain) NSDictionary *commandMenuTagMap;
+- (IBAction)newGame:(id)sender;
+- (IBAction)editFont:(id)sender;
+- (IBAction)openGame:(id)sender;
+- (IBAction)saveGame:(id)sender;
+- (IBAction)setRefreshRate:(NSMenuItem *)sender;
+- (IBAction)toggleSound:(NSMenuItem *)menuItem;
+- (IBAction)setGraphicsMode:(NSMenuItem *)sender;
+- (IBAction)selectWindow:(id)sender;
+
+@end
diff --git a/src/cocoa/AppDelegate.m b/src/cocoa/AppDelegate.m
new file mode 100644 (file)
index 0000000..570cb60
--- /dev/null
@@ -0,0 +1,115 @@
+/**
+ * \file AppDelegate.m
+ * \brief This is a minimal implementation of the OS X front end.
+ *
+ * Use this file to rebuild the .nib file with Xcode without having to pull
+ * in all of the Hengband source.  This is the procedure with Xcode 11.3:
+ *
+ * 1) Create a new Xcode project for a macOS App.
+ * 2) You can set the "Product Name", "Team", "Organization Name",
+ *    "Organization Identifier" as you wish.  Setting the product name to
+ *    "hengband" and the "Organization Identifier" to "jp.osdn" will match
+ *    the bundle identifier used in the full builds for Hengband.  Set
+ *    "Language" to "Objective-C" and "User Interface" to "XIB".  Leave
+ *    "Create Document-Based Application" and "Use Core Data" off.
+ *    The settings for "Include Unit Tests" and "Include UI Tests" don't
+ *    matter; you can turn them off to avoid extra clutter.
+ * 3) When Xcode loads the project, select the topmost category in the file
+ *    view ("hengband" with an application icon) and in the Info tab for it
+ *    set the deployment target to what's used in Hengband's src/Makefile.am.
+ *    When this was written, that was 10.8 and 10.8 is necessary for Base
+ *    localization.  In the localizations part of that tab, click the '+' and
+ *    add a Japanese localization.  That will prompt you for the files
+ *    involved.  Leave that as is:  one file, "MainMenu.xib", with Base as the
+ *    reference language and localizable strings as the file type.
+ * 4) Copy src/cocoa/AppDelegate.h and src/cocoa/AppDelegate.m from the
+ *    Hengband source files to the directory in the project with main.m.  Copy
+ *    src/cocoa/MainMenu.xib to the Base.lproj subdirectory of that directory.
+ *    Copy src/cocoa/ja.lproj/MainMenu.strings to the ja.lproj subdirectory of
+ *    that directory.
+ * 5) If you modify MainMenu.xib after copying it over, you may want to
+ *    set it so that it can open in older versions of Xcode.  Select it in
+ *    Xcode, and select one of the things, like "File's Owner" from it.  In
+ *    the file information panel for it, there will be a section labeled
+ *    "Document Editing" with an option menu for "Opens in".  Choosing one of
+ *    the options other than "Latest Xcode" will close the file and save it
+ *    with the appropriate flags.  Note that reopening that MainMenu.xib in
+ *    Xcode will cause the version to revert to the latest Xcode.
+ * 6) If you want to change the Japanese strings for the menus, one way to
+ *    partly do it in Xcode is to export the localizations:  from the file view
+ *    select topmost category ("hengband" with an application icon) and then
+ *    select Editor->Export for Localization... in Xcode's menu bar.  That
+ *    will prompt you for where to save the exported localizations.  That
+ *    export is done as a directory tree.  Within it, you'll find a
+ *    ja.xcloc/Localized Contents/ja.xliff file.  The strings bracketed with
+ *    <source></source> in that file are the English strings.  The strings
+ *    bracketed with <target></target> give what's currently used for the
+ *    Japanese version.  Adjust the strings bracketed with <target></target>,
+ *    save the modified file, and use Editor->Import Localizations... from
+ *    within Xcode to import the localization from the ja.xloc directory.
+ *    The result of that will be to regenerate ja.lproj/MainMenu.strings in the
+ *    Xcode project files which you can use to replace the version in
+ *    src/cocoa/ja.lproj/MainMenu.strings in the Hengband source code.
+ * 7) Use Xcode's Product->Build For->Running menu entry to build the project.
+ * 8) The generated .nib file for English will be
+ *    Contents/Resources/Base.lproj/MainMenu.nib in the product directory which
+ *    is something like
+ *    ~/Library/Developer/Xcode/DerivedData/<product_name>-<some_string>/Build/Products/Debug/<product_name>.app
+ *    You can use that to replace the src/cocoa/base.lproj/MainMenu.nib in the
+ *    Hengband source files.
+ *
+ * This work is free software; you can redistribute it and/or modify it
+ * under the terms of either:
+ *
+ * a) the GNU General Public License as published by the Free Software
+ *    Foundation, version 2, or
+ *
+ * b) the "Angband licence":
+ *    This software may be copied and distributed for educational, research,
+ *    and not for profit purposes provided that this copyright and statement
+ *    are included in all such copies.  Other copyrights may also apply.
+ */
+
+#import "AppDelegate.h"
+
+@implementation AngbandAppDelegate
+
+@synthesize graphicsMenu=_graphicsMenu;
+@synthesize commandMenu=_commandMenu;
+@synthesize commandMenuTagMap=_comandMenuTagMap;
+
+- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
+    // Insert code here to initialize your application
+}
+
+
+- (void)applicationWillTerminate:(NSNotification *)aNotification {
+    // Insert code here to tear down your application
+}
+
+
+- (IBAction)newGame:(id)sender {
+}
+
+- (IBAction)editFont:(id)sender {
+}
+
+- (IBAction)openGame:(id)sender {
+}
+
+- (IBAction)saveGame:(id)sender {
+}
+
+- (IBAction)setRefreshRate:(NSMenuItem *)sender {
+}
+
+- (IBAction)toggleSound:(NSMenuItem*)menuItem {
+}
+
+- (IBAction)setGraphicsMode:(NSMenuItem *)sender {
+}
+
+- (void)selectWindow:(id)sender {
+}
+
+@end
diff --git a/src/cocoa/Base.lproj/MainMenu.nib b/src/cocoa/Base.lproj/MainMenu.nib
new file mode 100644 (file)
index 0000000..e23cd01
Binary files /dev/null and b/src/cocoa/Base.lproj/MainMenu.nib differ
similarity index 65%
rename from src/cocoa/en.lproj/MainMenu.nib/designable.nib
rename to src/cocoa/Base.lproj/MainMenu.xib
index 5666dd5..010c5d4 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15705" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <deployment version="1060" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
+        <deployment identifier="macosx"/>
+        <development version="8000" identifier="xcode"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
     </dependencies>
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
             <connections>
-                <outlet property="delegate" destination="265" id="266"/>
+                <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
             </connections>
         </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
+        <customObject id="-3" userLabel="Application" customClass="NSMenu"/>
+        <customObject id="Voe-Tx-rLC" customClass="AngbandAppDelegate">
+            <connections>
+                <outlet property="commandMenu" destination="V5r-G0-OsI" id="1Zs-qw-zFF"/>
+                <outlet property="graphicsMenu" destination="HjX-nW-gDH" id="viC-2N-jWh"/>
+            </connections>
+        </customObject>
+        <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
+        <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
             <items>
-                <menuItem title="Hengband" id="56">
-                    <menu key="submenu" title="Hengband" systemMenu="apple" id="57">
+                <menuItem title="Hengband" id="1Xt-HY-uBw">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Hengband" systemMenu="apple" id="uQy-DD-JDr">
                         <items>
-                            <menuItem title="About Hengband" id="58">
+                            <menuItem title="About Hengband" id="5kV-Vb-QxS" userLabel="About Hengband">
                                 <modifierMask key="keyEquivalentModifierMask"/>
                                 <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-2" id="142"/>
+                                    <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
                                 </connections>
                             </menuItem>
-                            <menuItem isSeparatorItem="YES" id="236">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="Preferences…" keyEquivalent="," id="129"/>
-                            <menuItem isSeparatorItem="YES" id="143">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="Services" id="131">
-                                <menu key="submenu" title="Services" systemMenu="services" id="130"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="144">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
+                            <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
+                            <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
+                            <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
+                            <menuItem title="Services" id="NMo-om-nkz">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
                             </menuItem>
-                            <menuItem title="Hide Hengband" keyEquivalent="h" id="134">
+                            <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
+                            <menuItem title="Hide Hengband" keyEquivalent="h" id="Olw-nP-bQN" userLabel="Hide Hengband">
                                 <connections>
-                                    <action selector="hide:" target="-2" id="152"/>
+                                    <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="Hide Others" keyEquivalent="h" id="145">
+                            <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
                                 <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                 <connections>
-                                    <action selector="hideOtherApplications:" target="-2" id="146"/>
+                                    <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="Show All" id="150">
+                            <menuItem title="Show All" id="Kd2-mp-pUS">
+                                <modifierMask key="keyEquivalentModifierMask"/>
                                 <connections>
-                                    <action selector="unhideAllApplications:" target="-2" id="153"/>
+                                    <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
                                 </connections>
                             </menuItem>
-                            <menuItem isSeparatorItem="YES" id="149">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="Quit Hengband" keyEquivalent="q" id="136">
+                            <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
+                            <menuItem title="Quit Hengband" keyEquivalent="q" id="4sb-4s-VLi" userLabel="Quit Hengband">
                                 <connections>
-                                    <action selector="terminate:" target="-2" id="139"/>
+                                    <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
                                 </connections>
                             </menuItem>
                         </items>
                     </menu>
                 </menuItem>
-                <menuItem title="File" id="83">
-                    <menu key="submenu" title="File" id="81">
+                <menuItem title="File" id="dMs-cI-mzQ">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="File" id="bib-Uj-vzu">
                         <items>
-                            <menuItem title="New" keyEquivalent="n" id="82">
+                            <menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
                                 <connections>
-                                    <action selector="newGame:" target="265" id="271"/>
+                                    <action selector="newGame:" target="Voe-Tx-rLC" id="der-R0-E3m"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="Open…" keyEquivalent="o" id="72">
+                            <menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
                                 <connections>
-                                    <action selector="openGame:" target="265" id="272"/>
+                                    <action selector="openGame:" target="Voe-Tx-rLC" id="lRd-hc-bRg"/>
                                 </connections>
                             </menuItem>
-                            <menuItem isSeparatorItem="YES" id="79">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="Save" keyEquivalent="s" id="342">
+                            <menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
+                            <menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
                                 <connections>
-                                    <action selector="saveGame:" target="265" id="343"/>
+                                    <action selector="saveGame:" target="Voe-Tx-rLC" id="qzx-Gf-uzC"/>
                                 </connections>
                             </menuItem>
                         </items>
                     </menu>
                 </menuItem>
-                <menuItem title="Settings" id="252">
-                    <menu key="submenu" title="Settings" id="253">
+                <menuItem title="Settings" id="KRs-UN-gSY">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Settings" id="yJq-0y-VBt">
                         <items>
-                            <menuItem title="Choose Font…" keyEquivalent="t" id="275">
+                            <menuItem title="Choose Font ..." keyEquivalent="t" id="wd6-md-9jG">
                                 <connections>
-                                    <action selector="editFont:" target="265" id="278"/>
+                                    <action selector="editFont:" target="Voe-Tx-rLC" id="Czs-ZF-d6u"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="Graphics" id="256">
-                                <menu key="submenu" title="Graphics" id="257">
+                            <menuItem title="Graphics" id="WnC-Sx-T6W" userLabel="Graphics">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Graphics" id="HjX-nW-gDH" userLabel="Graphics Menu">
                                     <connections>
-                                        <outlet property="delegate" destination="265" id="279"/>
+                                        <outlet property="delegate" destination="Voe-Tx-rLC" id="chx-c6-Xwx"/>
                                     </connections>
                                 </menu>
                             </menuItem>
-                            <menuItem title="Frame Rate" tag="150" id="eIB-ZA-U5J">
+                            <menuItem title="Frame Rate" tag="150" id="j2X-op-BDF" userLabel="Frame Rate">
                                 <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Frame Rate" id="BIC-pE-Nl8">
+                                <menu key="submenu" title="Frame Rate" id="bv6-jc-SiG">
                                     <items>
-                                        <menuItem title="Unlimited (no animation)" keyEquivalent="1" id="287">
+                                        <menuItem title="Unlimited (no animation)" keyEquivalent="1" id="86N-Gt-5KF" userLabel="Unlimited (no animation)">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="294"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="jkB-HC-ibR"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="60 per second" tag="60" keyEquivalent="2" id="288">
+                                        <menuItem title="60 per second" tag="60" keyEquivalent="2" id="Ijd-bJ-27K" userLabel="60 per second">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="296"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="5SR-6e-70y"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="50 per second" tag="50" keyEquivalent="3" id="289">
+                                        <menuItem title="50 per second" tag="50" keyEquivalent="3" id="VBb-sl-VxX">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="297"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="ukg-4G-kwU"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="40 per second" tag="40" keyEquivalent="4" id="290">
+                                        <menuItem title="40 per second" tag="40" keyEquivalent="4" id="ZN5-kE-LHc">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="298"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="paN-nZ-exb"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="30 per second" tag="30" keyEquivalent="5" id="291">
+                                        <menuItem title="30 per second" tag="30" keyEquivalent="5" id="PdF-nK-k8P">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="299"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="DmI-Tf-blY"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="20 per second" tag="20" keyEquivalent="6" id="292">
+                                        <menuItem title="20 per second" tag="20" keyEquivalent="6" id="Pka-9x-yi4" userLabel="20 per second">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="300"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="Lxs-Bp-ho6"/>
                                             </connections>
                                         </menuItem>
-                                        <menuItem title="10 per second" tag="10" keyEquivalent="7" id="293">
+                                        <menuItem title="10 per second" tag="10" keyEquivalent="7" id="uRE-OY-ABT" userLabel="10 per second">
                                             <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="301"/>
+                                                <action selector="setRefreshRate:" target="Voe-Tx-rLC" id="P0O-gy-9LJ"/>
                                             </connections>
                                         </menuItem>
                                     </items>
                                 </menu>
                             </menuItem>
-                            <menuItem title="Toggle Sound" state="on" id="0VB-TL-vtr">
+                            <menuItem title="Toggle Sound" state="on" id="mul-VV-UfU">
                                 <modifierMask key="keyEquivalentModifierMask"/>
                                 <connections>
-                                    <action selector="toggleSound:" target="265" id="vDj-uo-mas"/>
+                                    <action selector="toggleSound:" target="Voe-Tx-rLC" id="y1f-OG-ExO"/>
                                 </connections>
                             </menuItem>
                         </items>
                     </menu>
                 </menuItem>
-                <menuItem title="Command" id="346">
+                <menuItem title="Command" id="czb-8N-K9z" userLabel="Command">
                     <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="Command" id="347"/>
+                    <menu key="submenu" title="Command" id="V5r-G0-OsI" userLabel="Command Menu"/>
                 </menuItem>
-                <menuItem title="Window" id="19">
-                    <menu key="submenu" title="Window" systemMenu="window" id="24">
+                <menuItem title="Window" id="aUF-d1-5bR">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
                         <items>
-                            <menuItem title="Minimize" keyEquivalent="m" id="23">
+                            <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
                                 <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="37"/>
+                                    <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="Zoom" id="239">
+                            <menuItem title="Zoom" id="R4o-n2-Eq4">
+                                <modifierMask key="keyEquivalentModifierMask"/>
                                 <connections>
-                                    <action selector="performZoom:" target="-1" id="240"/>
+                                    <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
                                 </connections>
                             </menuItem>
-                            <menuItem isSeparatorItem="YES" id="92">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="Bring All to Front" id="5">
+                            <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
+                            <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
+                                <modifierMask key="keyEquivalentModifierMask"/>
                                 <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="39"/>
+                                    <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
                                 </connections>
                             </menuItem>
                         </items>
                     </menu>
                 </menuItem>
-                <menuItem title="Help" id="103">
-                    <menu key="submenu" title="Help" id="106">
+                <menuItem title="Help" id="wpr-3q-Mcd">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
                         <items>
-                            <menuItem title="Hengband Help" keyEquivalent="?" id="111">
+                            <menuItem title="Hengband Help" keyEquivalent="?" id="FKE-Sm-Kum" userLabel="Hengband Help">
                                 <connections>
-                                    <action selector="showHelp:" target="-1" id="122"/>
+                                    <action selector="showHelp:" target="-1" id="y7X-2Q-9no"/>
                                 </connections>
                             </menuItem>
                         </items>
                     </menu>
                 </menuItem>
             </items>
+            <point key="canvasLocation" x="132" y="154"/>
         </menu>
-        <customObject id="265" userLabel="AngbandAppDelegate" customClass="AngbandAppDelegate">
-            <connections>
-                <outlet property="commandMenu" destination="347" id="351"/>
-                <outlet property="graphicsMenu" destination="257" id="klu-Ak-Lzg"/>
-            </connections>
-        </customObject>
     </objects>
 </document>
diff --git a/src/cocoa/en.lproj/MainMenu.nib/keyedobjects.nib b/src/cocoa/en.lproj/MainMenu.nib/keyedobjects.nib
deleted file mode 100644 (file)
index b7cb71e..0000000
Binary files a/src/cocoa/en.lproj/MainMenu.nib/keyedobjects.nib and /dev/null differ
diff --git a/src/cocoa/ja.lproj/MainMenu.nib/designable.nib b/src/cocoa/ja.lproj/MainMenu.nib/designable.nib
deleted file mode 100644 (file)
index b99c0d6..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
-    <dependencies>
-        <deployment version="1060" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
-            <connections>
-                <outlet property="delegate" destination="265" id="266"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
-            <items>
-                <menuItem title="変愚蛮怒" id="56">
-                    <menu key="submenu" title="変愚蛮怒" systemMenu="apple" id="57">
-                        <items>
-                            <menuItem title="変愚蛮怒 について" id="58">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="orderFrontStandardAboutPanel:" target="-2" id="142"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="236">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="環境設定…" keyEquivalent="," id="129"/>
-                            <menuItem isSeparatorItem="YES" id="143">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="サービス" id="131">
-                                <menu key="submenu" title="Services" systemMenu="services" id="130"/>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="144">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="変愚蛮怒 を隠す" keyEquivalent="h" id="134">
-                                <connections>
-                                    <action selector="hide:" target="-2" id="152"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="ほかを隠す" keyEquivalent="h" id="145">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
-                                <connections>
-                                    <action selector="hideOtherApplications:" target="-2" id="146"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="すべてを表示" id="150">
-                                <connections>
-                                    <action selector="unhideAllApplications:" target="-2" id="153"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="149">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="変愚蛮怒 を終了" keyEquivalent="q" id="136">
-                                <connections>
-                                    <action selector="terminate:" target="-2" id="139"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="ファイル" id="83">
-                    <menu key="submenu" title="ファイル" id="81">
-                        <items>
-                            <menuItem title="新" keyEquivalent="n" id="82">
-                                <connections>
-                                    <action selector="newGame:" target="265" id="271"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="開く…" keyEquivalent="o" id="72">
-                                <connections>
-                                    <action selector="openGame:" target="265" id="272"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="79">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="セーブするがゲ" keyEquivalent="s" id="342">
-                                <connections>
-                                    <action selector="saveGame:" target="265" id="343"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="配置" id="252">
-                    <menu key="submenu" title="配置" id="253">
-                        <items>
-                            <menuItem title="フォントを選択…" keyEquivalent="t" id="275">
-                                <connections>
-                                    <action selector="editFont:" target="265" id="278"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="グラフィックス" id="256">
-                                <menu key="submenu" title="Graphics" id="257">
-                                    <connections>
-                                        <outlet property="delegate" destination="265" id="279"/>
-                                    </connections>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="フレームレート" tag="150" id="eIB-ZA-U5J">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <menu key="submenu" title="Frame Rate" id="BIC-pE-Nl8">
-                                    <items>
-                                        <menuItem title="無制限" keyEquivalent="1" id="287">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="294"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="60 毎秒" tag="60" keyEquivalent="2" id="288">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="296"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="50 毎秒" tag="50" keyEquivalent="3" id="289">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="297"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="40 毎秒" tag="40" keyEquivalent="4" id="290">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="298"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="30 毎秒" tag="30" keyEquivalent="5" id="291">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="299"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="20 毎秒" tag="20" keyEquivalent="6" id="292">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="300"/>
-                                            </connections>
-                                        </menuItem>
-                                        <menuItem title="10 毎秒" tag="10" keyEquivalent="7" id="293">
-                                            <connections>
-                                                <action selector="setRefreshRate:" target="-1" id="301"/>
-                                            </connections>
-                                        </menuItem>
-                                    </items>
-                                </menu>
-                            </menuItem>
-                            <menuItem title="音変える" state="on" id="0VB-TL-vtr">
-                                <modifierMask key="keyEquivalentModifierMask"/>
-                                <connections>
-                                    <action selector="toggleSound:" target="265" id="vDj-uo-mas"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="命令" id="346">
-                    <modifierMask key="keyEquivalentModifierMask"/>
-                    <menu key="submenu" title="命令" id="347"/>
-                </menuItem>
-                <menuItem title="ウインドウ" id="19">
-                    <menu key="submenu" title="ウインドウ" systemMenu="window" id="24">
-                        <items>
-                            <menuItem title="しまう" keyEquivalent="m" id="23">
-                                <connections>
-                                    <action selector="performMiniaturize:" target="-1" id="37"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem title="拡大/縮小" id="239">
-                                <connections>
-                                    <action selector="performZoom:" target="-1" id="240"/>
-                                </connections>
-                            </menuItem>
-                            <menuItem isSeparatorItem="YES" id="92">
-                                <modifierMask key="keyEquivalentModifierMask" command="YES"/>
-                            </menuItem>
-                            <menuItem title="すべてを手前に移動" id="5">
-                                <connections>
-                                    <action selector="arrangeInFront:" target="-1" id="39"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-                <menuItem title="ヘルプ" id="103">
-                    <menu key="submenu" title="ヘルプ" id="106">
-                        <items>
-                            <menuItem title="変愚蛮怒 ヘルプ" keyEquivalent="?" id="111">
-                                <connections>
-                                    <action selector="showHelp:" target="-1" id="122"/>
-                                </connections>
-                            </menuItem>
-                        </items>
-                    </menu>
-                </menuItem>
-            </items>
-        </menu>
-        <customObject id="265" userLabel="AngbandAppDelegate" customClass="AngbandAppDelegate">
-            <connections>
-                <outlet property="commandMenu" destination="347" id="351"/>
-                <outlet property="graphicsMenu" destination="257" id="klu-Ak-Lzg"/>
-            </connections>
-        </customObject>
-    </objects>
-</document>
diff --git a/src/cocoa/ja.lproj/MainMenu.nib/keyedobjects.nib b/src/cocoa/ja.lproj/MainMenu.nib/keyedobjects.nib
deleted file mode 100644 (file)
index 98acd53..0000000
Binary files a/src/cocoa/ja.lproj/MainMenu.nib/keyedobjects.nib and /dev/null differ
diff --git a/src/cocoa/ja.lproj/MainMenu.strings b/src/cocoa/ja.lproj/MainMenu.strings
new file mode 100644 (file)
index 0000000..4737351
--- /dev/null
@@ -0,0 +1,123 @@
+/* Class = "NSMenuItem"; title = "Hengband"; ObjectID = "1Xt-HY-uBw"; */
+"1Xt-HY-uBw.title" = "変愚蛮怒";
+
+/* Class = "NSMenuItem"; title = "Quit Hengband"; ObjectID = "4sb-4s-VLi"; */
+"4sb-4s-VLi.title" = "変愚蛮怒 を終了";
+
+/* Class = "NSMenuItem"; title = "About Hengband"; ObjectID = "5kV-Vb-QxS"; */
+"5kV-Vb-QxS.title" = "変愚蛮怒 について";
+
+/* Class = "NSMenuItem"; title = "Unlimited (no animation)"; ObjectID = "86N-Gt-5KF"; */
+"86N-Gt-5KF.title" = "無制限";
+
+/* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */
+"aUF-d1-5bR.title" = "ウインドウ";
+
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Main Menu";
+
+/* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */
+"bib-Uj-vzu.title" = "ファイル";
+
+/* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
+"BOF-NM-1cW.title" = "環境設定…";
+
+/* Class = "NSMenu"; title = "Frame Rate"; ObjectID = "bv6-jc-SiG"; */
+"bv6-jc-SiG.title" = "フレームレート";
+
+/* Class = "NSMenuItem"; title = "Command"; ObjectID = "czb-8N-K9z"; */
+"czb-8N-K9z.title" = "命令";
+
+/* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */
+"dMs-cI-mzQ.title" = "ファイル";
+
+/* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */
+"F2S-fz-NVQ.title" = "ヘルプ";
+
+/* Class = "NSMenuItem"; title = "Hengband Help"; ObjectID = "FKE-Sm-Kum"; */
+"FKE-Sm-Kum.title" = "変愚蛮怒 ヘルプ";
+
+/* Class = "NSMenu"; title = "Graphics"; ObjectID = "HjX-nW-gDH"; */
+"HjX-nW-gDH.title" = "グラフィックス";
+
+/* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
+"hz9-B4-Xy5.title" = "サービス";
+
+/* Class = "NSMenuItem"; title = "Open…"; ObjectID = "IAo-SY-fd9"; */
+"IAo-SY-fd9.title" = "開く…";
+
+/* Class = "NSMenuItem"; title = "60 per second"; ObjectID = "Ijd-bJ-27K"; */
+"Ijd-bJ-27K.title" = "60 毎秒";
+
+/* Class = "NSMenuItem"; title = "Frame Rate"; ObjectID = "j2X-op-BDF"; */
+"j2X-op-BDF.title" = "フレームレート";
+
+/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
+"Kd2-mp-pUS.title" = "すべてを表示";
+
+/* Class = "NSMenuItem"; title = "Settings"; ObjectID = "KRs-UN-gSY"; */
+"KRs-UN-gSY.title" = "配置";
+
+/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */
+"LE2-aR-0XJ.title" = "すべてを手前に移動";
+
+/* Class = "NSMenuItem"; title = "Toggle Sound"; ObjectID = "mul-VV-UfU"; */
+"mul-VV-UfU.title" = "音変える";
+
+/* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
+"NMo-om-nkz.title" = "サービス";
+
+/* Class = "NSMenuItem"; title = "Hide Hengband"; ObjectID = "Olw-nP-bQN"; */
+"Olw-nP-bQN.title" = "変愚蛮怒 を隠す";
+
+/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */
+"OY7-WF-poV.title" = "しまう";
+
+/* Class = "NSMenuItem"; title = "30 per second"; ObjectID = "PdF-nK-k8P"; */
+"PdF-nK-k8P.title" = "30 毎秒";
+
+/* Class = "NSMenuItem"; title = "20 per second"; ObjectID = "Pka-9x-yi4"; */
+"Pka-9x-yi4.title" = "20 毎秒";
+
+/* Class = "NSMenuItem"; title = "Save…"; ObjectID = "pxx-59-PXV"; */
+"pxx-59-PXV.title" = "セーブするがゲ";
+
+/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */
+"R4o-n2-Eq4.title" = "拡大/縮小";
+
+/* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */
+"Td7-aD-5lo.title" = "ウインドウ";
+
+/* Class = "NSMenu"; title = "Hengband"; ObjectID = "uQy-DD-JDr"; */
+"uQy-DD-JDr.title" = "変愚蛮怒";
+
+/* Class = "NSMenuItem"; title = "10 per second"; ObjectID = "uRE-OY-ABT"; */
+"uRE-OY-ABT.title" = "10 毎秒";
+
+/* Class = "NSMenu"; title = "Command"; ObjectID = "V5r-G0-OsI"; */
+"V5r-G0-OsI.title" = "命令";
+
+/* Class = "NSMenuItem"; title = "50 per second"; ObjectID = "VBb-sl-VxX"; */
+"VBb-sl-VxX.title" = "50 毎秒";
+
+/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
+"Vdr-fp-XzO.title" = "ほかを隠す";
+
+/* Class = "NSMenuItem"; title = "New"; ObjectID = "Was-JA-tGl"; */
+"Was-JA-tGl.title" = "新";
+
+/* Class = "NSMenuItem"; title = "Choose Font ..."; ObjectID = "wd6-md-9jG"; */
+"wd6-md-9jG.title" = "フォントを選択…";
+
+/* Class = "NSMenuItem"; title = "Graphics"; ObjectID = "WnC-Sx-T6W"; */
+"WnC-Sx-T6W.title" = "グラフィックス";
+
+/* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */
+"wpr-3q-Mcd.title" = "ヘルプ";
+
+/* Class = "NSMenu"; title = "Settings"; ObjectID = "yJq-0y-VBt"; */
+"yJq-0y-VBt.title" = "配置";
+
+/* Class = "NSMenuItem"; title = "40 per second"; ObjectID = "ZN5-kE-LHc"; */
+"ZN5-kE-LHc.title" = "40 毎秒";
+