summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2012-12-15 21:07:55 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2012-12-15 21:07:55 +0000
commitbe3d963074ee8adf5da0371761e090488b3681d3 (patch)
tree24ac0f45405136899584fe3ef2c022c148bfb352
parentc0cba1977a8cac317af37c3004c53417fbce31bc (diff)
downloadpcsxr-be3d963074ee8adf5da0371761e090488b3681d3.tar.gz
Mac Patch 13437.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@81770 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--macosx/ConfigurationController.h7
-rw-r--r--macosx/ConfigurationController.m15
-rwxr-xr-xmacosx/EmuThread.m6
-rw-r--r--macosx/English.lproj/Configuration.xib749
-rw-r--r--macosx/English.lproj/Credits.rtf3
-rw-r--r--macosx/English.lproj/InfoPlist.strings2
-rw-r--r--macosx/English.lproj/KeyNames.plist202
-rw-r--r--macosx/English.lproj/PCSXR.xib80
-rw-r--r--macosx/ExtendedKeys.h6
-rw-r--r--macosx/HotkeyController.h30
-rw-r--r--macosx/HotkeyController.m206
-rw-r--r--macosx/Pcsxr.xcodeproj/project.pbxproj28
-rw-r--r--macosx/PcsxrController.h3
-rw-r--r--macosx/PcsxrController.m25
-rw-r--r--macosx/hotkeys.h15
-rw-r--r--macosx/main.m4
-rw-r--r--macosx/plugins/DFInput/English.lproj/Credits.rtf17
-rw-r--r--macosx/plugins/DFInput/English.lproj/NetPcsxrHIDInputPluginMain.xib108
-rw-r--r--macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj4
-rw-r--r--macosx/plugins/DFXVideo/macsrc/ExtendedKeys.h6
-rw-r--r--macosx/plugins/DFXVideo/macsrc/drawgl.m3
-rw-r--r--macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj6
-rw-r--r--macosx/plugins/PeopsXgl/macsrc/ExtendedKeys.h6
-rw-r--r--macosx/plugins/PeopsXgl/macsrc/drawgl.m3
24 files changed, 1347 insertions, 187 deletions
diff --git a/macosx/ConfigurationController.h b/macosx/ConfigurationController.h
index bcfdc314..2e88f445 100644
--- a/macosx/ConfigurationController.h
+++ b/macosx/ConfigurationController.h
@@ -2,6 +2,7 @@
#import <Cocoa/Cocoa.h>
#import "PluginController.h"
+#import "HotkeyController.h"
#import "PluginList.h"
extern NSString *memChangeNotifier;
@@ -31,6 +32,10 @@ extern NSString *memChangeNotifier;
IBOutlet id noFastBootCell;
IBOutlet id enableNetPlayCell;
IBOutlet id widescreen;
+
+ // Hotkeys
+ IBOutlet HotkeyController *hkController;
+ IBOutlet NSTabViewItem *hkTab;
IBOutlet NSTextField *mcd1Label;
IBOutlet NSTextField *mcd2Label;
@@ -50,4 +55,6 @@ extern NSString *memChangeNotifier;
- (NSString *)keyForSender:(id)sender;
+ (void)setMemoryCard:(int)theCard toPath:(NSString *)theFile;
+- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem;
+
@end
diff --git a/macosx/ConfigurationController.m b/macosx/ConfigurationController.m
index 42eeee89..730dfaf8 100644
--- a/macosx/ConfigurationController.m
+++ b/macosx/ConfigurationController.m
@@ -213,7 +213,9 @@ NSString *memChangeNotifier = @"PcsxrMemoryCardDidChangeNotifier";
[padPlugin setPluginsTo:[list pluginsForType:PSE_LT_PAD] withType: PSE_LT_PAD];
[cdromPlugin setPluginsTo:[list pluginsForType:PSE_LT_CDR] withType: PSE_LT_CDR];
[netPlugin setPluginsTo:[list pluginsForType:PSE_LT_NET] withType: PSE_LT_NET];
-
+
+ // Setup hotkey view
+ [hkController initialize];
}
- (void)dealloc
@@ -258,4 +260,15 @@ NSString *memChangeNotifier = @"PcsxrMemoryCardDidChangeNotifier";
}
}
+- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem
+{
+ NSWindow *window = [self window];
+ if(tabViewItem == hkTab) {
+ [window makeFirstResponder:(NSView*)hkController];
+ }
+ else if([window firstResponder] == (NSView*)hkController) {
+ [hkController resignFirstResponder];
+ }
+}
+
@end
diff --git a/macosx/EmuThread.m b/macosx/EmuThread.m
index 2c34bfa4..89a95ef9 100755
--- a/macosx/EmuThread.m
+++ b/macosx/EmuThread.m
@@ -29,7 +29,7 @@ static pthread_mutex_t eventMutex;
#define EMUEVENT_RESET (1<<1)
#define EMUEVENT_STOP (1<<2)
-static NSString *ThreadInfo = @"PSX Emu Background thread";
+static NSString * const ThreadInfo = @"PSX Emu Background thread";
@implementation EmuThread
@@ -380,8 +380,8 @@ done:
GPU_freeze(2, (GPUFreeze_t *)&num);
int ret = SaveState([path fileSystemRepresentation]);
- if (ret == 0) sprintf (Text, _("*PCSXR*: Saved State %d"), num+1);
- else sprintf (Text, _("*PCSXR*: Error Saving State %d"), num+1);
+ if (ret == 0) sprintf (Text, _("*PCSXR*: Saved State %d"), num);
+ else sprintf (Text, _("*PCSXR*: Error Saving State %d"), num);
GPU_displayText(Text);
if (!emuWasPaused) {
diff --git a/macosx/English.lproj/Configuration.xib b/macosx/English.lproj/Configuration.xib
index a1e6f40a..8a9178db 100644
--- a/macosx/English.lproj/Configuration.xib
+++ b/macosx/English.lproj/Configuration.xib
@@ -2,30 +2,30 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11E53</string>
- <string key="IBDocument.InterfaceBuilderVersion">2182</string>
- <string key="IBDocument.AppKitVersion">1138.47</string>
+ <string key="IBDocument.SystemVersion">11G63</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+ <string key="IBDocument.AppKitVersion">1138.51</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">2182</string>
+ <string key="NS.object.0">2844</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
- <string>NSPopUpButton</string>
- <string>NSMenuItem</string>
- <string>NSMenu</string>
- <string>NSButtonCell</string>
- <string>NSButton</string>
- <string>NSTextFieldCell</string>
<string>NSBox</string>
- <string>NSTabView</string>
- <string>NSMatrix</string>
+ <string>NSButton</string>
+ <string>NSButtonCell</string>
<string>NSCustomObject</string>
+ <string>NSMatrix</string>
+ <string>NSMenu</string>
+ <string>NSMenuItem</string>
+ <string>NSPopUpButton</string>
+ <string>NSPopUpButtonCell</string>
+ <string>NSTabView</string>
<string>NSTabViewItem</string>
+ <string>NSTextField</string>
+ <string>NSTextFieldCell</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
- <string>NSPopUpButtonCell</string>
- <string>NSTextField</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -67,13 +67,14 @@
<string key="NSFrame">{{13, 10}, {526, 344}}</string>
<reference key="NSSuperview" ref="644483536"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="958294119"/>
<array class="NSMutableArray" key="NSTabViewItems">
<object class="NSTabViewItem" id="150404821">
<object class="NSMutableString" key="NSIdentifier">
<characters key="NS.bytes">1</characters>
</object>
<object class="NSView" key="NSView" id="309207255">
- <reference key="NSNextResponder" ref="145760790"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSBox" id="324328678">
@@ -89,7 +90,6 @@
<int key="NSvFlags">274</int>
<string key="NSFrame">{{20, 41}, {135, 128}}</string>
<reference key="NSSuperview" ref="501435377"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="197815183"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">6</int>
@@ -308,7 +308,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{17, 9}, {137, 26}}</string>
<reference key="NSSuperview" ref="501435377"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="715888890"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="27092767">
@@ -417,13 +416,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</array>
<string key="NSFrame">{{2, 2}, {175, 179}}</string>
<reference key="NSSuperview" ref="324328678"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="260387224"/>
</object>
</array>
<string key="NSFrame">{{17, 96}, {179, 196}}</string>
<reference key="NSSuperview" ref="309207255"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="501435377"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -439,7 +436,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
- <object class="NSColor" key="NSColor">
+ <object class="NSColor" key="NSColor" id="271765176">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
@@ -468,7 +465,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">306</int>
<string key="NSFrame">{{18, 16}, {238, 40}}</string>
<reference key="NSSuperview" ref="593482660"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="776429699"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">2</int>
@@ -535,13 +531,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</array>
<string key="NSFrame">{{2, 2}, {273, 74}}</string>
<reference key="NSSuperview" ref="715888890"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="263292685"/>
</object>
</array>
<string key="NSFrame">{{212, 201}, {277, 91}}</string>
<reference key="NSSuperview" ref="309207255"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="593482660"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -574,7 +568,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 16}, {232, 40}}</string>
<reference key="NSSuperview" ref="584348218"/>
- <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="145760790"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">2</int>
<int key="NSNumCols">1</int>
@@ -675,13 +669,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</array>
<string key="NSFrame">{{2, 2}, {273, 74}}</string>
<reference key="NSSuperview" ref="776429699"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="874213588"/>
</object>
</array>
<string key="NSFrame">{{212, 96}, {277, 91}}</string>
<reference key="NSSuperview" ref="309207255"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="584348218"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -703,8 +695,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</array>
<string key="NSFrame">{{10, 33}, {506, 298}}</string>
- <reference key="NSSuperview" ref="145760790"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="324328678"/>
</object>
<string key="NSLabel">Emulation</string>
@@ -1696,14 +1686,300 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSColor" ref="243535788"/>
<reference key="NSTabView" ref="145760790"/>
</object>
+ <object class="NSTabViewItem" id="185355004">
+ <string key="NSIdentifier">4</string>
+ <object class="NSView" key="NSView" id="958294119">
+ <reference key="NSNextResponder" ref="145760790"/>
+ <int key="NSvFlags">256</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSButton" id="195305356">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{-3, 267}, {121, 32}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="911328747"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <int key="NSTag">100</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="542220430">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Fast Forward</string>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="195305356"/>
+ <int key="NSTag">100</int>
+ <int key="NSButtonFlags">-1232977920</int>
+ <int key="NSButtonFlags2">129</int>
+ <reference key="NSAlternateImage" ref="983951697"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="911328747">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{120, 273}, {310, 22}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="795957481"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="665963726">
+ <int key="NSCellFlags">-2075131840</int>
+ <int key="NSCellFlags2">272634880</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSPlaceholderString">None...</string>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="911328747"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <int key="NSTextBezelStyle">1</int>
+ <object class="NSColor" key="NSBackgroundColor" id="663213200">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">headerColor</string>
+ <reference key="NSColor" ref="271765176"/>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xNzQwOTY0ODI5IDAuMzI3ODI0MzQ2NSAwLjY1NzM3NTE2OTgAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="795957481">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{-3, 236}, {121, 32}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="341191480"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <int key="NSTag">101</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="305408243">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Save State</string>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="795957481"/>
+ <int key="NSTag">100</int>
+ <int key="NSButtonFlags">-1232977920</int>
+ <int key="NSButtonFlags2">129</int>
+ <reference key="NSAlternateImage" ref="983951697"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="341191480">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{120, 243}, {310, 22}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="659547625"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="470562697">
+ <int key="NSCellFlags">-2075131840</int>
+ <int key="NSCellFlags2">272634880</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSPlaceholderString">None...</string>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="341191480"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <int key="NSTextBezelStyle">1</int>
+ <reference key="NSBackgroundColor" ref="663213200"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xNzQwOTY0ODI5IDAuMzI3ODI0MzQ2NSAwLjY1NzM3NTE2OTgAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="659547625">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{-3, 204}, {121, 32}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="364881091"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <int key="NSTag">102</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="968300061">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Load State</string>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="659547625"/>
+ <int key="NSTag">100</int>
+ <int key="NSButtonFlags">-1232977920</int>
+ <int key="NSButtonFlags2">129</int>
+ <reference key="NSAlternateImage" ref="983951697"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="364881091">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{120, 211}, {310, 22}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="246038820"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="629053056">
+ <int key="NSCellFlags">-2075131840</int>
+ <int key="NSCellFlags2">272634880</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSPlaceholderString">None...</string>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="364881091"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <int key="NSTextBezelStyle">1</int>
+ <reference key="NSBackgroundColor" ref="663213200"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xNzQwOTY0ODI5IDAuMzI3ODI0MzQ2NSAwLjY1NzM3NTE2OTgAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="246038820">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{-3, 172}, {121, 32}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1072290452"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <int key="NSTag">103</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="10554974">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Next State</string>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="246038820"/>
+ <int key="NSTag">100</int>
+ <int key="NSButtonFlags">-1232977920</int>
+ <int key="NSButtonFlags2">129</int>
+ <reference key="NSAlternateImage" ref="983951697"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="1072290452">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{120, 179}, {310, 22}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="860331374"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="720605472">
+ <int key="NSCellFlags">-2075131840</int>
+ <int key="NSCellFlags2">272634880</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSPlaceholderString">None...</string>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="1072290452"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <int key="NSTextBezelStyle">1</int>
+ <reference key="NSBackgroundColor" ref="663213200"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xNzQwOTY0ODI5IDAuMzI3ODI0MzQ2NSAwLjY1NzM3NTE2OTgAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSButton" id="860331374">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{-3, 138}, {121, 32}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="205239960"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <int key="NSTag">104</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="744386199">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Previous State</string>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="860331374"/>
+ <int key="NSTag">100</int>
+ <int key="NSButtonFlags">-1232977920</int>
+ <int key="NSButtonFlags2">129</int>
+ <reference key="NSAlternateImage" ref="983951697"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="205239960">
+ <reference key="NSNextResponder" ref="958294119"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{120, 146}, {310, 22}}</string>
+ <reference key="NSSuperview" ref="958294119"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="725698940">
+ <int key="NSCellFlags">-2075131840</int>
+ <int key="NSCellFlags2">272634880</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="113129670"/>
+ <string key="NSPlaceholderString">None...</string>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="205239960"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <int key="NSTextBezelStyle">1</int>
+ <reference key="NSBackgroundColor" ref="663213200"/>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xNzQwOTY0ODI5IDAuMzI3ODI0MzQ2NSAwLjY1NzM3NTE2OTgAA</bytes>
+ </object>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{10, 33}, {506, 298}}</string>
+ <reference key="NSSuperview" ref="145760790"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="195305356"/>
+ </object>
+ <string key="NSLabel">Hotkeys</string>
+ <reference key="NSColor" ref="243535788"/>
+ <reference key="NSTabView" ref="145760790"/>
+ </object>
</array>
- <reference key="NSSelectedTabViewItem" ref="150404821"/>
+ <reference key="NSSelectedTabViewItem" ref="185355004"/>
<reference key="NSFont" ref="113129670"/>
<int key="NSTvFlags">0</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
- <reference ref="309207255"/>
+ <reference ref="958294119"/>
</array>
</object>
</array>
@@ -1712,7 +1988,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="145760790"/>
</object>
- <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+ <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{552, 382}</string>
<string key="NSMaxSize">{2000, 382}</string>
<bool key="NSWindowIsRestorable">YES</bool>
@@ -2001,6 +2277,22 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
+ <string key="label">hkTab</string>
+ <reference key="source" ref="974938689"/>
+ <reference key="destination" ref="185355004"/>
+ </object>
+ <int key="connectionID">781</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">hkController</string>
+ <reference key="source" ref="974938689"/>
+ <reference key="destination" ref="958294119"/>
+ </object>
+ <int key="connectionID">832</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="379363543"/>
<reference key="destination" ref="974938689"/>
@@ -2009,6 +2301,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="145760790"/>
+ <reference key="destination" ref="974938689"/>
+ </object>
+ <int key="connectionID">780</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
<string key="label">configureButton</string>
<reference key="source" ref="622912057"/>
<reference key="destination" ref="659624019"/>
@@ -2247,6 +2547,86 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">639</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hotkeySet:</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="195305356"/>
+ </object>
+ <int key="connectionID">784</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">FastForward</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="911328747"/>
+ </object>
+ <int key="connectionID">849</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hotkeySet:</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="795957481"/>
+ </object>
+ <int key="connectionID">854</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hotkeySet:</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="659547625"/>
+ </object>
+ <int key="connectionID">857</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hotkeySet:</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="246038820"/>
+ </object>
+ <int key="connectionID">863</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">hotkeySet:</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="860331374"/>
+ </object>
+ <int key="connectionID">869</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">SaveState</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="341191480"/>
+ </object>
+ <int key="connectionID">876</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">LoadState</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="364881091"/>
+ </object>
+ <int key="connectionID">877</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">NextState</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="1072290452"/>
+ </object>
+ <int key="connectionID">878</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">PrevState</string>
+ <reference key="source" ref="958294119"/>
+ <reference key="destination" ref="205239960"/>
+ </object>
+ <int key="connectionID">879</int>
+ </object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@@ -2292,6 +2672,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="150404821"/>
<reference ref="869045919"/>
<reference ref="683723192"/>
+ <reference ref="185355004"/>
</array>
<reference key="parent" ref="644483536"/>
</object>
@@ -3020,6 +3401,162 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="parent" ref="260387224"/>
<string key="objectName">Widescreen</string>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">655</int>
+ <reference key="object" ref="185355004"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="958294119"/>
+ </array>
+ <reference key="parent" ref="145760790"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">656</int>
+ <reference key="object" ref="958294119"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="195305356"/>
+ <reference ref="911328747"/>
+ <reference ref="795957481"/>
+ <reference ref="659547625"/>
+ <reference ref="246038820"/>
+ <reference ref="860331374"/>
+ <reference ref="364881091"/>
+ <reference ref="1072290452"/>
+ <reference ref="341191480"/>
+ <reference ref="205239960"/>
+ </array>
+ <reference key="parent" ref="185355004"/>
+ <string key="objectName">Hotkey View</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">769</int>
+ <reference key="object" ref="195305356"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="542220430"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">770</int>
+ <reference key="object" ref="542220430"/>
+ <reference key="parent" ref="195305356"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">771</int>
+ <reference key="object" ref="911328747"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="665963726"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">772</int>
+ <reference key="object" ref="665963726"/>
+ <reference key="parent" ref="911328747"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">850</int>
+ <reference key="object" ref="795957481"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="305408243"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">851</int>
+ <reference key="object" ref="341191480"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="470562697"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">852</int>
+ <reference key="object" ref="470562697"/>
+ <reference key="parent" ref="341191480"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">853</int>
+ <reference key="object" ref="305408243"/>
+ <reference key="parent" ref="795957481"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">855</int>
+ <reference key="object" ref="659547625"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="968300061"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">856</int>
+ <reference key="object" ref="968300061"/>
+ <reference key="parent" ref="659547625"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">861</int>
+ <reference key="object" ref="246038820"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="10554974"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">862</int>
+ <reference key="object" ref="10554974"/>
+ <reference key="parent" ref="246038820"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">867</int>
+ <reference key="object" ref="860331374"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="744386199"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">868</int>
+ <reference key="object" ref="744386199"/>
+ <reference key="parent" ref="860331374"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">870</int>
+ <reference key="object" ref="364881091"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="629053056"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">871</int>
+ <reference key="object" ref="629053056"/>
+ <reference key="parent" ref="364881091"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">872</int>
+ <reference key="object" ref="1072290452"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="720605472"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">873</int>
+ <reference key="object" ref="720605472"/>
+ <reference key="parent" ref="1072290452"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">874</int>
+ <reference key="object" ref="205239960"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="725698940"/>
+ </array>
+ <reference key="parent" ref="958294119"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">875</int>
+ <reference key="object" ref="725698940"/>
+ <reference key="parent" ref="205239960"/>
+ </object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -3185,12 +3722,40 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="642.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="643.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="652.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="655.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="656.CustomClassName">HotkeyController</string>
+ <string key="656.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="769.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="769.userInterfaceItemIdentifier">FastForward</string>
+ <string key="770.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="771.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="772.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="850.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="850.userInterfaceItemIdentifier">SaveState</string>
+ <string key="851.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="852.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="853.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="855.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="855.userInterfaceItemIdentifier">LoadState</string>
+ <string key="856.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="861.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="861.userInterfaceItemIdentifier">NextState</string>
+ <string key="862.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="867.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="867.userInterfaceItemIdentifier">PrevState</string>
+ <string key="868.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="870.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="871.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="872.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="873.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="874.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="875.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
- <int key="maxID">654</int>
+ <int key="maxID">879</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -3238,6 +3803,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="consoleOutputCell">id</string>
<string key="enableNetPlayCell">id</string>
<string key="graphicsPlugin">PluginController</string>
+ <string key="hkController">HotkeyController</string>
+ <string key="hkTab">NSTabViewItem</string>
<string key="mcd1Label">NSTextField</string>
<string key="mcd2Label">NSTextField</string>
<string key="netPlugin">PluginController</string>
@@ -3280,6 +3847,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">graphicsPlugin</string>
<string key="candidateClassName">PluginController</string>
</object>
+ <object class="IBToOneOutletInfo" key="hkController">
+ <string key="name">hkController</string>
+ <string key="candidateClassName">HotkeyController</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="hkTab">
+ <string key="name">hkTab</string>
+ <string key="candidateClassName">NSTabViewItem</string>
+ </object>
<object class="IBToOneOutletInfo" key="mcd1Label">
<string key="name">mcd1Label</string>
<string key="candidateClassName">NSTextField</string>
@@ -3351,47 +3926,79 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">NamedSlider</string>
- <string key="superclassName">NSSlider</string>
+ <string key="className">HotkeyController</string>
+ <string key="superclassName">NSView</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">hotkeySet:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">hotkeySet:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">hotkeySet:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="FastForward">NSTextField</string>
+ <string key="LoadState">NSTextField</string>
+ <string key="NextState">NSTextField</string>
+ <string key="PrevState">NSTextField</string>
+ <string key="SaveState">NSTextField</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="FastForward">
+ <string key="name">FastForward</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="LoadState">
+ <string key="name">LoadState</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="NextState">
+ <string key="name">NextState</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="PrevState">
+ <string key="name">PrevState</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="SaveState">
+ <string key="name">SaveState</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ </dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/NamedSlider.h</string>
+ <string key="minorKey">./Classes/HotkeyController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PluginController</string>
- <string key="superclassName">NSWindowController</string>
+ <string key="superclassName">NSObject</string>
<dictionary class="NSMutableDictionary" key="actions">
- <string key="cancel:">id</string>
- <string key="ok:">id</string>
- <string key="reset:">id</string>
+ <string key="doAbout:">id</string>
+ <string key="doConfigure:">id</string>
+ <string key="selectPlugin:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
- <object class="IBActionInfo" key="cancel:">
- <string key="name">cancel:</string>
+ <object class="IBActionInfo" key="doAbout:">
+ <string key="name">doAbout:</string>
<string key="candidateClassName">id</string>
</object>
- <object class="IBActionInfo" key="ok:">
- <string key="name">ok:</string>
+ <object class="IBActionInfo" key="doConfigure:">
+ <string key="name">doConfigure:</string>
<string key="candidateClassName">id</string>
</object>
- <object class="IBActionInfo" key="reset:">
- <string key="name">reset:</string>
+ <object class="IBActionInfo" key="selectPlugin:">
+ <string key="name">selectPlugin:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="aboutButton">NSButton</string>
<string key="configureButton">NSButton</string>
- <string key="hiCompBox">NSControl</string>
- <string key="interpolValue">NamedSlider</string>
- <string key="irqWaitBox">NSControl</string>
- <string key="monoSoundBox">NSControl</string>
<string key="pluginMenu">NSPopUpButton</string>
- <string key="reverbValue">NamedSlider</string>
- <string key="volumeValue">NamedSlider</string>
- <string key="xaEnableBox">NSControl</string>
- <string key="xaSpeedBox">NSControl</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="aboutButton">
@@ -3402,42 +4009,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">configureButton</string>
<string key="candidateClassName">NSButton</string>
</object>
- <object class="IBToOneOutletInfo" key="hiCompBox">
- <string key="name">hiCompBox</string>
- <string key="candidateClassName">NSControl</string>
- </object>
- <object class="IBToOneOutletInfo" key="interpolValue">
- <string key="name">interpolValue</string>
- <string key="candidateClassName">NamedSlider</string>
- </object>
- <object class="IBToOneOutletInfo" key="irqWaitBox">
- <string key="name">irqWaitBox</string>
- <string key="candidateClassName">NSControl</string>
- </object>
- <object class="IBToOneOutletInfo" key="monoSoundBox">
- <string key="name">monoSoundBox</string>
- <string key="candidateClassName">NSControl</string>
- </object>
<object class="IBToOneOutletInfo" key="pluginMenu">
<string key="name">pluginMenu</string>
<string key="candidateClassName">NSPopUpButton</string>
</object>
- <object class="IBToOneOutletInfo" key="reverbValue">
- <string key="name">reverbValue</string>
- <string key="candidateClassName">NamedSlider</string>
- </object>
- <object class="IBToOneOutletInfo" key="volumeValue">
- <string key="name">volumeValue</string>
- <string key="candidateClassName">NamedSlider</string>
- </object>
- <object class="IBToOneOutletInfo" key="xaEnableBox">
- <string key="name">xaEnableBox</string>
- <string key="candidateClassName">NSControl</string>
- </object>
- <object class="IBToOneOutletInfo" key="xaSpeedBox">
- <string key="name">xaSpeedBox</string>
- <string key="candidateClassName">NSControl</string>
- </object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
@@ -3452,10 +4027,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1060" key="NS.object.0"/>
- </object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<real value="3200" key="NS.object.0"/>
diff --git a/macosx/English.lproj/Credits.rtf b/macosx/English.lproj/Credits.rtf
index 04f82b37..c3ef8f25 100644
--- a/macosx/English.lproj/Credits.rtf
+++ b/macosx/English.lproj/Credits.rtf
@@ -1,4 +1,4 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\vieww10800\viewh8400\viewkind0
@@ -8,6 +8,7 @@
\b0 \
Gil Pedersen\
Madd the Sane\
+ Nicolas P\'e9pin-Perreault\
\
\b Icon Design:
diff --git a/macosx/English.lproj/InfoPlist.strings b/macosx/English.lproj/InfoPlist.strings
index 13b0bca3..485a44d8 100644
--- a/macosx/English.lproj/InfoPlist.strings
+++ b/macosx/English.lproj/InfoPlist.strings
@@ -3,7 +3,7 @@
CFBundleName = "PCSXR";
CFBundleShortVersionString = "PCSX-Reloaded";
CFBundleGetInfoString = "PlayStation Emulator based on PCSX-df Project.";
-NSHumanReadableCopyright = "Copyright (c) 2003-2005 PCSX Team, Gil Pedersen.\nCopyright (c) 2009-2011 PCSX-Reloaded Team.";
+NSHumanReadableCopyright = "Copyright (c) 2003-2005 PCSX Team, Gil Pedersen, Nicolas Pepin-Perreault.\nCopyright (c) 2009-2011 PCSX-Reloaded Team.";
"Playstation Emulator Plug-in" = "Playstation Emulator Plug-in";
"Playstation BIOS Image" = "Playstation BIOS Image";
"PCSXR Memory Card" = "PCSXR Memory Card";
diff --git a/macosx/English.lproj/KeyNames.plist b/macosx/English.lproj/KeyNames.plist
new file mode 100644
index 00000000..bde23943
--- /dev/null
+++ b/macosx/English.lproj/KeyNames.plist
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>12</key>
+ <string>Q</string>
+ <key>13</key>
+ <string>W</string>
+ <key>14</key>
+ <string>E</string>
+ <key>15</key>
+ <string>R</string>
+ <key>17</key>
+ <string>T</string>
+ <key>16</key>
+ <string>Y</string>
+ <key>32</key>
+ <string>U</string>
+ <key>34</key>
+ <string>I</string>
+ <key>31</key>
+ <string>O</string>
+ <key>35</key>
+ <string>P</string>
+ <key>0</key>
+ <string>A</string>
+ <key>1</key>
+ <string>S</string>
+ <key>2</key>
+ <string>D</string>
+ <key>3</key>
+ <string>F</string>
+ <key>5</key>
+ <string>G</string>
+ <key>4</key>
+ <string>H</string>
+ <key>38</key>
+ <string>J</string>
+ <key>40</key>
+ <string>K</string>
+ <key>37</key>
+ <string>L</string>
+ <key>6</key>
+ <string>Z</string>
+ <key>7</key>
+ <string>X</string>
+ <key>8</key>
+ <string>C</string>
+ <key>9</key>
+ <string>V</string>
+ <key>11</key>
+ <string>B</string>
+ <key>45</key>
+ <string>N</string>
+ <key>46</key>
+ <string>M</string>
+ <key>18</key>
+ <string>1</string>
+ <key>19</key>
+ <string>2</string>
+ <key>20</key>
+ <string>3</string>
+ <key>21</key>
+ <string>4</string>
+ <key>23</key>
+ <string>5</string>
+ <key>22</key>
+ <string>6</string>
+ <key>26</key>
+ <string>7</string>
+ <key>28</key>
+ <string>8</string>
+ <key>25</key>
+ <string>9</string>
+ <key>29</key>
+ <string>0</string>
+ <key>122</key>
+ <string>F1</string>
+ <key>120</key>
+ <string>F2</string>
+ <key>99</key>
+ <string>F3</string>
+ <key>118</key>
+ <string>F4</string>
+ <key>96</key>
+ <string>F5</string>
+ <key>97</key>
+ <string>F6</string>
+ <key>98</key>
+ <string>F7</string>
+ <key>100</key>
+ <string>F8</string>
+ <key>101</key>
+ <string>F9</string>
+ <key>109</key>
+ <string>F10</string>
+ <key>103</key>
+ <string>F11</string>
+ <key>111</key>
+ <string>F12</string>
+ <key>105</key>
+ <string>F13</string>
+ <key>107</key>
+ <string>F14</string>
+ <key>113</key>
+ <string>F15</string>
+ <key>106</key>
+ <string>F16</string>
+ <key>64</key>
+ <string>F17</string>
+ <key>79</key>
+ <string>F18</string>
+ <key>80</key>
+ <string>F19</string>
+ <key>50</key>
+ <string>`</string>
+ <key>27</key>
+ <string>-</string>
+ <key>24</key>
+ <string>=</string>
+ <key>51</key>
+ <string>Delete (Backspace)</string>
+ <key>48</key>
+ <string>Tab</string>
+ <key>33</key>
+ <string>[</string>
+ <key>30</key>
+ <string>]</string>
+ <key>42</key>
+ <string>\</string>
+ <key>41</key>
+ <string>; (Semicolon)</string>
+ <key>39</key>
+ <string>&apos; (Quote)</string>
+ <key>36</key>
+ <string>Return</string>
+ <key>43</key>
+ <string>, (Comma)</string>
+ <key>47</key>
+ <string>. (Period)</string>
+ <key>44</key>
+ <string>/</string>
+ <key>49</key>
+ <string>Space</string>
+ <key>115</key>
+ <string>Home</string>
+ <key>119</key>
+ <string>End</string>
+ <key>116</key>
+ <string>Page Up</string>
+ <key>121</key>
+ <string>Page Down</string>
+ <key>117</key>
+ <string>Forward Delete</string>
+ <key>126</key>
+ <string>Up Arrow</string>
+ <key>125</key>
+ <string>Down Arrow</string>
+ <key>123</key>
+ <string>Left Arrow</string>
+ <key>124</key>
+ <string>Right Arrow</string>
+ <key>82</key>
+ <string>NumPad 0</string>
+ <key>83</key>
+ <string>NumPad 1</string>
+ <key>84</key>
+ <string>NumPad 2</string>
+ <key>85</key>
+ <string>NumPad 3</string>
+ <key>86</key>
+ <string>NumPad 4</string>
+ <key>87</key>
+ <string>NumPad 5</string>
+ <key>88</key>
+ <string>NumPad 6</string>
+ <key>89</key>
+ <string>NumPad 7</string>
+ <key>91</key>
+ <string>NumPad 8</string>
+ <key>92</key>
+ <string>NumPad 9</string>
+ <key>71</key>
+ <string>NumPad Clear</string>
+ <key>81</key>
+ <string>NumPad =</string>
+ <key>75</key>
+ <string>NumPad /</string>
+ <key>67</key>
+ <string>NumPad *</string>
+ <key>78</key>
+ <string>NumPad -</string>
+ <key>69</key>
+ <string>NumPad +</string>
+ <key>65</key>
+ <string>NumPad .</string>
+ <key>76</key>
+ <string>NumPad Enter</string>
+ <key>53</key>
+ <string>Escape</string>
+</dict>
+</plist>
diff --git a/macosx/English.lproj/PCSXR.xib b/macosx/English.lproj/PCSXR.xib
index 0f6743f8..3af0f7cb 100644
--- a/macosx/English.lproj/PCSXR.xib
+++ b/macosx/English.lproj/PCSXR.xib
@@ -2,19 +2,19 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11C74</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.23</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <string key="IBDocument.SystemVersion">11G63</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+ <string key="IBDocument.AppKitVersion">1138.51</string>
+ <string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">1938</string>
+ <string key="NS.object.0">2844</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSCustomObject</string>
<string>NSMenu</string>
<string>NSMenuItem</string>
- <string>NSCustomObject</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -303,6 +303,15 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="1023912461">
<reference key="NSMenu" ref="186554230"/>
+ <string key="NSTitle">Slot 0</string>
+ <string key="NSKeyEquiv">0</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="926047672"/>
+ <reference key="NSMixedImage" ref="645484985"/>
+ </object>
+ <object class="NSMenuItem" id="659838401">
+ <reference key="NSMenu" ref="186554230"/>
<string key="NSTitle">Slot 1</string>
<string key="NSKeyEquiv">1</string>
<int key="NSKeyEquivModMask">1048576</int>
@@ -369,6 +378,15 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="832305532">
<reference key="NSMenu" ref="8470546"/>
+ <string key="NSTitle">Slot 0</string>
+ <string key="NSKeyEquiv">0</string>
+ <int key="NSKeyEquivModMask">1572864</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="926047672"/>
+ <reference key="NSMixedImage" ref="645484985"/>
+ </object>
+ <object class="NSMenuItem" id="781033990">
+ <reference key="NSMenu" ref="8470546"/>
<string key="NSTitle">Slot 1</string>
<string key="NSKeyEquiv">1</string>
<int key="NSKeyEquivModMask">1572864</int>
@@ -768,6 +786,22 @@
</object>
<int key="connectionID">319</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">freeze:</string>
+ <reference key="source" ref="113826207"/>
+ <reference key="destination" ref="659838401"/>
+ </object>
+ <int key="connectionID">321</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">defrost:</string>
+ <reference key="source" ref="113826207"/>
+ <reference key="destination" ref="781033990"/>
+ </object>
+ <int key="connectionID">323</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1018,6 +1052,7 @@
<reference ref="747940602"/>
<reference ref="245364309"/>
<reference ref="958472095"/>
+ <reference ref="659838401"/>
</object>
<reference key="parent" ref="124150811"/>
</object>
@@ -1070,6 +1105,7 @@
<reference ref="919615015"/>
<reference ref="480149417"/>
<reference ref="220857467"/>
+ <reference ref="781033990"/>
</object>
<reference key="parent" ref="1070611541"/>
</object>
@@ -1158,6 +1194,16 @@
<reference key="object" ref="927940433"/>
<reference key="parent" ref="164090988"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">320</int>
+ <reference key="object" ref="659838401"/>
+ <reference key="parent" ref="186554230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">322</int>
+ <reference key="object" ref="781033990"/>
+ <reference key="parent" ref="8470546"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -1213,6 +1259,8 @@
<string>311.IBPluginDependency</string>
<string>312.IBPluginDependency</string>
<string>318.IBPluginDependency</string>
+ <string>320.IBPluginDependency</string>
+ <string>322.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>56.IBPluginDependency</string>
<string>57.IBPluginDependency</string>
@@ -1221,7 +1269,7 @@
<string>83.IBPluginDependency</string>
<string>92.IBPluginDependency</string>
</object>
- <object class="NSMutableArray" key="dict.values">
+ <object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1279,6 +1327,8 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -1293,7 +1343,7 @@
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
- <int key="maxID">319</int>
+ <int key="maxID">323</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1317,7 +1367,7 @@
<string>runCD:</string>
<string>runIso:</string>
</object>
- <object class="NSMutableArray" key="dict.values">
+ <object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
@@ -1348,7 +1398,7 @@
<string>runCD:</string>
<string>runIso:</string>
</object>
- <object class="NSMutableArray" key="dict.values">
+ <object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">defrost:</string>
@@ -1420,10 +1470,6 @@
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
</object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1060" key="NS.object.0"/>
- </object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
@@ -1437,10 +1483,10 @@
<string>NSMenuCheckmark</string>
<string>NSMenuMixedState</string>
</object>
- <object class="NSMutableArray" key="dict.values">
+ <object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>{9, 8}</string>
- <string>{7, 2}</string>
+ <string>{11, 11}</string>
+ <string>{10, 3}</string>
</object>
</object>
</data>
diff --git a/macosx/ExtendedKeys.h b/macosx/ExtendedKeys.h
index 1b6475b8..24f54912 100644
--- a/macosx/ExtendedKeys.h
+++ b/macosx/ExtendedKeys.h
@@ -17,7 +17,11 @@ enum {
PSX_STOP_KEY = 0xFF1B/*XK_Escape*/,
GPU_FULLSCREEN_KEY = 0x0100,
- GPU_FPS_DISPLAY_KEY = 0xFFFF/*XK_Delete*/
+ GPU_FPS_DISPLAY_KEY = 0xFFFF,/*XK_Delete*/
+
+ // Fake HotKeys
+ GPU_HOTKEYS = 0x020,
+ GPU_FAST_FORWARD
};
#endif //__EXTENDED_KEYS_H__
diff --git a/macosx/HotkeyController.h b/macosx/HotkeyController.h
new file mode 100644
index 00000000..59492c79
--- /dev/null
+++ b/macosx/HotkeyController.h
@@ -0,0 +1,30 @@
+/**
+ * HotkeyController
+ * Nicolas Pépin-Perreault - npepinpe - 2012
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@interface HotkeyController : NSView
+{
+ NSButton *lastConfigButton;
+ NSInteger configInput;
+ NSMutableDictionary *hotkeysList;
+ NSDictionary *keyNameTable;
+ NSMutableDictionary *hotkeyOutlets;
+
+ IBOutlet NSTextField *FastForward;
+ IBOutlet NSTextField *SaveState;
+ IBOutlet NSTextField *LoadState;
+ IBOutlet NSTextField *NextState;
+ IBOutlet NSTextField *PrevState;
+}
+
+@property (assign) NSInteger configInput;
+
+- (void) initialize;
+- (BOOL) handleMouseDown:(NSEvent *)mouseEvent;
+- (IBAction) hotkeySet:(id)sender;
+- (void) hotkeyCancel;
+
+@end
diff --git a/macosx/HotkeyController.m b/macosx/HotkeyController.m
new file mode 100644
index 00000000..65ec1055
--- /dev/null
+++ b/macosx/HotkeyController.m
@@ -0,0 +1,206 @@
+/**
+ * HotkeyController.m
+ * Pcsxr
+ *
+ * Created by Nicolas Pepin-Perreault on 12-12-10.
+ *
+ * Adapted from the Cocoa port of DeSMuMe
+ */
+
+#import "HotkeyController.h"
+
+#define INPUT_HOLD_TIME 0.1
+
+@implementation HotkeyController
+
+@synthesize configInput;
+
+- (void)initialize
+{
+ lastConfigButton = nil;
+ configInput = 0;
+ hotkeysList = [[NSMutableDictionary alloc] initWithCapacity:16];
+ keyNameTable = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"KeyNames" ofType:@"plist"]];
+ hotkeyOutlets = [[NSMutableDictionary alloc] initWithCapacity:8];
+
+ [self mapOutletToIdentifier:FastForward forIdentifier:@"FastForward"];
+ [self mapOutletToIdentifier:SaveState forIdentifier:@"SaveState"];
+ [self mapOutletToIdentifier:LoadState forIdentifier:@"LoadState"];
+ [self mapOutletToIdentifier:NextState forIdentifier:@"NextState"];
+ [self mapOutletToIdentifier:PrevState forIdentifier:@"PrevState"];
+}
+
+- (void)dealloc
+{
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
+
+ [hotkeysList release];
+ [keyNameTable release];
+ [hotkeyOutlets release];
+
+ [super dealloc];
+}
+
+- (void)mapOutletToIdentifier:(id)outlet forIdentifier:(NSString*)identifier
+{
+ [hotkeyOutlets setObject:outlet forKey:identifier];
+ [self setHotkeyDisplay:identifier];
+}
+
+- (void)setHotkeyDisplay:(NSString*)keyIdent
+{
+ NSString *label = [self parseMappingDisplayString:keyIdent];
+ NSTextField *displayField = [hotkeyOutlets objectForKey:keyIdent];
+
+ if(displayField) {
+ [[displayField cell] setStringValue:label];
+ }
+}
+
+- (void)mouseDown:(NSEvent *)theEvent
+{
+ BOOL isHandled = [self handleMouseDown:theEvent];
+ if (!isHandled)
+ {
+ [super mouseDown:theEvent];
+ }
+}
+
+- (void)mouseDragged:(NSEvent *)theEvent
+{
+ [self mouseDown:theEvent];
+}
+
+- (void)rightMouseDown:(NSEvent *)theEvent
+{
+ BOOL isHandled = [self handleMouseDown:theEvent];
+ if (!isHandled)
+ {
+ [super rightMouseDown:theEvent];
+ }
+}
+
+- (void)rightMouseDragged:(NSEvent *)theEvent
+{
+ [self rightMouseDown:theEvent];
+}
+
+- (void)otherMouseDown:(NSEvent *)theEvent
+{
+ BOOL isHandled = [self handleMouseDown:theEvent];
+ if (!isHandled)
+ {
+ [super otherMouseDown:theEvent];
+ }
+}
+
+- (void)otherMouseDragged:(NSEvent *)theEvent
+{
+ [self otherMouseDown:theEvent];
+}
+
+- (BOOL) handleMouseDown:(NSEvent *)mouseEvent
+{
+ if (configInput != 0)
+ {
+ [self hotkeyCancel];
+ }
+
+ return YES;
+}
+
+
+- (void)keyDown:(NSEvent *)theEvent
+{
+ NSString *keyCode = [NSString stringWithFormat:@"%d", [theEvent keyCode]];
+ NSString *keyLabel = (NSString *)[keyNameTable valueForKey:keyCode];
+
+ if (configInput != 0)
+ {
+ // Save input
+ NSString *ident = [lastConfigButton identifier];
+ [self saveHotkey:ident device:@"NSEventKeyboard" deviceLabel:@"Keyboard" code:keyCode label:keyLabel];
+ [self setHotkeyDisplay:ident];
+ [self hotkeyCancel];
+ }
+}
+
+- (void)saveHotkey:(NSString*)keyIdent device:(NSString*)device deviceLabel:(NSString*)deviceLabel code:(NSString*)keyCode label:(NSString*)keyLabel
+{
+ NSMutableDictionary *tempUserMappings = [NSMutableDictionary dictionaryWithDictionary:[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"HotkeyBindings"]];
+ [tempUserMappings setValue:[[NSDictionary alloc] initWithObjectsAndKeys:
+ device, @"device",
+ deviceLabel, @"deviceName",
+ keyCode, @"keyCode",
+ keyLabel, @"keyLabel",
+ nil] forKey:keyIdent];
+ [[NSUserDefaults standardUserDefaults] setValue:tempUserMappings forKey:@"HotkeyBindings"];
+}
+
+- (NSString *) parseMappingDisplayString:(NSString *)keyString
+{
+ NSDictionary *userMappings = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"HotkeyBindings"];
+ NSDictionary *binding = (NSDictionary *)[userMappings valueForKey:keyString];
+
+ NSString *displayString = @"";
+ if(binding) {
+ NSString *deviceLabel = (NSString *)[binding valueForKey:@"deviceName"];
+ NSString *keyLabel = (NSString *)[binding valueForKey:@"keyLabel"];
+
+ displayString = [NSString stringWithString:deviceLabel];
+ displayString = [displayString stringByAppendingString:@": "];
+ displayString = [displayString stringByAppendingString:keyLabel];
+ }
+
+ return displayString;
+}
+
+- (IBAction) hotkeySet:(id)sender
+{
+ NSButton *theButton = (NSButton *)sender;
+
+ if (configInput && lastConfigButton != theButton)
+ {
+ [lastConfigButton setState:NSOffState];
+ }
+
+ if ([theButton state] == NSOnState)
+ {
+ lastConfigButton = theButton;
+ [hotkeysList removeAllObjects];
+ configInput = [theButton tag];
+ }
+ else
+ {
+ [self hotkeyCancel];
+ }
+
+}
+
+- (void) hotkeyCancel
+{
+ if (lastConfigButton != nil)
+ {
+ [lastConfigButton setState:NSOffState];
+ lastConfigButton = nil;
+ }
+
+ configInput = 0;
+}
+
+- (BOOL)acceptsFirstResponder
+{
+ return YES;
+}
+
+- (BOOL)becomeFirstResponder
+{
+ return YES;
+}
+
+- (BOOL)resignFirstResponder
+{
+ return YES;
+}
+
+@end
diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj
index 7af155ed..55ed00f1 100644
--- a/macosx/Pcsxr.xcodeproj/project.pbxproj
+++ b/macosx/Pcsxr.xcodeproj/project.pbxproj
@@ -7,6 +7,9 @@
objects = {
/* Begin PBXBuildFile section */
+ 02717968167884C9004AED62 /* hotkeys.m in Sources */ = {isa = PBXBuildFile; fileRef = 02717967167884C9004AED62 /* hotkeys.m */; };
+ 0280B7AD16764CC5007B8001 /* HotkeyController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0280B7AC16764CC3007B8001 /* HotkeyController.m */; };
+ 02FE55E816765F9400205CF2 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = 02FE55E616765F9400205CF2 /* KeyNames.plist */; };
28F0C3C6146521A700A90285 /* Configuration.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F0C3C4146521A700A90285 /* Configuration.xib */; };
28F0C3C9146521B000A90285 /* PCSXR.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F0C3C7146521B000A90285 /* PCSXR.xib */; };
28F0C3CC146521B700A90285 /* AddPluginSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F0C3CA146521B700A90285 /* AddPluginSheet.xib */; };
@@ -221,6 +224,11 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 02717967167884C9004AED62 /* hotkeys.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = hotkeys.m; sourceTree = "<group>"; };
+ 02717969167884DF004AED62 /* hotkeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hotkeys.h; sourceTree = "<group>"; };
+ 0280B7AB16764CC3007B8001 /* HotkeyController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HotkeyController.h; sourceTree = "<group>"; };
+ 0280B7AC16764CC3007B8001 /* HotkeyController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HotkeyController.m; sourceTree = "<group>"; };
+ 02FE55E716765F9400205CF2 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = English; path = KeyNames.plist; sourceTree = "<group>"; };
28F0C3C5146521A700A90285 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Configuration.xib; sourceTree = "<group>"; };
28F0C3C8146521B000A90285 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = PCSXR.xib; sourceTree = "<group>"; };
28F0C3CB146521B700A90285 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = AddPluginSheet.xib; sourceTree = "<group>"; };
@@ -249,7 +257,7 @@
2BBB1127051DC00500B84448 /* PluginList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = PluginList.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
2BBB1787051E0D9700B84448 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = Credits.rtf; sourceTree = "<group>"; };
2BBB1791051E113B00B84448 /* EmuThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuThread.h; sourceTree = "<group>"; };
- 2BBB1792051E113B00B84448 /* EmuThread.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 2; path = EmuThread.m; sourceTree = "<group>"; };
+ 2BBB1792051E113B00B84448 /* EmuThread.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = EmuThread.m; sourceTree = "<group>"; };
2BBB17DA051E4D0F00B84448 /* Plugin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Plugin.c; sourceTree = SOURCE_ROOT; };
2BC4786204C7FD3600CAB520 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
559366C012B694DF004ACC1E /* iGte.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iGte.h; sourceTree = "<group>"; };
@@ -415,6 +423,7 @@
2BA178AD0514CE260026D74D /* Resources */ = {
isa = PBXGroup;
children = (
+ 02FE55E616765F9400205CF2 /* KeyNames.plist */,
2BBB1786051E0D9700B84448 /* Credits.rtf */,
28F0C3C4146521A700A90285 /* Configuration.xib */,
2BA178B20514CE260026D74D /* InfoPlist.strings */,
@@ -475,6 +484,10 @@
55BBA69814953887003B2CEC /* PcsxrDiscHandler.m */,
55BBA69A14958399003B2CEC /* PcsxrFreezeStateHandler.h */,
55BBA69B1495839A003B2CEC /* PcsxrFreezeStateHandler.m */,
+ 0280B7AB16764CC3007B8001 /* HotkeyController.h */,
+ 0280B7AC16764CC3007B8001 /* HotkeyController.m */,
+ 02717967167884C9004AED62 /* hotkeys.m */,
+ 02717969167884DF004AED62 /* hotkeys.h */,
);
name = MacOSX;
sourceTree = "<group>";
@@ -770,6 +783,7 @@
559DACEE146C72FF00C5DF71 /* Localizable.strings in Resources */,
55A90223147D7C7A0037E18F /* MemCardManager.xib in Resources */,
55C7A214148B2B3800C22ABC /* PcsxrMemCardDocument.xib in Resources */,
+ 02FE55E816765F9400205CF2 /* KeyNames.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -826,6 +840,8 @@
55BBA69614945628003B2CEC /* PcsxrPluginHandler.m in Sources */,
55BBA69914953887003B2CEC /* PcsxrDiscHandler.m in Sources */,
55BBA69C1495839A003B2CEC /* PcsxrFreezeStateHandler.m in Sources */,
+ 0280B7AD16764CC5007B8001 /* HotkeyController.m in Sources */,
+ 02717968167884C9004AED62 /* hotkeys.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -870,6 +886,14 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
+ 02FE55E616765F9400205CF2 /* KeyNames.plist */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 02FE55E716765F9400205CF2 /* English */,
+ );
+ name = KeyNames.plist;
+ sourceTree = "<group>";
+ };
28F0C3C4146521A700A90285 /* Configuration.xib */ = {
isa = PBXVariantGroup;
children = (
@@ -972,7 +996,7 @@
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_ASM_KEYWORD = YES;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
PCSXRCORE,
diff --git a/macosx/PcsxrController.h b/macosx/PcsxrController.h
index 8d5be9d7..b89587c0 100644
--- a/macosx/PcsxrController.h
+++ b/macosx/PcsxrController.h
@@ -31,5 +31,8 @@
+ (void)setConfigFromDefaults;
+ (void)setDefaultFromConfig:(NSString *)defaultKey;
+ (BOOL)biosAvailable;
++ (NSString*)saveStatePath:(int)slot;
++ (void)saveState:(int)num;
++ (void)loadState:(int)num;
@end
diff --git a/macosx/PcsxrController.m b/macosx/PcsxrController.m
index 20f4d93d..f23d7dfd 100644
--- a/macosx/PcsxrController.m
+++ b/macosx/PcsxrController.m
@@ -211,15 +211,23 @@ static NSString *HandleBinCue(NSString *toHandle)
- (IBAction)freeze:(id)sender
{
NSInteger num = [sender tag];
- NSString *path = [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)num]];
+ [PcsxrController saveState:num];
+}
- [EmuThread freezeAt:path which:num-1];
++ (void)saveState:(int)num
+{
+ [EmuThread freezeAt:[PcsxrController saveStatePath:num] which:num];
}
- (IBAction)defrost:(id)sender
{
- NSString *path = [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)[sender tag]]];
- [EmuThread defrostAt:path];
+ NSInteger num = [sender tag];
+ [PcsxrController loadState:num];
+}
+
++ (void)loadState:(int)num
+{
+ [EmuThread defrostAt:[PcsxrController saveStatePath:num]];
}
- (IBAction)fullscreen:(id)sender
@@ -532,6 +540,15 @@ static NSString *HandleBinCue(NSString *toHandle)
[PcsxrController setConfigFromDefaults];
}
++ (NSString*)saveStatePath:(int)slot
+{
+ if(slot >= 0) {
+ return [saveStatePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%s-%3.3ld.pcsxrstate", CdromId, (long)slot]];
+ }
+
+ return saveStatePath;
+}
+
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
{
NSError *err = nil;
diff --git a/macosx/hotkeys.h b/macosx/hotkeys.h
new file mode 100644
index 00000000..592ea0b7
--- /dev/null
+++ b/macosx/hotkeys.h
@@ -0,0 +1,15 @@
+//
+// hotkeys.h
+// Pcsxr
+//
+// Created by Nicolas Pepin-Perreault on 12-12-12.
+//
+//
+
+#ifndef Pcsxr_hotkeys_h
+#define Pcsxr_hotkeys_h
+
+void attachHotkeys();
+void detachHotkeys();
+
+#endif
diff --git a/macosx/main.m b/macosx/main.m
index 9cf60eb3..2508b21e 100644
--- a/macosx/main.m
+++ b/macosx/main.m
@@ -14,6 +14,7 @@
#include "psxcommon.h"
#include "sio.h"
#import <IOKit/pwr_mgt/IOPMLib.h>
+#import "hotkeys.h"
static BOOL sysInited = NO;
//#define EMU_LOG
@@ -76,6 +77,8 @@ int SysInit() {
if (success != kIOReturnSuccess) {
NSLog(@"Unable to stop sleep, error code %d", success);
}
+
+ attachHotkeys();
return 0;
}
@@ -164,6 +167,7 @@ void SysClose() {
if (emuLog != NULL) fclose(emuLog);
sysInited = NO;
+ detachHotkeys();
}
void OnFile_Exit() {
diff --git a/macosx/plugins/DFInput/English.lproj/Credits.rtf b/macosx/plugins/DFInput/English.lproj/Credits.rtf
index 1a837294..894a64cb 100644
--- a/macosx/plugins/DFInput/English.lproj/Credits.rtf
+++ b/macosx/plugins/DFInput/English.lproj/Credits.rtf
@@ -1,17 +1,18 @@
-{\rtf1\mac\ansicpg10025\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
+{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\vieww9000\viewh9000\viewkind0
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\f0\b\fs24 \cf0 Macintosh Port:
-\f1\b0 \
+\b0 \
Wei Mingzhi\
Gil Pedersen\
+ Nicolas P\'e9pin-Perreault\
\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
-\f0\b \cf0 Original coder:
-\f1\b0 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\b \cf0 Original coder:
+\b0 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\cf0 Wei Mingzhi} \ No newline at end of file
diff --git a/macosx/plugins/DFInput/English.lproj/NetPcsxrHIDInputPluginMain.xib b/macosx/plugins/DFInput/English.lproj/NetPcsxrHIDInputPluginMain.xib
index e519f5e7..ccf49bd8 100644
--- a/macosx/plugins/DFInput/English.lproj/NetPcsxrHIDInputPluginMain.xib
+++ b/macosx/plugins/DFInput/English.lproj/NetPcsxrHIDInputPluginMain.xib
@@ -2,34 +2,34 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11C74</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.23</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <string key="IBDocument.SystemVersion">11G63</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+ <string key="IBDocument.AppKitVersion">1138.51</string>
+ <string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">1938</string>
+ <string key="NS.object.0">2844</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
- <string>NSPopUpButtonCell</string>
- <string>NSTextField</string>
- <string>NSScroller</string>
- <string>NSTableHeaderView</string>
<string>NSButton</string>
- <string>NSPopUpButton</string>
- <string>NSScrollView</string>
<string>NSButtonCell</string>
- <string>NSTextFieldCell</string>
+ <string>NSCustomObject</string>
+ <string>NSCustomView</string>
<string>NSMenu</string>
<string>NSMenuItem</string>
- <string>NSTableView</string>
+ <string>NSPopUpButton</string>
+ <string>NSPopUpButtonCell</string>
+ <string>NSScrollView</string>
+ <string>NSScroller</string>
<string>NSTabView</string>
- <string>NSCustomView</string>
<string>NSTabViewItem</string>
+ <string>NSTableColumn</string>
+ <string>NSTableHeaderView</string>
+ <string>NSTableView</string>
+ <string>NSTextField</string>
+ <string>NSTextFieldCell</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
- <string>NSTableColumn</string>
- <string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -69,7 +69,6 @@
<int key="NSvFlags">274</int>
<string key="NSFrame">{{13, 40}, {437, 378}}</string>
<reference key="NSSuperview" ref="608407176"/>
- <reference key="NSWindow"/>
<array class="NSMutableArray" key="NSTabViewItems">
<object class="NSTabViewItem" id="370841406">
<string key="NSIdentifier">pad1</string>
@@ -82,14 +81,12 @@
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{417, 332}</string>
<reference key="NSSuperview" ref="483107053"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
<string key="NSExtension">NSResponder</string>
</object>
</array>
<string key="NSFrame">{{10, 33}, {417, 332}}</string>
<reference key="NSSuperview" ref="1024964375"/>
- <reference key="NSWindow"/>
</object>
<string key="NSLabel">Controller 1</string>
<object class="NSColor" key="NSColor" id="809892731">
@@ -143,7 +140,6 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{328, 12}, {121, 32}}</string>
<reference key="NSSuperview" ref="608407176"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="180659799">
<int key="NSCellFlags">67239424</int>
@@ -165,7 +161,6 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{207, 12}, {121, 32}}</string>
<reference key="NSSuperview" ref="608407176"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="202058205">
<int key="NSCellFlags">67239424</int>
@@ -187,7 +182,6 @@
</array>
<string key="NSFrameSize">{463, 424}</string>
<reference key="NSSuperview"/>
- <reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{310, 182}</string>
@@ -200,7 +194,7 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="11581300">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">274</int>
+ <int key="NSvFlags">314</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="675379878">
<reference key="NSNextResponder" ref="11581300"/>
@@ -209,7 +203,7 @@
<object class="NSTableView" id="1024738144">
<reference key="NSNextResponder" ref="675379878"/>
<int key="NSvFlags">256</int>
- <string key="NSFrameSize">{375, 233}</string>
+ <string key="NSFrameSize">{366, 233}</string>
<reference key="NSSuperview" ref="675379878"/>
<reference key="NSWindow"/>
<int key="NSTag">1</int>
@@ -217,21 +211,23 @@
<object class="NSTableHeaderView" key="NSHeaderView" id="901683476">
<reference key="NSNextResponder" ref="98843995"/>
<int key="NSvFlags">256</int>
- <string key="NSFrameSize">{375, 17}</string>
+ <string key="NSFrameSize">{366, 17}</string>
<reference key="NSSuperview" ref="98843995"/>
<reference key="NSWindow"/>
<reference key="NSTableView" ref="1024738144"/>
</object>
- <object class="_NSCornerView" key="NSCornerView">
- <nil key="NSNextResponder"/>
+ <object class="_NSCornerView" key="NSCornerView" id="600510097">
+ <reference key="NSNextResponder" ref="11581300"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{361, 0}, {16, 17}}</string>
+ <string key="NSFrame">{{367, 0}, {16, 17}}</string>
+ <reference key="NSSuperview" ref="11581300"/>
+ <reference key="NSWindow"/>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="559669958">
<string key="NSIdentifier">key</string>
- <double key="NSWidth">76</double>
- <double key="NSMinWidth">76</double>
+ <double key="NSWidth">120</double>
+ <double key="NSMinWidth">100</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
@@ -276,7 +272,7 @@
</object>
<object class="NSTableColumn" id="486323483">
<string key="NSIdentifier">button</string>
- <double key="NSWidth">292.96499633789062</double>
+ <double key="NSWidth">239.96499633789062</double>
<double key="NSMinWidth">46.965000152587891</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
@@ -320,7 +316,7 @@
</object>
</object>
<double key="NSRowHeight">14</double>
- <int key="NSTvFlags">851443712</int>
+ <int key="NSTvFlags">1925185536</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSGridStyleMask">1</int>
@@ -332,7 +328,7 @@
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
- <string key="NSFrame">{{1, 17}, {375, 233}}</string>
+ <string key="NSFrame">{{1, 17}, {366, 233}}</string>
<reference key="NSSuperview" ref="11581300"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1024738144"/>
@@ -348,7 +344,7 @@
<object class="NSScroller" id="917222594">
<reference key="NSNextResponder" ref="11581300"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{361, 17}, {15, 233}}</string>
+ <string key="NSFrame">{{367, 17}, {15, 233}}</string>
<reference key="NSSuperview" ref="11581300"/>
<reference key="NSWindow"/>
<reference key="NSTarget" ref="11581300"/>
@@ -372,7 +368,7 @@
<array class="NSMutableArray" key="NSSubviews">
<reference ref="901683476"/>
</array>
- <string key="NSFrame">{{1, 0}, {375, 17}}</string>
+ <string key="NSFrame">{{1, 0}, {366, 17}}</string>
<reference key="NSSuperview" ref="11581300"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="901683476"/>
@@ -380,8 +376,9 @@
<reference key="NSBGColor" ref="650028954"/>
<int key="NScvFlags">4</int>
</object>
+ <reference ref="600510097"/>
</array>
- <string key="NSFrame">{{20, 42}, {377, 251}}</string>
+ <string key="NSFrame">{{20, 42}, {383, 251}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="675379878"/>
@@ -390,12 +387,13 @@
<reference key="NSHScroller" ref="229079282"/>
<reference key="NSContentView" ref="675379878"/>
<reference key="NSHeaderClipView" ref="98843995"/>
+ <reference key="NSCornerView" ref="600510097"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBgAAAQYAAAA</bytes>
</object>
<object class="NSPopUpButton" id="633744190">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{295, 297}, {105, 22}}</string>
+ <int key="NSvFlags">303</int>
+ <string key="NSFrame">{{301, 297}, {105, 22}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<int key="NSTag">2</int>
@@ -464,8 +462,8 @@
</object>
<object class="NSTextField" id="21744521">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">291</int>
- <string key="NSFrame">{{259, 302}, {34, 14}}</string>
+ <int key="NSvFlags">303</int>
+ <string key="NSFrame">{{265, 302}, {34, 14}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
@@ -481,8 +479,8 @@
</object>
<object class="NSTextField" id="1037715050">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{17, 20}, {383, 14}}</string>
+ <int key="NSvFlags">303</int>
+ <string key="NSFrame">{{23, 20}, {383, 14}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
@@ -501,8 +499,8 @@
</object>
<object class="NSPopUpButton" id="123438231">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{62, 297}, {195, 22}}</string>
+ <int key="NSvFlags">303</int>
+ <string key="NSFrame">{{68, 297}, {195, 22}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<int key="NSTag">1</int>
@@ -550,8 +548,8 @@
</object>
<object class="NSTextField" id="297546866">
<reference key="NSNextResponder" ref="610373624"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{17, 299}, {43, 17}}</string>
+ <int key="NSvFlags">303</int>
+ <string key="NSFrame">{{20, 299}, {48, 19}}</string>
<reference key="NSSuperview" ref="610373624"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
@@ -566,7 +564,7 @@
</object>
</object>
</array>
- <string key="NSFrameSize">{417, 336}</string>
+ <string key="NSFrameSize">{423, 336}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSClassName">NetPcsxrHIDInputPluginPadView</string>
@@ -1035,6 +1033,14 @@
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
+ <string key="className">NetPcsxrHIDInputPluginMappingCell</string>
+ <string key="superclassName">NSTextFieldCell</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/NetPcsxrHIDInputPluginMappingCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NetPcsxrHIDInputPluginPadController</string>
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -1058,15 +1064,11 @@
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1060" key="NS.object.0"/>
- </object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
- <string key="NSMenuCheckmark">{9, 8}</string>
- <string key="NSMenuMixedState">{7, 2}</string>
+ <string key="NSMenuCheckmark">{11, 11}</string>
+ <string key="NSMenuMixedState">{10, 3}</string>
</dictionary>
</data>
</archive>
diff --git a/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj b/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
index 794a2cc9..387d04cc 100644
--- a/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
+++ b/macosx/plugins/DFXVideo/PeopsSoftGPU.xcodeproj/project.pbxproj
@@ -31,6 +31,7 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ 0271796B1678A767004AED62 /* ExtendedKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtendedKeys.h; path = ../../ExtendedKeys.h; sourceTree = "<group>"; };
28586CC814651E9B0082B8EC /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/NetSfPeopsSoftGPUConfig.xib; sourceTree = "<group>"; };
28586CCA14651EAB0082B8EC /* NetSfPeopsSoftGPUInterface.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NetSfPeopsSoftGPUInterface.xib; sourceTree = "<group>"; };
2B038C06069183300082466B /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@@ -39,7 +40,6 @@
2B3E5DF0062B36FB001D796E /* PluginWindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginWindowController.h; path = macsrc/PluginWindowController.h; sourceTree = SOURCE_ROOT; };
2B3E5DF1062B36FB001D796E /* PluginWindowController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginWindowController.m; path = macsrc/PluginWindowController.m; sourceTree = SOURCE_ROOT; };
2B51949E06B3D2D200744730 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = /System/Library/Frameworks/GLUT.framework; sourceTree = "<absolute>"; };
- 2B57868106BE7B3700BBA288 /* ExtendedKeys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ExtendedKeys.h; path = macsrc/ExtendedKeys.h; sourceTree = SOURCE_ROOT; };
2B957EAE0635DFE400543905 /* PluginWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginWindow.h; path = macsrc/PluginWindow.h; sourceTree = SOURCE_ROOT; };
2B957EAF0635DFE400543905 /* PluginWindow.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginWindow.m; path = macsrc/PluginWindow.m; sourceTree = SOURCE_ROOT; };
2B959E4306342D32000F2A2D /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
@@ -118,6 +118,7 @@
2BD2E2F40779F50B00657C69 /* macsrc */ = {
isa = PBXGroup;
children = (
+ 0271796B1678A767004AED62 /* ExtendedKeys.h */,
2BB260A60777462E00F6854C /* PluginConfigController.h */,
2BB260A70777462E00F6854C /* PluginConfigController.m */,
2B3E5DF0062B36FB001D796E /* PluginWindowController.h */,
@@ -127,7 +128,6 @@
2BAF4FC90632967A00DB9A16 /* PluginGLView.h */,
2BAF4FCA0632967A00DB9A16 /* PluginGLView.m */,
2B3E5D64062B2CC1001D796E /* drawgl.m */,
- 2B57868106BE7B3700BBA288 /* ExtendedKeys.h */,
5555E0CA160695BF00C0A310 /* SGPUPreferences.h */,
);
name = macsrc;
diff --git a/macosx/plugins/DFXVideo/macsrc/ExtendedKeys.h b/macosx/plugins/DFXVideo/macsrc/ExtendedKeys.h
index 1b6475b8..24f54912 100644
--- a/macosx/plugins/DFXVideo/macsrc/ExtendedKeys.h
+++ b/macosx/plugins/DFXVideo/macsrc/ExtendedKeys.h
@@ -17,7 +17,11 @@ enum {
PSX_STOP_KEY = 0xFF1B/*XK_Escape*/,
GPU_FULLSCREEN_KEY = 0x0100,
- GPU_FPS_DISPLAY_KEY = 0xFFFF/*XK_Delete*/
+ GPU_FPS_DISPLAY_KEY = 0xFFFF,/*XK_Delete*/
+
+ // Fake HotKeys
+ GPU_HOTKEYS = 0x020,
+ GPU_FAST_FORWARD
};
#endif //__EXTENDED_KEYS_H__
diff --git a/macosx/plugins/DFXVideo/macsrc/drawgl.m b/macosx/plugins/DFXVideo/macsrc/drawgl.m
index 18d3762a..be679143 100644
--- a/macosx/plugins/DFXVideo/macsrc/drawgl.m
+++ b/macosx/plugins/DFXVideo/macsrc/drawgl.m
@@ -175,6 +175,9 @@ void ShowTextGpuPic(void)
void HandleKey(int keycode)
{
switch (keycode) {
+ case GPU_FAST_FORWARD:
+ UseFrameLimit ^= 1;
+ break;
case GPU_FULLSCREEN_KEY:
[gameController setFullscreen:![gameController fullscreen]];
break;
diff --git a/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj b/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
index 7b38805f..20926fce 100644
--- a/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
+++ b/macosx/plugins/PeopsXgl/PeopsXGL.xcodeproj/project.pbxproj
@@ -31,6 +31,7 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ 0271796D1678A778004AED62 /* ExtendedKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExtendedKeys.h; path = ../../ExtendedKeys.h; sourceTree = "<group>"; };
28586CBD14651D960082B8EC /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = plugins/PeopsXgl/English.lproj/NetSfPeopsOpenGLConfig.xib; sourceTree = "<group>"; };
28586CBF14651E560082B8EC /* NetSfPeopsOpenGLGPUInterface.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NetSfPeopsOpenGLGPUInterface.xib; sourceTree = "<group>"; };
2B038C06069183300082466B /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@@ -40,7 +41,6 @@
2BAF50930632BB1A00DB9A16 /* PeopsXGL.psxplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PeopsXGL.psxplugin; sourceTree = BUILT_PRODUCTS_DIR; };
2BD2E768077AF53E00657C69 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
3F31AF6A1302D4B600CBB551 /* drawgl.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = drawgl.m; path = macsrc/drawgl.m; sourceTree = SOURCE_ROOT; };
- 3F31AF6B1302D4B600CBB551 /* ExtendedKeys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ExtendedKeys.h; path = macsrc/ExtendedKeys.h; sourceTree = SOURCE_ROOT; };
3F31AF6E1302D4B600CBB551 /* PluginGLView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginGLView.h; path = macsrc/PluginGLView.h; sourceTree = SOURCE_ROOT; };
3F31AF6F1302D4B600CBB551 /* PluginGLView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PluginGLView.m; path = macsrc/PluginGLView.m; sourceTree = SOURCE_ROOT; };
3F31AF701302D4B600CBB551 /* PluginWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PluginWindow.h; path = macsrc/PluginWindow.h; sourceTree = SOURCE_ROOT; };
@@ -119,11 +119,11 @@
2BD2E2F40779F50B00657C69 /* macsrc */ = {
isa = PBXGroup;
children = (
+ 0271796D1678A778004AED62 /* ExtendedKeys.h */,
3F7F38021307999800556C34 /* NetSfPeopsOpenGLPluginConfigController.h */,
3F7F38031307999800556C34 /* NetSfPeopsOpenGLPluginConfigController.m */,
55F36E4A146C9F9900718DE6 /* drawgl.h */,
3F31AF6A1302D4B600CBB551 /* drawgl.m */,
- 3F31AF6B1302D4B600CBB551 /* ExtendedKeys.h */,
3F31AF6E1302D4B600CBB551 /* PluginGLView.h */,
3F31AF6F1302D4B600CBB551 /* PluginGLView.m */,
3F31AF701302D4B600CBB551 /* PluginWindow.h */,
@@ -305,7 +305,7 @@
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 1;
+ GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"PCSXRPLUG=PeopsXGL",
diff --git a/macosx/plugins/PeopsXgl/macsrc/ExtendedKeys.h b/macosx/plugins/PeopsXgl/macsrc/ExtendedKeys.h
index 1b6475b8..24f54912 100644
--- a/macosx/plugins/PeopsXgl/macsrc/ExtendedKeys.h
+++ b/macosx/plugins/PeopsXgl/macsrc/ExtendedKeys.h
@@ -17,7 +17,11 @@ enum {
PSX_STOP_KEY = 0xFF1B/*XK_Escape*/,
GPU_FULLSCREEN_KEY = 0x0100,
- GPU_FPS_DISPLAY_KEY = 0xFFFF/*XK_Delete*/
+ GPU_FPS_DISPLAY_KEY = 0xFFFF,/*XK_Delete*/
+
+ // Fake HotKeys
+ GPU_HOTKEYS = 0x020,
+ GPU_FAST_FORWARD
};
#endif //__EXTENDED_KEYS_H__
diff --git a/macosx/plugins/PeopsXgl/macsrc/drawgl.m b/macosx/plugins/PeopsXgl/macsrc/drawgl.m
index dcf9e675..5a75efab 100644
--- a/macosx/plugins/PeopsXgl/macsrc/drawgl.m
+++ b/macosx/plugins/PeopsXgl/macsrc/drawgl.m
@@ -233,6 +233,9 @@ void ShowTextGpuPic(void)
void HandleKey(int keycode)
{
switch (keycode) {
+ case GPU_FAST_FORWARD:
+ bUseFrameLimit = !bUseFrameLimit;
+ break;
case GPU_FULLSCREEN_KEY:
[gameController setFullscreen:![gameController fullscreen]];
break;