diff --git a/desmume/src/cocoa/DeSmuME (Legacy).xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME (Legacy).xcodeproj/project.pbxproj
index 49a7dca6a..e0dc3c163 100644
--- a/desmume/src/cocoa/DeSmuME (Legacy).xcodeproj/project.pbxproj
+++ b/desmume/src/cocoa/DeSmuME (Legacy).xcodeproj/project.pbxproj
@@ -1902,6 +1902,7 @@
buildPhases = (
AB73B05614BD7A8B00F49C92 /* ShellScript */,
1EFD51780F892B1A00B029BB /* Resources */,
+ ABE76AA315E0910700F458AE /* ShellScript */,
1EFD517C0F892B1A00B029BB /* Sources */,
1EFD51B60F892B1A00B029BB /* Frameworks */,
);
@@ -1921,6 +1922,7 @@
buildPhases = (
AB73B04F14BD79CB00F49C92 /* ShellScript */,
8D1107290486CEB800E47090 /* Resources */,
+ ABE76A9D15E090CE00F458AE /* ShellScript */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
@@ -1940,6 +1942,7 @@
buildPhases = (
AB01918414BD6A0A004CB612 /* ShellScript */,
AB0A0D3514AACE9500E83E91 /* Resources */,
+ ABE76A8E15E090A900F458AE /* ShellScript */,
AB0A0D3914AACE9500E83E91 /* Sources */,
AB0A0DA114AACE9500E83E91 /* Frameworks */,
);
@@ -1959,6 +1962,7 @@
buildPhases = (
AB1814BF15D212B4007A6CC3 /* ShellScript */,
AB1814C015D212B4007A6CC3 /* Resources */,
+ ABE76A9F15E090E500F458AE /* ShellScript */,
AB1814D815D212B4007A6CC3 /* Sources */,
AB18154D15D212B4007A6CC3 /* Frameworks */,
);
@@ -1978,6 +1982,7 @@
buildPhases = (
AB18155B15D21469007A6CC3 /* ShellScript */,
AB18155C15D21469007A6CC3 /* Resources */,
+ ABE76A9B15E090C100F458AE /* ShellScript */,
AB18157415D21469007A6CC3 /* Sources */,
AB1815E915D21469007A6CC3 /* Frameworks */,
);
@@ -1997,6 +2002,7 @@
buildPhases = (
AB1815F715D214F2007A6CC3 /* ShellScript */,
AB1815F815D214F2007A6CC3 /* Resources */,
+ ABE76AA515E0911E00F458AE /* ShellScript */,
AB18161015D214F2007A6CC3 /* Sources */,
AB18168F15D214F2007A6CC3 /* Frameworks */,
);
@@ -2016,6 +2022,7 @@
buildPhases = (
AB73B05114BD79D300F49C92 /* ShellScript */,
ABFE4240143E32F0009A3CCE /* Resources */,
+ ABE76AA115E090FA00F458AE /* ShellScript */,
ABFE4244143E32F0009A3CCE /* Sources */,
ABFE42AC143E32F0009A3CCE /* Frameworks */,
);
@@ -2428,6 +2435,104 @@
shellPath = /bin/sh;
shellScript = "cd \"./translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu (Legacy).strings\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./French.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./French.lproj/MainMenu (Legacy).strings\" --write \"./French.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./Italian.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./Italian.lproj/MainMenu (Legacy).strings\" --write \"./Italian.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./Japanese.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./Japanese.lproj/MainMenu (Legacy).strings\" --write \"./Japanese.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./Chinese.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./Chinese.lproj/MainMenu (Legacy).strings\" --write \"./Chinese.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./Norwegian.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./Norwegian.lproj/MainMenu (Legacy).strings\" --write \"./Norwegian.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"\n\nrm -f \"./Romanian.lproj/MainMenu (Legacy).xib\"\nibtool --strings-file \"./Romanian.lproj/MainMenu (Legacy).strings\" --write \"./Romanian.lproj/MainMenu (Legacy).xib\" \"./English.lproj/MainMenu (Legacy).xib\"";
};
+ ABE76A8E15E090A900F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A9B15E090C100F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A9D15E090CE00F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A9F15E090E500F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76AA115E090FA00F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76AA315E0910700F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76AA515E0911E00F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
diff --git a/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj
index 1d9fb9911..ee783fedc 100644
--- a/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj
+++ b/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj
@@ -1825,6 +1825,7 @@
buildPhases = (
AB2F3B7B15CF9C6000858373 /* ShellScript */,
AB2F3B7C15CF9C6000858373 /* Resources */,
+ ABE76A8015E0904E00F458AE /* ShellScript */,
AB2F3BC415CF9C6000858373 /* Sources */,
AB2F3C3A15CF9C6000858373 /* Frameworks */,
);
@@ -1844,6 +1845,7 @@
buildPhases = (
AB75222C14C799C1009B97B3 /* ShellScript */,
AB711EBE1481C35F009011C8 /* Resources */,
+ ABE76A5215E08E1100F458AE /* ShellScript */,
AB711EFF1481C35F009011C8 /* Sources */,
AB711F731481C35F009011C8 /* Frameworks */,
);
@@ -1863,6 +1865,7 @@
buildPhases = (
AB73A9681507C9F500A310C8 /* ShellScript */,
AB73A9691507C9F500A310C8 /* Resources */,
+ ABE76A7C15E0902700F458AE /* ShellScript */,
AB73A9B21507C9F500A310C8 /* Sources */,
AB73AA281507C9F500A310C8 /* Frameworks */,
);
@@ -1882,6 +1885,7 @@
buildPhases = (
ABAD0F7115ACE7A00000EC47 /* ShellScript */,
ABAD0F7215ACE7A00000EC47 /* Resources */,
+ ABE76A7E15E0903E00F458AE /* ShellScript */,
ABAD0FBA15ACE7A00000EC47 /* Sources */,
ABAD103E15ACE7A00000EC47 /* Frameworks */,
);
@@ -2305,6 +2309,62 @@
shellPath = /bin/sh;
shellScript = "cd \"./translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"";
};
+ ABE76A5215E08E1100F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A7C15E0902700F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A7E15E0903E00F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ ABE76A8015E0904E00F458AE /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
diff --git a/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj
index b0e9f66e5..826ce3b73 100644
--- a/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj
+++ b/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj
@@ -1572,6 +1572,7 @@
buildPhases = (
AB75221714C79884009B97B3 /* ShellScript */,
8D1107290486CEB800E47090 /* Resources */,
+ AB2DF23415E0838600B4D0BC /* ShellScript */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
AB067BF0153E59B000F417B1 /* ShellScript */,
@@ -1592,6 +1593,7 @@
buildPhases = (
AB796CA515CDCBA200C59155 /* ShellScript */,
AB796CA615CDCBA200C59155 /* Resources */,
+ AB2DF23215E0834E00B4D0BC /* ShellScript */,
AB796CEE15CDCBA200C59155 /* Sources */,
AB796D6515CDCBA200C59155 /* Frameworks */,
);
@@ -1610,6 +1612,7 @@
buildConfigurationList = ABB3C6571501BC6D00E0C22E /* Build configuration list for PBXNativeTarget "DeSmuME (OpenEmu Plug-in)" */;
buildPhases = (
ABB3C6611501BF3700E0C22E /* Resources */,
+ AB2DF23515E0839D00B4D0BC /* ShellScript */,
ABB3C6431501BC6D00E0C22E /* Sources */,
ABB3C6441501BC6D00E0C22E /* Frameworks */,
);
@@ -1839,6 +1842,48 @@
shellPath = /bin/sh;
shellScript = "#!/bin/sh\n\n# This script creates an application package that merges the ppc and ppc64\n# binaries of an Xcode 3 universal build to the i386 and x86_64 binaries of\n# an Xcode 4 (or later) Intel-only build.\n#\n# Before you use this script, make sure that you already have an existing\n# universal binary Release build from Xcode 3 in the ${SRCROOT}/build/Release\n# directory.\n\nif test -e \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\"\nthen\n\n# Create the Merged Release directory, plus a working copy of the\n# universal binary .app.\ncd \"${SRCROOT}/build\"\nmkdir -p \"./Merged Release\"\ncd \"./Merged Release\"\ncp -a \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app\" \"./\"\nrm -f \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\n\n# Create the temp binaries for PowerPC.\ncd \"${SRCROOT}/build/Release\"\nlipo \"./DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\" -thin ppc7400 -output \"./DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc7400\"\nlipo \"./DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\" -thin ppc64 -output \"./DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc64\"\n\n# Create the temp binaries for Intel.\ncd \"${TARGET_BUILD_DIR}\"\nlipo \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\" -thin i386 -output \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_i386\"\nlipo \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\" -thin x86_64 -output \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_x86_64\"\n\n# Merge the separate temp binaries into a single binary package.\ncd \"${SRCROOT}/build/Merged Release\"\nlipo \"../Release/DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc7400\" \"../Release/DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc64\" \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_i386\" \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_x86_64\" -create -output \"./${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\n\n# Remove the temp binaries now that we're done with them.\nrm -f \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc7400\"\nrm -f \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/${EXECUTABLE_NAME}_ppc64\"\nrm -f \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_i386\"\nrm -f \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}_x86_64\"\n\nfi";
};
+ AB2DF23215E0834E00B4D0BC /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ AB2DF23415E0838600B4D0BC /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
+ AB2DF23515E0839D00B4D0BC /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/../svnrev.h",
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cd \"${SRCROOT}/../../\"\nREV=`svnversion -n`\nprintf \"// REVISION TRACKING\\n\\\n// This file is auto-generated.\\n\\\n// Do not commit this file to the code repository!\\n\\\n#define SVN_REV $REV\\n\\\n#define SVN_REV_STR \\\"$REV\\\"\\n\" > ./src/svnrev.h";
+ };
AB75221714C79884009B97B3 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
diff --git a/desmume/src/cocoa/cocoa_globals.h b/desmume/src/cocoa/cocoa_globals.h
index ed71c96c3..203afa941 100644
--- a/desmume/src/cocoa/cocoa_globals.h
+++ b/desmume/src/cocoa/cocoa_globals.h
@@ -16,7 +16,8 @@
along with the this software. If not, see .
*/
-#define STRING_DESMUME_WEBSITE "http://www.desmume.org"
+#define STRING_DESMUME_WEBSITE "http://desmume.org"
+#define STRING_DESMUME_SHORT_DESCRIPTION "Nintendo DS Emulator"
#define STRING_DESMUME_FORUM_SITE "http://forums.desmume.org/index.php"
#define STRING_DESMUME_BUG_SITE "http://sourceforge.net/tracker/?group_id=164579&atid=832291"
diff --git a/desmume/src/cocoa/cocoa_util.h b/desmume/src/cocoa/cocoa_util.h
index ee3289ae5..fea54737a 100644
--- a/desmume/src/cocoa/cocoa_util.h
+++ b/desmume/src/cocoa/cocoa_util.h
@@ -41,6 +41,11 @@
+ (void) quickDialogUsingTitle:(NSString *)titleText message:(NSString *)messageText;
+ (BOOL) quickYesNoDialogUsingTitle:(NSString *)titleText message:(NSString *)messageText;
++ (NSInteger) appVersionNumeric;
++ (NSString *) appInternalVersionString;
++ (NSString *) appInternalNameAndVersionString;
++ (NSString *) appCompilerDetailString;
+
@end
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4
diff --git a/desmume/src/cocoa/cocoa_util.mm b/desmume/src/cocoa/cocoa_util.mm
index 00d63e870..501c40f0f 100644
--- a/desmume/src/cocoa/cocoa_util.mm
+++ b/desmume/src/cocoa/cocoa_util.mm
@@ -20,6 +20,8 @@
#import "cocoa_globals.h"
#import "types.h"
+#include "../version.h"
+
#undef BOOL
@@ -125,6 +127,26 @@ static NSDate *distantFutureDate = [[NSDate distantFuture] retain];
return NSRunAlertPanel(titleText, messageText, NSLocalizedString(@"Yes", nil), NSLocalizedString(@"No", nil), nil) != 0;
}
++ (NSInteger) appVersionNumeric
+{
+ return (NSInteger)EMU_DESMUME_VERSION_NUMERIC();
+}
+
++ (NSString *) appInternalVersionString
+{
+ return [NSString stringWithCString:EMU_DESMUME_VERSION_STRING() encoding:NSUTF8StringEncoding];
+}
+
++ (NSString *) appInternalNameAndVersionString
+{
+ return [NSString stringWithCString:EMU_DESMUME_NAME_AND_VERSION() encoding:NSUTF8StringEncoding];
+}
+
++ (NSString *) appCompilerDetailString
+{
+ return [NSString stringWithCString:EMU_DESMUME_COMPILER_DETAIL() encoding:NSUTF8StringEncoding];
+}
+
@end
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4
diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings
index 6fe6537a9..9d96a5a39 100644
Binary files a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings and b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings differ
diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
index b96457829..6aea53e8d 100644
--- a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
+++ b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
@@ -12,8 +12,6 @@
- {{-3, -3}, {455, 294}}
+ {{-3, -3}, {505, 244}}
16
@@ -4565,7 +4571,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- {{10, 33}, {454, 294}}
+ {{10, 33}, {504, 244}}
License
@@ -4591,7 +4597,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
2322
- {440, 14}
+ {490, 14}
@@ -4609,7 +4615,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- 440
+ 490
1
@@ -4649,12 +4655,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
6
- {463, 1e+07}
+ {490, 1e+07}
{223, 0}
- {440, 294}
+ {490, 244}
@@ -4665,7 +4671,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
256
- {{440, 0}, {15, 294}}
+ {{490, 0}, {15, 244}}
_doScroller:
@@ -4683,7 +4689,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
0.94565218687057495
- {{-3, -3}, {455, 294}}
+ {{-3, -3}, {505, 244}}
16
@@ -4692,7 +4698,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- {{10, 33}, {454, 294}}
+ {{10, 33}, {504, 244}}
Authors
@@ -4718,7 +4724,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
2322
- {440, 14}
+ {490, 14}
@@ -4736,7 +4742,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- 440
+ 490
1
@@ -4776,12 +4782,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
6
- {463, 1e+07}
+ {490, 1e+07}
{223, 0}
- {440, 294}
+ {490, 244}
@@ -4792,7 +4798,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
256
- {{440, 0}, {15, 294}}
+ {{490, 0}, {15, 244}}
_doScroller:
@@ -4810,7 +4816,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
0.94565218687057495
- {{-3, -3}, {455, 294}}
+ {{-3, -3}, {505, 244}}
16
@@ -4819,7 +4825,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- {{10, 33}, {454, 294}}
+ {{10, 33}, {504, 244}}
Change Log
@@ -4838,86 +4844,45 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- 268
- {{153, 463}, {320, 17}}
+ 270
+ {{153, 343}, {377, 87}}
+
YES
- 70385217
- 4199424
- DeSmuME
+ 69336577
+ 4198400
+
+ App Description
-
-
- 268
- {{153, 438}, {320, 17}}
-
- YES
-
- 70385217
- 4199424
- Nintendo DS Emulator
-
-
-
-
-
-
- 268
- {{153, 413}, {320, 17}}
+ 270
+ {{153, 302}, {377, 33}}
+
YES
- 70385217
- 4199424
- Build Version:
-
+ 73530881
+ 4329472
+
+
+ Build Info
-
-
-
-
-
-
- 268
- {{153, 388}, {320, 17}}
-
- YES
-
- 70385217
- 4199424
- Build Date:
-
-
-
-
-
-
-
-
- 268
- {{153, 363}, {320, 17}}
-
- YES
-
- 70385217
- 4199424
- http://desmume.org
-
-
+ YES
- {500, 500}
+ {550, 450}
+
+
{{0, 0}, {1920, 1178}}
{1.79769e+308, 1.79769e+308}
@@ -7085,7 +7050,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
InputPrefsView
-
+
268
YES
@@ -8881,7 +8846,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
{489, 425}
-
NSView
@@ -15457,7 +15421,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
{1.79769e+308, 1.79769e+308}
-
+
256
YES
@@ -16048,7 +16012,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
{204, 501}
-
{{0, 0}, {1920, 1178}}
{1.79769e+308, 1.79769e+308}
@@ -19805,9 +19768,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
licensePath
authorsPath
changeLogPath
- versionString
- dateString
- DisplayViewCombo_Order
+ descriptionString
+ buildInfoString
@@ -19862,6 +19824,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
rotation
useBilinearOutput
useVerticalSync
+ displayOrientation
+ displayOrder
YES
@@ -20084,11 +20048,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
YES
-
- YES
- DisplayViewCombo_Orientation
- DisplayViewCombo_Order
-
YES
@@ -26202,38 +26161,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
5717
-
-
- value: selection.versionString
-
-
-
-
-
- value: selection.versionString
- value
- selection.versionString
- 2
-
-
- 5718
-
-
-
- value: selection.dateString
-
-
-
-
-
- value: selection.dateString
- value
- selection.dateString
- 2
-
-
- 5719
-
makeKeyAndOrderFront:
@@ -28925,6 +28852,38 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
6230
+
+
+ value: selection.buildInfoString
+
+
+
+
+
+ value: selection.buildInfoString
+ value
+ selection.buildInfoString
+ 2
+
+
+ 6231
+
+
+
+ value: selection.descriptionString
+
+
+
+
+
+ value: selection.descriptionString
+ value
+ selection.descriptionString
+ 2
+
+
+ 6232
+
@@ -37621,13 +37580,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
YES
-
-
-
-
-
+
+
@@ -37652,33 +37608,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
-
- 5655
-
-
- YES
-
-
-
-
-
- 5656
-
-
- YES
-
-
-
-
-
- 5657
-
-
- YES
-
-
-
-
5658
@@ -37707,21 +37636,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
-
- 5662
-
-
-
-
- 5663
-
-
-
-
- 5664
-
-
-
5665
@@ -41015,21 +40929,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
5654.IBAttributePlaceholdersKey
5654.IBPluginDependency
5654.IBViewBoundsToFrameTransform
- 5655.IBPluginDependency
- 5655.IBViewBoundsToFrameTransform
- 5656.IBPluginDependency
- 5656.IBViewBoundsToFrameTransform
- 5657.IBPluginDependency
- 5657.IBViewBoundsToFrameTransform
5658.IBPluginDependency
5658.IBViewBoundsToFrameTransform
5659.IBPluginDependency
5659.IBViewBoundsToFrameTransform
5660.IBPluginDependency
5661.IBPluginDependency
- 5662.IBPluginDependency
- 5663.IBPluginDependency
- 5664.IBPluginDependency
5667.IBPluginDependency
5668.IBPluginDependency
5669.IBPluginDependency
@@ -44581,14 +44486,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- {{583, 356}, {500, 500}}
+ {{482, 574}, {550, 450}}
com.apple.InterfaceBuilder.CocoaPlugin
- {{583, 356}, {500, 500}}
+ {{482, 574}, {550, 450}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- P4AAAL+AAABDGQAAw+QAAA
+ P4AAAL+AAABDGQAAw9GAAA
InitialTabViewItem
@@ -44600,23 +44505,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
com.apple.InterfaceBuilder.CocoaPlugin
- P4AAAL+AAABBUAAAw7wAAA
+ P4AAAL+AAABBUAAAw64AAA
com.apple.InterfaceBuilder.CocoaPlugin
- P4AAAL+AAABDCwAAw8sAAA
-
- com.apple.InterfaceBuilder.CocoaPlugin
-
- P4AAAL+AAABDGQAAw8mAAA
-
- com.apple.InterfaceBuilder.CocoaPlugin
-
- P4AAAL+AAABDCwAAw/CAAA
-
- com.apple.InterfaceBuilder.CocoaPlugin
-
- P4AAAL+AAABDCwAAw/0AAA
+ P4AAAL+AAABDGQAAw+8AAA
com.apple.InterfaceBuilder.CocoaPlugin
@@ -44628,9 +44521,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
P4AAAL+AAADBiAAAw56AAA
@@ -45763,7 +45653,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
- 6230
+ 6232
@@ -46306,6 +46196,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
hudDisable:
importRomSave:
loadEmuSaveStateSlot:
+ loadLastRom:
+ loadRomToggle:
openEmuSaveState:
openRom:
resetCore:
@@ -46318,12 +46210,16 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
selectScreenshotFileFormat:
speedLimitDisable:
toggleAutoFrameSkip:
+ toggleDisplayLayoutSettingsDrawer:
toggleGPUState:
toggleKeepMinDisplaySizeAtNormal:
toggleStatusBar:
+ toggleVideoOutputSettingsDrawer:
writeDefaults3DRenderingSettings:
+ writeDefaultsComboDisplayLayoutSettings:
writeDefaultsDisplayRotation:
writeDefaultsEmulationSettings:
+ writeDefaultsGeneralDisplayLayoutSettings:
writeDefaultsHUDSettings:
writeDefaultsSoundSettings:
writeDefaultsVideoOutputSettings:
@@ -46388,6 +46284,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
id
id
id
+ id
+ id
+ id
+ id
+ id
+ id
@@ -46431,6 +46333,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
hudDisable:
importRomSave:
loadEmuSaveStateSlot:
+ loadLastRom:
+ loadRomToggle:
openEmuSaveState:
openRom:
resetCore:
@@ -46443,12 +46347,16 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
selectScreenshotFileFormat:
speedLimitDisable:
toggleAutoFrameSkip:
+ toggleDisplayLayoutSettingsDrawer:
toggleGPUState:
toggleKeepMinDisplaySizeAtNormal:
toggleStatusBar:
+ toggleVideoOutputSettingsDrawer:
writeDefaults3DRenderingSettings:
+ writeDefaultsComboDisplayLayoutSettings:
writeDefaultsDisplayRotation:
writeDefaultsEmulationSettings:
+ writeDefaultsGeneralDisplayLayoutSettings:
writeDefaultsHUDSettings:
writeDefaultsSoundSettings:
writeDefaultsVideoOutputSettings:
@@ -46603,6 +46511,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
loadEmuSaveStateSlot:
id
+
+ loadLastRom:
+ id
+
+
+ loadRomToggle:
+ id
+
openEmuSaveState:
id
@@ -46651,6 +46567,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
toggleAutoFrameSkip:
id
+
+ toggleDisplayLayoutSettingsDrawer:
+ id
+
toggleGPUState:
id
@@ -46663,10 +46583,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
toggleStatusBar:
id
+
+ toggleVideoOutputSettingsDrawer:
+ id
+
writeDefaults3DRenderingSettings:
id
+
+ writeDefaultsComboDisplayLayoutSettings:
+ id
+
writeDefaultsDisplayRotation:
id
@@ -46675,6 +46603,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
writeDefaultsEmulationSettings:
id
+
+ writeDefaultsGeneralDisplayLayoutSettings:
+ id
+
writeDefaultsHUDSettings:
id
@@ -46700,6 +46632,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
cheatListController
cheatWindowController
cheatWindowDelegate
+ displayLayoutSettingsDrawer
displayView
emuWindowController
exportRomSavePanelAccessoryView
@@ -46708,6 +46641,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
saveFileMigrationSheet
saveScreenshotPanelAccessoryView
saveStatePrecloseSheet
+ videoOutputSettingsDrawer
window
@@ -46719,6 +46653,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
NSArrayController
NSObjectController
CheatWindowDelegate
+ NSDrawer
NSView
NSObjectController
NSView
@@ -46727,6 +46662,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
NSWindow
NSView
NSWindow
+ NSDrawer
NSWindow
@@ -46741,6 +46677,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
cheatListController
cheatWindowController
cheatWindowDelegate
+ displayLayoutSettingsDrawer
displayView
emuWindowController
exportRomSavePanelAccessoryView
@@ -46749,6 +46686,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
saveFileMigrationSheet
saveScreenshotPanelAccessoryView
saveStatePrecloseSheet
+ videoOutputSettingsDrawer
window
@@ -46781,6 +46719,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
cheatWindowDelegate
CheatWindowDelegate
+
+ displayLayoutSettingsDrawer
+ NSDrawer
+
displayView
NSView
@@ -46813,6 +46755,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA
saveStatePrecloseSheet
NSWindow
+
+ videoOutputSettingsDrawer
+ NSDrawer
+
window
NSWindow
diff --git a/desmume/src/cocoa/userinterface/appDelegate.mm b/desmume/src/cocoa/userinterface/appDelegate.mm
index 3d197ce32..66a8fd4d7 100644
--- a/desmume/src/cocoa/userinterface/appDelegate.mm
+++ b/desmume/src/cocoa/userinterface/appDelegate.mm
@@ -30,6 +30,7 @@
#import "cocoa_hid.h"
#import "cocoa_input.h"
#import "cocoa_mic.h"
+#import "cocoa_util.h"
@implementation AppDelegate
@@ -113,18 +114,21 @@
[CocoaDSFile setupAllFilePaths];
// Setup the About window.
- NSString *buildVersionStr = @"Build Version: ";
- buildVersionStr = [buildVersionStr stringByAppendingString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]];
- NSString *buildDateStr = @"Build Date: ";
- buildDateStr = [buildDateStr stringByAppendingString:@__DATE__];
+ NSString *descriptionStr = [[[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"] stringByAppendingString:@" "] stringByAppendingString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]];
+ descriptionStr = [[descriptionStr stringByAppendingString:@"\n"] stringByAppendingString:@STRING_DESMUME_SHORT_DESCRIPTION];
+ descriptionStr = [[descriptionStr stringByAppendingString:@"\n"] stringByAppendingString:@STRING_DESMUME_WEBSITE];
+
+ NSString *buildInfoStr = @"Build Info:";
+ buildInfoStr = [[buildInfoStr stringByAppendingString:[CocoaDSUtil appInternalVersionString]] stringByAppendingString:[CocoaDSUtil appCompilerDetailString]];
+ buildInfoStr = [[buildInfoStr stringByAppendingString:@"\nBuild Date: "] stringByAppendingString:@__DATE__];
NSMutableDictionary *aboutWindowProperties = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[[NSBundle mainBundle] pathForResource:@FILENAME_README ofType:@""], @"readMePath",
[[NSBundle mainBundle] pathForResource:@FILENAME_COPYING ofType:@""], @"licensePath",
[[NSBundle mainBundle] pathForResource:@FILENAME_AUTHORS ofType:@""], @"authorsPath",
[[NSBundle mainBundle] pathForResource:@FILENAME_CHANGELOG ofType:@""], @"changeLogPath",
- buildVersionStr, @"versionString",
- buildDateStr, @"dateString",
+ descriptionStr, @"descriptionString",
+ buildInfoStr, @"buildInfoString",
nil];
[aboutWindowController setContent:aboutWindowProperties];
diff --git a/desmume/src/version.cpp b/desmume/src/version.cpp
index 5aa873fe8..be13a455c 100644
--- a/desmume/src/version.cpp
+++ b/desmume/src/version.cpp
@@ -32,7 +32,7 @@
#endif
//todo - everyone will want to support this eventually, i suppose
-#if defined(_WINDOWS) && !defined(WXPORT)
+#if (defined(_WINDOWS) && !defined(WXPORT)) || defined(DESMUME_COCOA)
#include "svnrev.h"
#else
#ifdef SVN_REV