summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-17 01:58:25 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-17 01:58:25 +0000
commit3043ded6406ce8bb06392b2c6351eb7596658d11 (patch)
tree7b8976d506d1033a7e628a1a12c9ef7e0b24f5eb
parentac860b2d845ab7c90a7388de026cc63074791350 (diff)
downloadpcsxr-3043ded6406ce8bb06392b2c6351eb7596658d11.tar.gz
First steps for localization support for Mac OS X/Cocoa, including:
Localizable.strings files for each plug-in. Try to get localizable string from a c string (see Pcsxr_locale_text in main.m). Each Mac plug-in now has a Principal class declaration in their Info.plist Also updated the memory card extensions git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@72361 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--configure.ac1
-rw-r--r--libpcsxcore/psxcommon.h20
-rw-r--r--macosx/English.lproj/Localizable.strings27
-rw-r--r--macosx/Info.plist12
-rw-r--r--macosx/Pcsxr.xcodeproj/project.pbxproj8
-rw-r--r--macosx/main.m8
-rw-r--r--macosx/plugins/DFCdrom/DFCdrom.xcodeproj/project.pbxproj40
-rw-r--r--macosx/plugins/DFCdrom/English.lproj/Localizable.strings9
-rw-r--r--macosx/plugins/DFCdrom/Info.plist2
-rw-r--r--macosx/plugins/DFCdrom/macsrc/PluginConfigController.m10
-rw-r--r--macosx/plugins/DFInput/DFInput.xcodeproj/project.pbxproj49
-rw-r--r--macosx/plugins/DFInput/English.lproj/Localizable.strings9
-rw-r--r--macosx/plugins/DFInput/Info.plist22
-rw-r--r--macosx/plugins/DFInput/macsrc/PadController.h2
-rw-r--r--macosx/plugins/DFInput/macsrc/PadController.m11
-rw-r--r--macosx/plugins/DFSound/English.lproj/Localizable.strings12
-rw-r--r--macosx/plugins/DFSound/Info copy.plist2
-rw-r--r--macosx/plugins/DFSound/Info.plist2
-rw-r--r--macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj25
-rw-r--r--macosx/plugins/DFSound/macsrc/PluginController.m10
-rw-r--r--macosx/plugins/DFXVideo/English.lproj/Localizable.strings11
-rw-r--r--macosx/plugins/DFXVideo/Info.plist2
-rw-r--r--macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj30
-rw-r--r--macosx/plugins/DFXVideo/macsrc/PluginConfigController.m10
-rw-r--r--macosx/plugins/PeopsXgl/English.lproj/Localizable.strings11
-rw-r--r--macosx/plugins/PeopsXgl/Info.plist2
-rw-r--r--macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj32
-rw-r--r--macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m9
-rw-r--r--plugins/dfcdrom/cdr.h22
-rw-r--r--plugins/dfinput/pad.c4
-rw-r--r--plugins/dfinput/pad.h20
-rw-r--r--plugins/dfsound/spu.c16
-rw-r--r--plugins/dfxvideo/gpu.c18
-rw-r--r--plugins/peopsxgl/gpu.c16
34 files changed, 365 insertions, 119 deletions
diff --git a/configure.ac b/configure.ac
index 6df9af22..6be813c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,6 +9,7 @@ AC_CONFIG_HEADERS([include/config.h:include/config.h.in])
AC_PROG_CC
AM_PROG_CC_C_O
+AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_STDC_HEADERS
AM_PROG_AS
diff --git a/libpcsxcore/psxcommon.h b/libpcsxcore/psxcommon.h
index 64e02d61..f5e3deee 100644
--- a/libpcsxcore/psxcommon.h
+++ b/libpcsxcore/psxcommon.h
@@ -89,6 +89,26 @@ typedef uint8_t boolean;
# define N_(String) (String)
#endif
+//If running under Mac OS X, use the Localizable.strings file instead.
+#elif defined(__MACOSX__)
+
+#ifdef PCSXRCORE
+
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
+
#else
#define _(msgid) msgid
diff --git a/macosx/English.lproj/Localizable.strings b/macosx/English.lproj/Localizable.strings
index cf94708c..fdbc233a 100644
--- a/macosx/English.lproj/Localizable.strings
+++ b/macosx/English.lproj/Localizable.strings
@@ -5,6 +5,7 @@
Created by C.W. Betts on 4/23/11.
Copyright 2011 __MyCompanyName__. All rights reserved.
*/
+
"Plugin Initialization Failed!" = "Plugin Initialization Failed!";
"Pcsx failed to initialize the selected %s plugin (error=%i).\nThe plugin might not work with your system." = "Pcsx failed to initialize the selected %s plugin (error=%i).\nThe plugin might not work with your system.";
"Error!" = "Error!";
@@ -16,4 +17,28 @@
"Pcsx is missing one or more critical plugins. You will need to install these in order to play games." = "Pcsx is missing one or more critical plugins. You will need to install these in order to play games.";
"Missing BIOS!" = "Missing BIOS!";
"Pcsx wasn't able to locate any Playstation BIOS ROM files. This means that it will run in BIOS simulation mode which is less stable and compatible than using a real Playstation BIOS.\n" = "Pcsx wasn't able to locate any Playstation BIOS ROM files. This means that it will run in BIOS simulation mode which is less stable and compatible than using a real Playstation BIOS.\n";
-"If you have a BIOS available, please copy it to\n~/Library/Application Support/Pcsx/Bios/" = "If you have a BIOS available, please copy it to\n~/Library/Application Support/Pcsx/Bios/"; \ No newline at end of file
+"If you have a BIOS available, please copy it to\n~/Library/Application Support/Pcsx/Bios/" = "If you have a BIOS available, please copy it to\n~/Library/Application Support/Pcsx/Bios/";
+"Error Opening CDR Plugin" = "Error Opening CDR Plugin";
+"Error Opening SPU Plugin" = "Error Opening SPU Plugin";
+"Error Opening GPU Plugin" = "Error Opening GPU Plugin";
+"Error Opening PAD1 Plugin" = "Error Opening PAD1 Plugin";
+"Error Opening PAD2 Plugin" = "Error Opening PAD2 Plugin";
+"Could not open BIOS:\"%s\". Enabling HLE Bios!\n" = "Could not open BIOS:\"%s\". Enabling HLE Bios!\n";
+"Error allocating memory!" = "Error allocating memory!";
+"Running PCSXR Version %s (%s).\n" = "Running PCSXR Version %s (%s).\n";
+"No memory card value was specified - creating a default card %s\n" = "No memory card value was specified - creating a default card %s\n";
+"Memory card %s failed to load!\n" = "Memory card %s failed to load!\n";
+"Loading memory card %s\n" = "Loading memory card %s\n";
+"Track %.2d (%s) - Start %.2d:%.2d:%.2d, Length %.2d:%.2d:%.2d\n" = "Track %.2d (%s) - Start %.2d:%.2d:%.2d, Length %.2d:%.2d:%.2d\n";
+"Loaded CD Image: %s" = "Loaded CD Image: %s";
+"(Untitled)" = "(Untitled)";
+"Cheats saved to: %s\n" = "Cheats saved to: %s\n";
+"Cheats loaded from: %s\n" = "Cheats loaded from: %s\n";
+"Error allocating memory" = "Error allocating memory";
+"Unable to start debug server.\n" = "Unable to start debug server.\n";
+"Debugger started.\n" = "Debugger started.\n";
+"Debugger stopped.\n" = "Debugger stopped.\n";
+"CD-ROM Label: %.32s\n" = "CD-ROM Label: %.32s\n";
+"CD-ROM ID: %.9s\n" = "CD-ROM ID: %.9s\n";
+"Error opening file: %s.\n" = "Error opening file: %s.\n";
+"Unknown CPE opcode %02x at position %08x.\n" = "Unknown CPE opcode %02x at position %08x.\n";
diff --git a/macosx/Info.plist b/macosx/Info.plist
index 55194e6c..46510ec3 100644
--- a/macosx/Info.plist
+++ b/macosx/Info.plist
@@ -52,6 +52,12 @@
<key>CFBundleTypeExtensions</key>
<array>
<string>mcr</string>
+ <string>mc</string>
+ <string>mem</string>
+ <string>vgs</string>
+ <string>mcd</string>
+ <string>gme</string>
+ <string>ddf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>pcsxrmemcard</string>
@@ -173,6 +179,12 @@
<key>public.filename-extension</key>
<array>
<string>mcr</string>
+ <string>mc</string>
+ <string>mem</string>
+ <string>vgs</string>
+ <string>mcd</string>
+ <string>gme</string>
+ <string>ddf</string>
</array>
</dict>
</dict>
diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj
index cb6ba35b..03c566c0 100644
--- a/macosx/Pcsxr.xcodeproj/project.pbxproj
+++ b/macosx/Pcsxr.xcodeproj/project.pbxproj
@@ -394,10 +394,10 @@
2BA178AD0514CE260026D74D /* Resources */ = {
isa = PBXGroup;
children = (
- 559DACEC146C72FF00C5DF71 /* Localizable.strings */,
2BBB1786051E0D9700B84448 /* Credits.rtf */,
28F0C3C4146521A700A90285 /* Configuration.xib */,
2BA178B20514CE260026D74D /* InfoPlist.strings */,
+ 559DACEC146C72FF00C5DF71 /* Localizable.strings */,
28F0C3C7146521B000A90285 /* PCSXR.xib */,
28F0C3CA146521B700A90285 /* AddPluginSheet.xib */,
);
@@ -878,13 +878,13 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_ASM_KEYWORD = YES;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
+ PCSXRCORE,
"$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
__MACOSX__,
);
@@ -907,13 +907,13 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_ASM_KEYWORD = YES;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
+ PCSXRCORE,
"$(GCC_PREPROCESSOR_DEFINITIONS_QUOTED_1)",
__MACOSX__,
);
@@ -948,7 +948,6 @@
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-lz";
SDKROOT = macosx10.6;
- WARNING_CFLAGS = "-Wall";
};
name = Debug;
};
@@ -973,7 +972,6 @@
OTHER_CFLAGS = "-fomit-frame-pointer";
OTHER_LDFLAGS = "-lz";
SDKROOT = macosx10.6;
- WARNING_CFLAGS = "-Wall";
};
name = Release;
};
diff --git a/macosx/main.m b/macosx/main.m
index e8478770..56e78d3a 100644
--- a/macosx/main.m
+++ b/macosx/main.m
@@ -170,3 +170,11 @@ void OnFile_Exit() {
SysClose();
exit(0);
}
+
+char* Pcsxr_locale_text(char* toloc){
+ NSBundle *mainBundle = [NSBundle mainBundle];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
diff --git a/macosx/plugins/DFCdrom/DFCdrom.xcodeproj/project.pbxproj b/macosx/plugins/DFCdrom/DFCdrom.xcodeproj/project.pbxproj
index 6cc10d50..b4d28379 100644
--- a/macosx/plugins/DFCdrom/DFCdrom.xcodeproj/project.pbxproj
+++ b/macosx/plugins/DFCdrom/DFCdrom.xcodeproj/project.pbxproj
@@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
28586CC614651E870082B8EC /* DFCdromPluginConfig.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28586CC414651E870082B8EC /* DFCdromPluginConfig.xib */; };
2BD707180555997500CB5D9B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BD707170555997500CB5D9B /* IOKit.framework */; };
+ 552E4CBA1474737A00FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CBC1474737A00FB231F /* Localizable.strings */; };
713DB2E811F113C30001BDD4 /* cdr.c in Sources */ = {isa = PBXBuildFile; fileRef = 713DB2E311F113C30001BDD4 /* cdr.c */; };
713DB2E911F113C30001BDD4 /* cdr.h in Headers */ = {isa = PBXBuildFile; fileRef = 713DB2E411F113C30001BDD4 /* cdr.h */; };
713DB2EB11F113C30001BDD4 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 713DB2E611F113C30001BDD4 /* util.c */; };
@@ -28,6 +29,7 @@
0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
28586CC514651E870082B8EC /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/DFCdromPluginConfig.xib; sourceTree = "<group>"; };
2BD707170555997500CB5D9B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
+ 552E4CBB1474737A00FB231F /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
713DB2E311F113C30001BDD4 /* cdr.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; lineEnding = 2; name = cdr.c; path = ../../../plugins/dfcdrom/cdr.c; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.c; };
713DB2E411F113C30001BDD4 /* cdr.h */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.h; name = cdr.h; path = ../../../plugins/dfcdrom/cdr.h; sourceTree = SOURCE_ROOT; };
713DB2E611F113C30001BDD4 /* util.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; lineEnding = 0; name = util.c; path = ../../../plugins/dfcdrom/util.c; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.c; };
@@ -86,6 +88,7 @@
71F3C47811F3D108007B9F12 /* Credits.rtf */,
8D576317048677EA00EA77CD /* Info.plist */,
8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
+ 552E4CBC1474737A00FB231F /* Localizable.strings */,
);
name = Resources;
sourceTree = "<group>";
@@ -198,6 +201,7 @@
8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
71F3C47A11F3D108007B9F12 /* Credits.rtf in Resources */,
28586CC614651E870082B8EC /* DFCdromPluginConfig.xib in Resources */,
+ 552E4CBA1474737A00FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -237,6 +241,14 @@
name = DFCdromPluginConfig.xib;
sourceTree = "<group>";
};
+ 552E4CBC1474737A00FB231F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 552E4CBB1474737A00FB231F /* English */,
+ );
+ name = Localizable.strings;
+ sourceTree = "<group>";
+ };
71F3C47811F3D108007B9F12 /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
@@ -262,25 +274,21 @@
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=DFCdrom",
+ "_MACOSX=1",
+ );
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
- LIBRARY_STYLE = BUNDLE;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
PRODUCT_NAME = DFCdrom;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Debug;
@@ -289,30 +297,24 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=DFCdrom",
+ "_MACOSX=1",
+ );
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
- LIBRARY_STYLE = BUNDLE;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
PRODUCT_NAME = DFCdrom;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
- ZERO_LINK = NO;
};
name = Release;
};
@@ -333,7 +335,6 @@
SDKROOT = macosx10.6;
STRIP_INSTALLED_PRODUCT = NO;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Debug;
};
@@ -351,7 +352,6 @@
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Release;
};
diff --git a/macosx/plugins/DFCdrom/English.lproj/Localizable.strings b/macosx/plugins/DFCdrom/English.lproj/Localizable.strings
new file mode 100644
index 00000000..2faf6e07
--- /dev/null
+++ b/macosx/plugins/DFCdrom/English.lproj/Localizable.strings
@@ -0,0 +1,9 @@
+/*
+ Localizable.strings
+ DFCdrom
+
+ Created by C.W. Betts on 11/16/11.
+ Copyright 2011 __MyCompanyName__. All rights reserved.
+ */
+
+"CD-ROM Drive Reader" = "CD-ROM Drive Reader";
diff --git a/macosx/plugins/DFCdrom/Info.plist b/macosx/plugins/DFCdrom/Info.plist
index f220550e..34e2144e 100644
--- a/macosx/plugins/DFCdrom/Info.plist
+++ b/macosx/plugins/DFCdrom/Info.plist
@@ -18,5 +18,7 @@
<string>CdDI</string>
<key>CFBundleVersion</key>
<string>1.0</string>
+ <key>NSPrincipalClass</key>
+ <string>DFCdromPluginConfigController</string>
</dict>
</plist>
diff --git a/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m b/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m
index 5cafc70d..4c741250 100644
--- a/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m
+++ b/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m
@@ -156,3 +156,13 @@ void ReadConfig()
}
@end
+
+char* PLUGLOC(char *toloc)
+{
+ NSBundle *mainBundle = [NSBundle bundleForClass:[PluginConfigController class]];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
diff --git a/macosx/plugins/DFInput/DFInput.xcodeproj/project.pbxproj b/macosx/plugins/DFInput/DFInput.xcodeproj/project.pbxproj
index f44b3e16..30f457e7 100644
--- a/macosx/plugins/DFInput/DFInput.xcodeproj/project.pbxproj
+++ b/macosx/plugins/DFInput/DFInput.xcodeproj/project.pbxproj
@@ -10,6 +10,7 @@
28586CC314651E730082B8EC /* NetPcsxrHIDInputPluginMain.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28586CC114651E730082B8EC /* NetPcsxrHIDInputPluginMain.xib */; };
2B679862069193F300E2BD4F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B679860069193F300E2BD4F /* Cocoa.framework */; };
2B679863069193F300E2BD4F /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B679861069193F300E2BD4F /* IOKit.framework */; };
+ 552E4CBF1474739200FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CC11474739200FB231F /* Localizable.strings */; };
71054E211204A49F00AC2CCB /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71054E201204A49F00AC2CCB /* ForceFeedback.framework */; };
7136F1DA1200E163001973D9 /* ControllerList.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E861A411FF75AC001C1826 /* ControllerList.h */; };
7136F1DB1200E163001973D9 /* ControllerList.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E861A511FF75AC001C1826 /* ControllerList.m */; };
@@ -74,12 +75,13 @@
28586CC214651E730082B8EC /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/NetPcsxrHIDInputPluginMain.xib; sourceTree = "<group>"; };
2B679860069193F300E2BD4F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
2B679861069193F300E2BD4F /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
+ 552E4CC01474739200FB231F /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
71054E201204A49F00AC2CCB /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = /System/Library/Frameworks/ForceFeedback.framework; sourceTree = "<absolute>"; };
7136F51912011BB4001973D9 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
- 714FA82A11FC822A00517F47 /* analog.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; lineEnding = 0; name = analog.c; path = ../../../plugins/dfinput/analog.c; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.c; };
- 714FA82B11FC822A00517F47 /* pad.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; name = pad.c; path = ../../../plugins/dfinput/pad.c; sourceTree = SOURCE_ROOT; };
- 714FA82C11FC822A00517F47 /* pad.h */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.h; name = pad.h; path = ../../../plugins/dfinput/pad.h; sourceTree = SOURCE_ROOT; };
- 714FA82D11FC822A00517F47 /* sdljoy.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; name = sdljoy.c; path = ../../../plugins/dfinput/sdljoy.c; sourceTree = SOURCE_ROOT; };
+ 714FA82A11FC822A00517F47 /* analog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; lineEnding = 0; name = analog.c; path = ../../../plugins/dfinput/analog.c; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.c; };
+ 714FA82B11FC822A00517F47 /* pad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pad.c; path = ../../../plugins/dfinput/pad.c; sourceTree = SOURCE_ROOT; };
+ 714FA82C11FC822A00517F47 /* pad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pad.h; path = ../../../plugins/dfinput/pad.h; sourceTree = SOURCE_ROOT; };
+ 714FA82D11FC822A00517F47 /* sdljoy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sdljoy.c; path = ../../../plugins/dfinput/sdljoy.c; sourceTree = SOURCE_ROOT; };
714FA89F11FC846800517F47 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
714FA8F811FC863500517F47 /* cfg.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; lineEnding = 0; name = cfg.c; path = macsrc/cfg.c; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.c; };
714FA8F911FC863500517F47 /* xkb.c */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.c; name = xkb.c; path = macsrc/xkb.c; sourceTree = "<group>"; };
@@ -180,6 +182,7 @@
28586CC114651E730082B8EC /* NetPcsxrHIDInputPluginMain.xib */,
8D576317048677EA00EA77CD /* Info.plist */,
8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
+ 552E4CC11474739200FB231F /* Localizable.strings */,
);
name = Resources;
sourceTree = "<group>";
@@ -436,6 +439,7 @@
8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
7136F51A12011BB4001973D9 /* Credits.rtf in Resources */,
28586CC314651E730082B8EC /* NetPcsxrHIDInputPluginMain.xib in Resources */,
+ 552E4CBF1474739200FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -490,6 +494,14 @@
name = NetPcsxrHIDInputPluginMain.xib;
sourceTree = "<group>";
};
+ 552E4CC11474739200FB231F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 552E4CC01474739200FB231F /* English */,
+ );
+ name = Localizable.strings;
+ sourceTree = "<group>";
+ };
7136F51812011BB4001973D9 /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
@@ -513,13 +525,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=DFInput",
"_MACOSX=1",
SDL_AUDIO_DISABLED,
);
@@ -532,18 +543,8 @@
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
LIBRARY_SEARCH_PATHS = .;
- LIBRARY_STYLE = BUNDLE;
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
PRODUCT_NAME = DFInput;
- SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Debug;
@@ -552,13 +553,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=DFInput",
"_MACOSX=1",
SDL_AUDIO_DISABLED,
);
@@ -571,20 +571,9 @@
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
LIBRARY_SEARCH_PATHS = .;
- LIBRARY_STYLE = BUNDLE;
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
PRODUCT_NAME = DFInput;
- SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
- ZERO_LINK = NO;
};
name = Release;
};
@@ -609,7 +598,6 @@
SDKROOT = macosx10.6;
STRIP_INSTALLED_PRODUCT = NO;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Debug;
};
@@ -632,7 +620,6 @@
OTHER_CFLAGS = "";
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Release;
};
diff --git a/macosx/plugins/DFInput/English.lproj/Localizable.strings b/macosx/plugins/DFInput/English.lproj/Localizable.strings
new file mode 100644
index 00000000..b4a5c010
--- /dev/null
+++ b/macosx/plugins/DFInput/English.lproj/Localizable.strings
@@ -0,0 +1,9 @@
+/*
+ Localizable.strings
+ DFInput
+
+ Created by C.W. Betts on 11/16/11.
+ Copyright 2011 __MyCompanyName__. All rights reserved.
+ */
+
+"Gamepad/Keyboard/Mouse Input" = "Gamepad/Keyboard/Mouse Input";
diff --git a/macosx/plugins/DFInput/Info.plist b/macosx/plugins/DFInput/Info.plist
index d0fd8ead..8b085a1e 100644
--- a/macosx/plugins/DFInput/Info.plist
+++ b/macosx/plugins/DFInput/Info.plist
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
@@ -18,23 +18,7 @@
<string>DFI</string>
<key>CFBundleVersion</key>
<string>1.0</string>
- <key>CFPlugInDynamicRegisterFunction</key>
- <string></string>
- <key>CFPlugInDynamicRegistration</key>
- <string>NO</string>
- <key>CFPlugInFactories</key>
- <dict>
- <key>00000000-0000-0000-0000-000000000000</key>
- <string>MyFactoryFunction</string>
- </dict>
- <key>CFPlugInTypes</key>
- <dict>
- <key>00000000-0000-0000-0000-000000000000</key>
- <array>
- <string>00000000-0000-0000-0000-000000000000</string>
- </array>
- </dict>
- <key>CFPlugInUnloadFunction</key>
- <string></string>
+ <key>NSPrincipalClass</key>
+ <string>NetPcsxrHIDInputPluginPadController</string>
</dict>
</plist>
diff --git a/macosx/plugins/DFInput/macsrc/PadController.h b/macosx/plugins/DFInput/macsrc/PadController.h
index 63a1b1d2..c65876ff 100644
--- a/macosx/plugins/DFInput/macsrc/PadController.h
+++ b/macosx/plugins/DFInput/macsrc/PadController.h
@@ -24,8 +24,6 @@
#import <Cocoa/Cocoa.h>
#import "PadView.h"
-@class PadView;
-
@interface PadController : NSWindowController
{
IBOutlet PadView *controllerView;
diff --git a/macosx/plugins/DFInput/macsrc/PadController.m b/macosx/plugins/DFInput/macsrc/PadController.m
index 49edcf21..ab6e19d4 100644
--- a/macosx/plugins/DFInput/macsrc/PadController.m
+++ b/macosx/plugins/DFInput/macsrc/PadController.m
@@ -135,4 +135,13 @@ long DoConfiguration() {
}
}
-@end \ No newline at end of file
+@end
+
+char* PLUGLOC(char *toloc)
+{
+ NSBundle *mainBundle = [NSBundle bundleForClass:[PadController class]];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
diff --git a/macosx/plugins/DFSound/English.lproj/Localizable.strings b/macosx/plugins/DFSound/English.lproj/Localizable.strings
new file mode 100644
index 00000000..fe252941
--- /dev/null
+++ b/macosx/plugins/DFSound/English.lproj/Localizable.strings
@@ -0,0 +1,12 @@
+/*
+ Localizable.strings
+ PeopsSPU
+
+ Created by C.W. Betts on 11/16/11.
+ Copyright 2011 __MyCompanyName__. All rights reserved.
+ */
+
+"SDL Sound" = "SDL Sound";
+"OpenAL Sound" = "OpenAL Sound";
+"Mac OS X Sound" = "Mac OS X Sound";
+"P.E.Op.S. Sound Driver V1.7\nCoded by Pete Bernert and the P.E.Op.S. team\n" = "P.E.Op.S. Sound Driver V1.7\nCoded by Pete Bernert and the P.E.Op.S. team\n";
diff --git a/macosx/plugins/DFSound/Info copy.plist b/macosx/plugins/DFSound/Info copy.plist
index a79ae416..8d4fbc1e 100644
--- a/macosx/plugins/DFSound/Info copy.plist
+++ b/macosx/plugins/DFSound/Info copy.plist
@@ -18,5 +18,7 @@
<string>PSPU</string>
<key>CFBundleVersion</key>
<string>1.19</string>
+ <key>NSPrincipalClass</key>
+ <string>NetSfPeopsALPluginController</string>
</dict>
</plist>
diff --git a/macosx/plugins/DFSound/Info.plist b/macosx/plugins/DFSound/Info.plist
index 2c4710f6..64b041c5 100644
--- a/macosx/plugins/DFSound/Info.plist
+++ b/macosx/plugins/DFSound/Info.plist
@@ -18,5 +18,7 @@
<string>PSPU</string>
<key>CFBundleVersion</key>
<string>1.19</string>
+ <key>NSPrincipalClass</key>
+ <string>NetSfPeopsSPUPluginController</string>
</dict>
</plist>
diff --git a/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj b/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
index b84d61d6..1413c89d 100644
--- a/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
+++ b/macosx/plugins/DFSound/PeopsSPU.xcodeproj/project.pbxproj
@@ -14,6 +14,8 @@
2B7B2BD1072DAE5D007F0C35 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B7B2BD0072DAE5D007F0C35 /* AppKit.framework */; };
2B7B2BE9072DB1B6007F0C35 /* NamedSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */; };
2BFF7F3E0715D2E00061278A /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BFF7F3D0715D2E00061278A /* Carbon.framework */; };
+ 552E4CB41474735100FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CB71474735100FB231F /* Localizable.strings */; };
+ 552E4CB51474735100FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CB71474735100FB231F /* Localizable.strings */; };
5599693813AFCD2900B0216B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; };
5599693A13AFCD2900B0216B /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2B4F99F7077B0CE4004E36BA /* Credits.rtf */; };
5599693C13AFCD2900B0216B /* PluginController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B7B2B92072D9BE6007F0C35 /* PluginController.m */; };
@@ -69,6 +71,7 @@
2B7B2BE7072DB1B6007F0C35 /* NamedSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = NamedSlider.m; path = macsrc/NamedSlider.m; sourceTree = "<group>"; };
2BFF7F3D0715D2E00061278A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
5517C065136217DE00706CCF /* externals.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = externals.c; path = ../../../plugins/dfsound/externals.c; sourceTree = SOURCE_ROOT; };
+ 552E4CB61474735100FB231F /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
5599692713AFCCC600B0216B /* openal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = openal.c; path = ../../../plugins/dfsound/openal.c; sourceTree = SOURCE_ROOT; };
5599695E13AFCD2900B0216B /* PeopsAL.psxplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PeopsAL.psxplugin; sourceTree = BUILT_PRODUCTS_DIR; };
5599696E13AFCE1D00B0216B /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
@@ -205,6 +208,7 @@
55C8AB0C146DCD0E005ACCCB /* Info copy.plist */,
2B4F99F7077B0CE4004E36BA /* Credits.rtf */,
8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
+ 552E4CB71474735100FB231F /* Localizable.strings */,
28F0C3A014651EFA00A90285 /* NetSfPeopsSpuPluginMain.xib */,
);
name = Resources;
@@ -458,6 +462,7 @@
5599693813AFCD2900B0216B /* InfoPlist.strings in Resources */,
5599693A13AFCD2900B0216B /* Credits.rtf in Resources */,
28F0C3A314651EFA00A90285 /* NetSfPeopsSpuPluginMain.xib in Resources */,
+ 552E4CB51474735100FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -468,6 +473,7 @@
8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
2B4F99F9077B0CE4004E36BA /* Credits.rtf in Resources */,
28F0C3A214651EFA00A90285 /* NetSfPeopsSpuPluginMain.xib in Resources */,
+ 552E4CB41474735100FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -540,6 +546,14 @@
name = Credits.rtf;
sourceTree = "<group>";
};
+ 552E4CB71474735100FB231F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 552E4CB61474735100FB231F /* English */,
+ );
+ name = Localizable.strings;
+ sourceTree = "<group>";
+ };
8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
@@ -559,13 +573,13 @@
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=ALsound",
_MACOSX,
USEOPENAL,
);
HEADER_SEARCH_PATHS = (
src/,
../../../plugins/dfsound,
- ../Common/SDL/include,
);
INFOPLIST_FILE = "Info copy.plist";
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
@@ -582,18 +596,16 @@
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=ALsound",
_MACOSX,
USEOPENAL,
);
HEADER_SEARCH_PATHS = (
src/,
../../../plugins/dfsound,
- ../Common/SDL/include,
);
INFOPLIST_FILE = "Info copy.plist";
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
- OTHER_CFLAGS = "";
- OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
PRODUCT_NAME = PeopsAL;
SYMROOT = ../../build;
WRAPPER_EXTENSION = psxplugin;
@@ -608,6 +620,7 @@
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=SPUSound",
_MACOSX,
USESDL,
SDL_JOYSTICK_DISABLED,
@@ -629,10 +642,10 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=SPUSound",
_MACOSX,
USESDL,
SDL_JOYSTICK_DISABLED,
@@ -660,7 +673,6 @@
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Debug;
};
@@ -672,7 +684,6 @@
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Release;
};
diff --git a/macosx/plugins/DFSound/macsrc/PluginController.m b/macosx/plugins/DFSound/macsrc/PluginController.m
index 590ae034..9c2197cc 100644
--- a/macosx/plugins/DFSound/macsrc/PluginController.m
+++ b/macosx/plugins/DFSound/macsrc/PluginController.m
@@ -152,6 +152,7 @@ void ReadConfig(void)
- (void)awakeFromNib
{
+ //TODO: localize these, probably in their own table
[interpolValue setStrings:[NSArray arrayWithObjects:
@"(No Interpolation)",
@"(Simple Interpolation)",
@@ -175,3 +176,12 @@ void ReadConfig(void)
}
@end
+
+char* PLUGLOC(char *toloc)
+{
+ NSBundle *mainBundle = [NSBundle bundleForClass:[PluginController class]];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
diff --git a/macosx/plugins/DFXVideo/English.lproj/Localizable.strings b/macosx/plugins/DFXVideo/English.lproj/Localizable.strings
new file mode 100644
index 00000000..1eb39163
--- /dev/null
+++ b/macosx/plugins/DFXVideo/English.lproj/Localizable.strings
@@ -0,0 +1,11 @@
+/*
+ Localizable.strings
+ PeopsSoftGPU
+
+ Created by C.W. Betts on 11/16/11.
+ Copyright 2011 __MyCompanyName__. All rights reserved.
+ */
+
+"Pete Bernert and the P.E.Op.S. team" = "Pete Bernert and the P.E.Op.S. team";
+"SoftGL Driver" = "SoftGL Driver";
+"P.E.Op.S. SoftGL Driver V1.17\nCoded by Pete Bernert and the P.E.Op.S. team\n" = "P.E.Op.S. SoftGL Driver V1.17\nCoded by Pete Bernert and the P.E.Op.S. team\n"; \ No newline at end of file
diff --git a/macosx/plugins/DFXVideo/Info.plist b/macosx/plugins/DFXVideo/Info.plist
index aeec11cf..d290e2e8 100644
--- a/macosx/plugins/DFXVideo/Info.plist
+++ b/macosx/plugins/DFXVideo/Info.plist
@@ -16,5 +16,7 @@
<string>PSGl</string>
<key>CFBundleVersion</key>
<string>1.16</string>
+ <key>NSPrincipalClass</key>
+ <string>NetSfPeopsSoftGPUPluginConfigController</string>
</dict>
</plist>
diff --git a/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj b/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
index 72dd7bc9..67b7e95a 100644
--- a/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
+++ b/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
@@ -18,6 +18,7 @@
2BB260A90777462E00F6854C /* PluginConfigController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BB260A70777462E00F6854C /* PluginConfigController.m */; };
2BD2E769077AF53E00657C69 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2BD2E767077AF53E00657C69 /* Credits.rtf */; };
2BD7C777076E1FAB000F05ED /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B51949E06B3D2D200744730 /* GLUT.framework */; };
+ 552E4CAE1474730B00FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CB01474730B00FB231F /* Localizable.strings */; };
71E9EC06109F24E700E98D1D /* fps.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E9EBF4109F24E600E98D1D /* fps.c */; };
71E9EC08109F24E700E98D1D /* gpu.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E9EBF6109F24E600E98D1D /* gpu.c */; };
71E9EC0B109F24E700E98D1D /* key.c in Sources */ = {isa = PBXBuildFile; fileRef = 71E9EBF9109F24E600E98D1D /* key.c */; };
@@ -46,6 +47,7 @@
2BB260A60777462E00F6854C /* PluginConfigController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginConfigController.h; path = macsrc/PluginConfigController.h; sourceTree = SOURCE_ROOT; };
2BB260A70777462E00F6854C /* PluginConfigController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginConfigController.m; path = macsrc/PluginConfigController.m; sourceTree = SOURCE_ROOT; };
2BD2E768077AF53E00657C69 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
+ 552E4CAF1474730B00FB231F /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
71E9EBF1109F24E600E98D1D /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfg.h; path = ../../../plugins/dfxvideo/cfg.h; sourceTree = SOURCE_ROOT; };
71E9EBF2109F24E600E98D1D /* draw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = draw.h; path = ../../../plugins/dfxvideo/draw.h; sourceTree = SOURCE_ROOT; };
71E9EBF3109F24E600E98D1D /* externals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = externals.h; path = ../../../plugins/dfxvideo/externals.h; sourceTree = SOURCE_ROOT; };
@@ -131,6 +133,7 @@
28586CC714651E9B0082B8EC /* NetSfPeopsSoftGPUConfig.xib */,
28586CCA14651EAB0082B8EC /* NetSfPeopsSoftGPUInterface.xib */,
2BD2E767077AF53E00657C69 /* Credits.rtf */,
+ 552E4CB01474730B00FB231F /* Localizable.strings */,
2B038C05069183300082466B /* InfoPlist.strings */,
);
name = Resources;
@@ -218,6 +221,7 @@
2BD2E769077AF53E00657C69 /* Credits.rtf in Resources */,
28586CC914651E9B0082B8EC /* NetSfPeopsSoftGPUConfig.xib in Resources */,
28586CCB14651EAB0082B8EC /* NetSfPeopsSoftGPUInterface.xib in Resources */,
+ 552E4CAE1474730B00FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -270,6 +274,14 @@
name = Credits.rtf;
sourceTree = "<group>";
};
+ 552E4CB01474730B00FB231F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 552E4CAF1474730B00FB231F /* English */,
+ );
+ name = Localizable.strings;
+ sourceTree = "<group>";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -277,13 +289,13 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 1;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=SoftGL",
_MACGL,
_DARWIN,
);
@@ -291,7 +303,6 @@
GCC_WARN_UNKNOWN_PRAGMAS = NO;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
- LIBRARY_STYLE = BUNDLE;
OPTIMIZATION_CFLAGS = "-finline-functions -finline-limit=1600 -fomit-frame-pointer -fno-exceptions -funroll-loops -falign-loops=16 -ffast-math";
OTHER_CFLAGS = "-finline-functions";
OTHER_LDFLAGS = (
@@ -303,11 +314,6 @@
PRODUCT_NAME = PeopsSoftGL;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Debug;
@@ -316,13 +322,13 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=SoftGL",
_MACGL,
_DARWIN,
);
@@ -330,7 +336,6 @@
GCC_WARN_UNKNOWN_PRAGMAS = NO;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins";
- LIBRARY_STYLE = BUNDLE;
OPTIMIZATION_CFLAGS = "-finline-functions -finline-limit=1600 -fomit-frame-pointer -fno-exceptions -funroll-loops -falign-loops=16 -ffast-math";
OTHER_LDFLAGS = (
"-framework",
@@ -341,11 +346,6 @@
PRODUCT_NAME = PeopsSoftGL;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Release;
@@ -364,7 +364,6 @@
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Debug;
};
@@ -380,7 +379,6 @@
MACOSX_DEPLOYMENT_TARGET = 10.6;
SDKROOT = macosx10.6;
SYMROOT = ../../build;
- WARNING_CFLAGS = "-Wall";
};
name = Release;
};
diff --git a/macosx/plugins/DFXVideo/macsrc/PluginConfigController.m b/macosx/plugins/DFXVideo/macsrc/PluginConfigController.m
index 13f9ff6f..86d65015 100644
--- a/macosx/plugins/DFXVideo/macsrc/PluginConfigController.m
+++ b/macosx/plugins/DFXVideo/macsrc/PluginConfigController.m
@@ -214,3 +214,13 @@ void ReadConfig(void)
}
@end
+
+char* PLUGLOC(char *toloc)
+{
+ NSBundle *mainBundle = [NSBundle bundleForClass:[PluginConfigController class]];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
+
diff --git a/macosx/plugins/PeopsXgl/English.lproj/Localizable.strings b/macosx/plugins/PeopsXgl/English.lproj/Localizable.strings
new file mode 100644
index 00000000..8528a0f4
--- /dev/null
+++ b/macosx/plugins/PeopsXgl/English.lproj/Localizable.strings
@@ -0,0 +1,11 @@
+/*
+ Localizable.strings
+ PeopsXGL
+
+ Created by C.W. Betts on 11/16/11.
+ Copyright 2011 __MyCompanyName__. All rights reserved.
+ */
+
+"OpenGL Driver" = "OpenGL Driver";
+"Pete Bernert" = "Pete Bernert";
+"Based on P.E.Op.S. MesaGL Driver V1.78\nCoded by Pete Bernert\n" = "Based on P.E.Op.S. MesaGL Driver V1.78\nCoded by Pete Bernert\n";
diff --git a/macosx/plugins/PeopsXgl/Info.plist b/macosx/plugins/PeopsXgl/Info.plist
index d5641fc2..9213c5d8 100644
--- a/macosx/plugins/PeopsXgl/Info.plist
+++ b/macosx/plugins/PeopsXgl/Info.plist
@@ -16,5 +16,7 @@
<string>POGl</string>
<key>CFBundleVersion</key>
<string>1.16</string>
+ <key>NSPrincipalClass</key>
+ <string>NetSfPeopsOpenGLPluginConfigController</string>
</dict>
</plist>
diff --git a/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj b/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
index 1040a176..2fb78aac 100644
--- a/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
+++ b/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
@@ -26,6 +26,7 @@
3F7F384E13079BFD00556C34 /* gpu.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F7F384113079BFD00556C34 /* gpu.c */; };
3F7F384F13079BFD00556C34 /* soft.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F7F384313079BFD00556C34 /* soft.c */; };
3F7F385013079BFD00556C34 /* draw.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F7F384713079BFD00556C34 /* draw.c */; };
+ 552E4CC91474742F00FB231F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 552E4CCB1474742F00FB231F /* Localizable.strings */; };
A191B90713F6741300D0971F /* gte_accuracy.c in Sources */ = {isa = PBXBuildFile; fileRef = A191B90513F6741300D0971F /* gte_accuracy.c */; };
/* End PBXBuildFile section */
@@ -67,6 +68,7 @@
3F7F384513079BFD00556C34 /* externals.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 2; name = externals.h; path = ../../../plugins/peopsxgl/externals.h; sourceTree = SOURCE_ROOT; };
3F7F384613079BFD00556C34 /* draw.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = draw.h; path = ../../../plugins/peopsxgl/draw.h; sourceTree = SOURCE_ROOT; };
3F7F384713079BFD00556C34 /* draw.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; lineEnding = 2; name = draw.c; path = ../../../plugins/peopsxgl/draw.c; sourceTree = SOURCE_ROOT; };
+ 552E4CCA1474742F00FB231F /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
55F36E4A146C9F9900718DE6 /* drawgl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = drawgl.h; path = macsrc/drawgl.h; sourceTree = "<group>"; };
A191B90513F6741300D0971F /* gte_accuracy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gte_accuracy.c; path = ../../../plugins/peopsxgl/gte_accuracy.c; sourceTree = SOURCE_ROOT; };
A191B90613F6741300D0971F /* gte_accuracy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gte_accuracy.h; path = ../../../plugins/peopsxgl/gte_accuracy.h; sourceTree = SOURCE_ROOT; };
@@ -139,6 +141,7 @@
28586CBF14651E560082B8EC /* NetSfPeopsOpenGLGPUInterface.xib */,
2BD2E767077AF53E00657C69 /* Credits.rtf */,
2B038C05069183300082466B /* InfoPlist.strings */,
+ 552E4CCB1474742F00FB231F /* Localizable.strings */,
);
name = Resources;
sourceTree = "<group>";
@@ -228,6 +231,7 @@
2BD2E769077AF53E00657C69 /* Credits.rtf in Resources */,
28586CBE14651D960082B8EC /* NetSfPeopsOpenGLConfig.xib in Resources */,
28586CC014651E560082B8EC /* NetSfPeopsOpenGLGPUInterface.xib in Resources */,
+ 552E4CC91474742F00FB231F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -283,6 +287,14 @@
name = Credits.rtf;
sourceTree = "<group>";
};
+ 552E4CCB1474742F00FB231F /* Localizable.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 552E4CCA1474742F00FB231F /* English */,
+ );
+ name = Localizable.strings;
+ sourceTree = "<group>";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -290,13 +302,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 1;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "";
+ GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=PeopsXGL",
_MACGL,
_DARWIN,
);
@@ -315,11 +326,6 @@
PRODUCT_NAME = PeopsXGL;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Debug;
@@ -328,13 +334,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- DEBUGGING_SYMBOLS = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = 3;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "";
+ GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
+ "PCSXRPLUG=PeopsXGL",
_MACGL,
_DARWIN,
);
@@ -352,11 +357,6 @@
PRODUCT_NAME = PeopsXGL;
SECTORDER_FLAGS = "";
SYMROOT = ../../build;
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
WRAPPER_EXTENSION = psxplugin;
};
name = Release;
diff --git a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m
index 634362a4..39968406 100644
--- a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m
+++ b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m
@@ -346,3 +346,12 @@ void ReadConfig(void)
}
@end
+
+char* PLUGLOC(char *toloc)
+{
+ NSBundle *mainBundle = [NSBundle bundleForClass:[PluginConfigController class]];
+ NSString *origString = nil, *transString = nil;
+ origString = [NSString stringWithCString:toloc encoding:NSUTF8StringEncoding];
+ transString = [mainBundle localizedStringForKey:origString value:nil table:nil];
+ return [transString cStringUsingEncoding:NSUTF8StringEncoding];
+}
diff --git a/plugins/dfcdrom/cdr.h b/plugins/dfcdrom/cdr.h
index 771faa77..d568972c 100644
--- a/plugins/dfcdrom/cdr.h
+++ b/plugins/dfcdrom/cdr.h
@@ -31,6 +31,28 @@
#include <locale.h>
#define _(x) gettext(x)
#define N_(x) (x)
+#elif defined(__MACOSX__)
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef PCSXRCORE
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
+#ifdef __cplusplus
+}
+#endif
#else
#define _(x) (x)
#define N_(x) (x)
diff --git a/plugins/dfinput/pad.c b/plugins/dfinput/pad.c
index 3900f0c4..ce5d7651 100644
--- a/plugins/dfinput/pad.c
+++ b/plugins/dfinput/pad.c
@@ -23,6 +23,10 @@
#include <time.h>
#endif
+#if SDL_VERSION_ATLEAST(1,3,0)
+int has_haptic;
+#endif
+
static void (*gpuVisualVibration)(uint32_t, uint32_t) = NULL;
char *PSEgetLibName(void) {
diff --git a/plugins/dfinput/pad.h b/plugins/dfinput/pad.h
index f39e231e..21b42fb8 100644
--- a/plugins/dfinput/pad.h
+++ b/plugins/dfinput/pad.h
@@ -58,14 +58,32 @@ typedef void *Display;
#include <locale.h>
#define _(x) gettext(x)
#define N_(x) (x)
+//If running under Mac OS X, use the Localizable.strings file instead.
+#elif defined(__MACOSX__)
+#ifdef PCSXRCORE
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
#else
#define _(x) (x)
#define N_(x) (x)
#endif
#if SDL_VERSION_ATLEAST(1,3,0)
-int has_haptic;
+extern int has_haptic;
#endif
+
int JoyHapticRumble(int pad, uint32_t low, uint32_t high);
enum {
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c
index 304297db..e21a6629 100644
--- a/plugins/dfsound/spu.c
+++ b/plugins/dfsound/spu.c
@@ -34,6 +34,22 @@
#include <locale.h>
#define _(x) gettext(x)
#define N_(x) (x)
+#elif defined(__MACOSX__)
+#ifdef PCSXRCORE
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
#else
#define _(x) (x)
#define N_(x) (x)
diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c
index 1ff9939a..6ec1f040 100644
--- a/plugins/dfxvideo/gpu.c
+++ b/plugins/dfxvideo/gpu.c
@@ -38,6 +38,24 @@
#include <locale.h>
#define _(x) gettext(x)
#define N_(x) (x)
+
+//If running under Mac OS X, use the Localizable.strings file instead.
+#elif defined(__MACOSX__)
+#ifdef PCSXRCORE
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
#else
#define _(x) (x)
#define N_(x) (x)
diff --git a/plugins/peopsxgl/gpu.c b/plugins/peopsxgl/gpu.c
index d30da6ce..6e36fe8b 100644
--- a/plugins/peopsxgl/gpu.c
+++ b/plugins/peopsxgl/gpu.c
@@ -57,6 +57,22 @@ static int iOldMode=0;
#include <locale.h>
#define _(x) gettext(x)
#define N_(x) (x)
+#elif defined(__MACOSX__)
+#ifdef PCSXRCORE
+extern char* Pcsxr_locale_text(char* toloc);
+#define _(String) Pcsxr_locale_text(String)
+#define N_(String) String
+#else
+#ifndef PCSXRPLUG
+#warning please define the plug being built to use Mac OS X localization!
+#define _(msgid) msgid
+#define N_(msgid) msgid
+#endif
+#define PLUGLOC PCSXRPLUG##_locale_text
+extern char* PLUGLOC(char* toloc);
+#define _(String) PLUGLOC(String)
+#define N_(String) String
+#endif
#else
#define _(x) (x)
#define N_(x) (x)