summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-03 00:39:53 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-03 00:39:53 +0000
commite68904da2ee403030e454bad73cd8dcfe6d3715c (patch)
tree048ba3bb5bdf0b6a956826caaa0c9e5dfb0681ba
parentf9a250d60e621b63cc77d432f42ae700ff3e249b (diff)
downloadpcsxr-e68904da2ee403030e454bad73cd8dcfe6d3715c.tar.gz
Apply patch 13980, with fixes to get it working properly. This allows a cheat interface for OS X.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83306 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--macosx/CheatController.h21
-rw-r--r--macosx/CheatController.m91
-rw-r--r--macosx/English.lproj/CheatWindow.xib789
-rw-r--r--macosx/English.lproj/PCSXR.xib56
-rw-r--r--macosx/Pcsxr.xcodeproj/project.pbxproj19
-rwxr-xr-xmacosx/PcsxrController.h4
-rwxr-xr-xmacosx/PcsxrController.m26
7 files changed, 986 insertions, 20 deletions
diff --git a/macosx/CheatController.h b/macosx/CheatController.h
new file mode 100644
index 00000000..671f028d
--- /dev/null
+++ b/macosx/CheatController.h
@@ -0,0 +1,21 @@
+//
+// CheatController.h
+// Pcsxr
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface CheatController : NSWindowController <NSWindowDelegate>
+{
+ IBOutlet NSTableView *cheatView;
+}
+
+-(IBAction)SaveCheats:(id)sender;
+-(IBAction)LoadCheats:(id)sender;
+-(IBAction)clear:(id)sender;
+-(IBAction)close:(id)sender;
+
+-(NSInteger)numberOfRowsInTableView:(NSTableView *)view;
+-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)col row:(NSInteger)idx;
+-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row;
+@end
diff --git a/macosx/CheatController.m b/macosx/CheatController.m
new file mode 100644
index 00000000..81fe9544
--- /dev/null
+++ b/macosx/CheatController.m
@@ -0,0 +1,91 @@
+//
+// CheatController.m
+// Pcsxr
+//
+
+#import <Cocoa/Cocoa.h>
+#include "psxcommon.h"
+#include "cheat.h"
+#import "CheatController.h"
+#import "ARCBridge.h"
+
+@implementation CheatController
+
+- (id)init
+{
+ self = [self initWithWindowNibName:@"CheatWindow"];
+ return self;
+}
+
+- (void)refresh
+{
+ [cheatView reloadData];
+}
+
+- (NSInteger)numberOfRowsInTableView:(NSTableView *)view
+{
+ return NumCheats;
+}
+
+- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)col row:(NSInteger)idx
+{
+ if (idx >= NumCheats)
+ return nil;
+ NSString *ident = [col identifier];
+ if ([ident isEqualToString:@"COL_NAME"]) {
+ return [NSString stringWithCString:Cheats[idx].Descr encoding:NSUTF8StringEncoding];
+ }
+ if ([ident isEqualToString:@"COL_ENABLE"]) {
+ return [NSNumber numberWithInt: Cheats[idx].Enabled ? NSOnState : NSOffState];
+ }
+ NSLog(@"Unknown column identifier: %@", ident);
+ return nil;
+}
+
+- (void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)col row:(NSInteger)row
+{
+ if (row >= NumCheats)
+ return;
+ NSString *ident = [col identifier];
+ if ([ident isEqualToString:@"COL_ENABLE"]) {
+ Cheats[row].Enabled = [object integerValue] == NSOnState;
+ }
+}
+
+- (IBAction)LoadCheats:(id)sender
+{
+ NSOpenPanel *openDlg = RETAINOBJ([NSOpenPanel openPanel]);
+ [openDlg setCanChooseFiles:YES];
+ [openDlg setCanChooseDirectories:NO];
+
+ if ([openDlg runModal] == NSFileHandlingPanelOKButton) {
+ NSArray *files = [openDlg URLs];
+ LoadCheats((const char *)[[[files objectAtIndex:0] path] fileSystemRepresentation]);
+ [self refresh];
+ }
+ RELEASEOBJ(openDlg);
+}
+
+- (IBAction)SaveCheats:(id)sender
+{
+ NSSavePanel *saveDlg = RETAINOBJ([NSSavePanel savePanel]);
+ [saveDlg setPrompt:NSLocalizedString(@"Save Cheats", nil)];
+ if ([saveDlg runModal] == NSFileHandlingPanelOKButton) {
+ NSURL *url = [saveDlg URL];
+ SaveCheats((const char *)[[url path] fileSystemRepresentation]);
+ }
+ RELEASEOBJ(saveDlg);
+}
+
+- (IBAction)clear:(id)sender
+{
+ ClearAllCheats();
+ [self refresh];
+}
+
+- (IBAction)close:(id)sender
+{
+ [[self window] close];
+}
+
+@end
diff --git a/macosx/English.lproj/CheatWindow.xib b/macosx/English.lproj/CheatWindow.xib
new file mode 100644
index 00000000..227fea32
--- /dev/null
+++ b/macosx/English.lproj/CheatWindow.xib
@@ -0,0 +1,789 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1070</int>
+ <string key="IBDocument.SystemVersion">12C60</string>
+ <string key="IBDocument.InterfaceBuilderVersion">3084</string>
+ <string key="IBDocument.AppKitVersion">1187.34</string>
+ <string key="IBDocument.HIToolboxVersion">625.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">3084</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSButton</string>
+ <string>NSButtonCell</string>
+ <string>NSCustomObject</string>
+ <string>NSScrollView</string>
+ <string>NSScroller</string>
+ <string>NSTableColumn</string>
+ <string>NSTableHeaderView</string>
+ <string>NSTableView</string>
+ <string>NSTextFieldCell</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">CheatController</string>
+ </object>
+ <object class="NSCustomObject" id="1003">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="1004">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSWindowTemplate" id="1005">
+ <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{196, 153}, {649, 357}}</string>
+ <int key="NSWTFlags">1618477056</int>
+ <string key="NSWindowTitle">Cheats</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <nil key="NSViewClass"/>
+ <nil key="NSUserInterfaceItemIdentifier"/>
+ <object class="NSView" key="NSWindowView" id="1006">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSButton" id="1059773594">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{145, 10}, {129, 32}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="606864501"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="710534927">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Save Cheats…</string>
+ <object class="NSFont" key="NSSupport" id="948921760">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">1044</int>
+ </object>
+ <reference key="NSControlView" ref="1059773594"/>
+ <int key="NSButtonFlags">-2038284288</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ <object class="NSButton" id="9746913">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{14, 10}, {131, 32}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1059773594"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="332020564">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Load Cheats…</string>
+ <reference key="NSSupport" ref="948921760"/>
+ <reference key="NSControlView" ref="9746913"/>
+ <int key="NSButtonFlags">-2038284288</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ <object class="NSScrollView" id="45503994">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSClipView" id="789563581">
+ <reference key="NSNextResponder" ref="45503994"/>
+ <int key="NSvFlags">2304</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTableView" id="368269043">
+ <reference key="NSNextResponder" ref="789563581"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{607, 266}</string>
+ <reference key="NSSuperview" ref="789563581"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="658965032"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <bool key="NSControlAllowsExpansionToolTips">YES</bool>
+ <object class="NSTableHeaderView" key="NSHeaderView" id="166632435">
+ <reference key="NSNextResponder" ref="1067501353"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{607, 17}</string>
+ <reference key="NSSuperview" ref="1067501353"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="789563581"/>
+ <reference key="NSTableView" ref="368269043"/>
+ </object>
+ <object class="_NSCornerView" key="NSCornerView">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{224, 0}, {16, 17}}</string>
+ <reference key="NSNextKeyView" ref="789563581"/>
+ </object>
+ <object class="NSMutableArray" key="NSTableColumns">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTableColumn" id="567336110">
+ <string key="NSIdentifier">COL_ENABLE</string>
+ <double key="NSWidth">48.40234375</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75497536</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Enabled</string>
+ <object class="NSFont" key="NSSupport" id="26">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">11</double>
+ <int key="NSfFlags">3100</int>
+ </object>
+ <object class="NSColor" key="NSBackgroundColor" id="86720929">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="385617573">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">headerTextColor</string>
+ <object class="NSColor" key="NSColor" id="930545005">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSButtonCell" key="NSDataCell" id="1049516493">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="948921760"/>
+ <reference key="NSControlView" ref="368269043"/>
+ <int key="NSButtonFlags">1211912448</int>
+ <int key="NSButtonFlags2">2</int>
+ <object class="NSCustomResource" key="NSNormalImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSSwitch</string>
+ </object>
+ <object class="NSButtonImageSource" key="NSAlternateImage">
+ <string key="NSImageName">NSSwitch</string>
+ </object>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="368269043"/>
+ </object>
+ <object class="NSTableColumn" id="663899919">
+ <string key="NSIdentifier">COL_NAME</string>
+ <double key="NSWidth">552.51953125</double>
+ <double key="NSMinWidth">40</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75497536</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Name</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSBackgroundColor" ref="86720929"/>
+ <reference key="NSTextColor" ref="385617573"/>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="418738496">
+ <int key="NSCellFlags">337641536</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents">Text Cell</string>
+ <reference key="NSSupport" ref="948921760"/>
+ <reference key="NSControlView" ref="368269043"/>
+ <object class="NSColor" key="NSBackgroundColor" id="550161491">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlBackgroundColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <reference key="NSColor" ref="930545005"/>
+ </object>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <reference key="NSTableView" ref="368269043"/>
+ </object>
+ </object>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">2</double>
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="NSGridColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">gridColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ </object>
+ <double key="NSRowHeight">17</double>
+ <int key="NSTvFlags">1388314624</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <int key="NSColumnAutoresizingStyle">4</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">NO</bool>
+ <int key="NSTableViewDraggingDestinationStyle">0</int>
+ <int key="NSTableViewGroupRowStyle">1</int>
+ </object>
+ </object>
+ <string key="NSFrame">{{1, 17}, {607, 266}}</string>
+ <reference key="NSSuperview" ref="45503994"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="368269043"/>
+ <reference key="NSDocView" ref="368269043"/>
+ <reference key="NSBGColor" ref="550161491"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="658965032">
+ <reference key="NSNextResponder" ref="45503994"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{224, 17}, {15, 102}}</string>
+ <reference key="NSSuperview" ref="45503994"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="896214539"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <reference key="NSTarget" ref="45503994"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.93927125506072873</double>
+ </object>
+ <object class="NSScroller" id="896214539">
+ <reference key="NSNextResponder" ref="45503994"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{1, 249}, {607, 15}}</string>
+ <reference key="NSSuperview" ref="45503994"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="9746913"/>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="45503994"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.98699186991869914</double>
+ </object>
+ <object class="NSClipView" id="1067501353">
+ <reference key="NSNextResponder" ref="45503994"/>
+ <int key="NSvFlags">2304</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="166632435"/>
+ </object>
+ <string key="NSFrame">{{1, 0}, {607, 17}}</string>
+ <reference key="NSSuperview" ref="45503994"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="166632435"/>
+ <reference key="NSDocView" ref="166632435"/>
+ <reference key="NSBGColor" ref="550161491"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ </object>
+ <string key="NSFrame">{{20, 53}, {609, 284}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1067501353"/>
+ <int key="NSsFlags">133682</int>
+ <reference key="NSVScroller" ref="658965032"/>
+ <reference key="NSHScroller" ref="896214539"/>
+ <reference key="NSContentView" ref="789563581"/>
+ <reference key="NSHeaderClipView" ref="1067501353"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+ <double key="NSMinMagnification">0.25</double>
+ <double key="NSMaxMagnification">4</double>
+ <double key="NSMagnification">1</double>
+ </object>
+ <object class="NSButton" id="916535318">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{539, 10}, {96, 32}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="534065879">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Close</string>
+ <reference key="NSSupport" ref="948921760"/>
+ <reference key="NSControlView" ref="916535318"/>
+ <int key="NSButtonFlags">-2038284288</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ <object class="NSButton" id="606864501">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{462, 10}, {73, 32}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="916535318"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="349501695">
+ <int key="NSCellFlags">67108864</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Clear</string>
+ <reference key="NSSupport" ref="948921760"/>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="606864501"/>
+ <int key="NSButtonFlags">-2038284288</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ </object>
+ <string key="NSFrameSize">{649, 357}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="45503994"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
+ <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+ <bool key="NSWindowIsRestorable">YES</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">cheatView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="368269043"/>
+ </object>
+ <int key="connectionID">105</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="1005"/>
+ </object>
+ <int key="connectionID">106</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">clear:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="606864501"/>
+ </object>
+ <int key="connectionID">109</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">close:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="916535318"/>
+ </object>
+ <int key="connectionID">110</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">LoadCheats:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="9746913"/>
+ </object>
+ <int key="connectionID">111</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">SaveCheats:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="1059773594"/>
+ </object>
+ <int key="connectionID">112</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="1005"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">108</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">dataSource</string>
+ <reference key="source" ref="368269043"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">107</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <object class="NSArray" key="object" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="1001"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="1003"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="1005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1006"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="1006"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="916535318"/>
+ <reference ref="606864501"/>
+ <reference ref="45503994"/>
+ <reference ref="9746913"/>
+ <reference ref="1059773594"/>
+ </object>
+ <reference key="parent" ref="1005"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="1059773594"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="710534927"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="710534927"/>
+ <reference key="parent" ref="1059773594"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="9746913"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="332020564"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="332020564"/>
+ <reference key="parent" ref="9746913"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">23</int>
+ <reference key="object" ref="45503994"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="658965032"/>
+ <reference ref="896214539"/>
+ <reference ref="368269043"/>
+ <reference ref="166632435"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">24</int>
+ <reference key="object" ref="658965032"/>
+ <reference key="parent" ref="45503994"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">25</int>
+ <reference key="object" ref="896214539"/>
+ <reference key="parent" ref="45503994"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">26</int>
+ <reference key="object" ref="368269043"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="663899919"/>
+ <reference ref="567336110"/>
+ </object>
+ <reference key="parent" ref="45503994"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">27</int>
+ <reference key="object" ref="166632435"/>
+ <reference key="parent" ref="45503994"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">28</int>
+ <reference key="object" ref="663899919"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="418738496"/>
+ </object>
+ <reference key="parent" ref="368269043"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">29</int>
+ <reference key="object" ref="567336110"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1049516493"/>
+ </object>
+ <reference key="parent" ref="368269043"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">31</int>
+ <reference key="object" ref="418738496"/>
+ <reference key="parent" ref="663899919"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">32</int>
+ <reference key="object" ref="1049516493"/>
+ <reference key="parent" ref="567336110"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">33</int>
+ <reference key="object" ref="916535318"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="534065879"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">34</int>
+ <reference key="object" ref="534065879"/>
+ <reference key="parent" ref="916535318"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">78</int>
+ <reference key="object" ref="606864501"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="349501695"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">79</int>
+ <reference key="object" ref="349501695"/>
+ <reference key="parent" ref="606864501"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.IBPluginDependency</string>
+ <string>-2.IBPluginDependency</string>
+ <string>-3.IBPluginDependency</string>
+ <string>1.IBPluginDependency</string>
+ <string>1.IBWindowTemplateEditedContentRect</string>
+ <string>1.NSWindowTemplate.visibleAtLaunch</string>
+ <string>2.IBPluginDependency</string>
+ <string>23.IBPluginDependency</string>
+ <string>24.IBPluginDependency</string>
+ <string>25.IBPluginDependency</string>
+ <string>26.IBPluginDependency</string>
+ <string>27.IBPluginDependency</string>
+ <string>28.IBPluginDependency</string>
+ <string>29.IBPluginDependency</string>
+ <string>31.IBPluginDependency</string>
+ <string>32.IBPluginDependency</string>
+ <string>33.IBPluginDependency</string>
+ <string>34.IBPluginDependency</string>
+ <string>4.IBPluginDependency</string>
+ <string>5.IBPluginDependency</string>
+ <string>6.IBPluginDependency</string>
+ <string>7.IBPluginDependency</string>
+ <string>78.IBPluginDependency</string>
+ <string>79.IBPluginDependency</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <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>{{649, 658}, {649, 357}}</string>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">112</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">CheatController</string>
+ <string key="superclassName">NSWindowController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>LoadCheats:</string>
+ <string>SaveCheats:</string>
+ <string>clear:</string>
+ <string>close:</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>LoadCheats:</string>
+ <string>SaveCheats:</string>
+ <string>clear:</string>
+ <string>close:</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">LoadCheats:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">SaveCheats:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">clear:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">close:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">cheatView</string>
+ <string key="NS.object.0">NSTableView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">cheatView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">cheatView</string>
+ <string key="candidateClassName">NSTableView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/CheatController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <real value="1070" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NS.key.0">NSSwitch</string>
+ <string key="NS.object.0">{15, 15}</string>
+ </object>
+ </data>
+</archive>
diff --git a/macosx/English.lproj/PCSXR.xib b/macosx/English.lproj/PCSXR.xib
index dc243086..63ed7ebd 100644
--- a/macosx/English.lproj/PCSXR.xib
+++ b/macosx/English.lproj/PCSXR.xib
@@ -3,12 +3,12 @@
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">12C60</string>
- <string key="IBDocument.InterfaceBuilderVersion">2844</string>
+ <string key="IBDocument.InterfaceBuilderVersion">3084</string>
<string key="IBDocument.AppKitVersion">1187.34</string>
<string key="IBDocument.HIToolboxVersion">625.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">2844</string>
+ <string key="NS.object.0">3084</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSCustomObject</string>
@@ -285,6 +285,15 @@
<reference key="NSOnImage" ref="926047672"/>
<reference key="NSMixedImage" ref="645484985"/>
</object>
+ <object class="NSMenuItem" id="392373865">
+ <reference key="NSMenu" ref="164090988"/>
+ <string key="NSTitle">Cheats</string>
+ <string key="NSKeyEquiv">c</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="705784993">
<reference key="NSMenu" ref="164090988"/>
<bool key="NSIsDisabled">YES</bool>
@@ -592,16 +601,7 @@
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="37407557">
<string key="NSTitle">Menu</string>
- <array class="NSMutableArray" key="NSMenuItems">
- <object class="NSMenuItem" id="392373865">
- <reference key="NSMenu" ref="37407557"/>
- <string key="NSTitle">Item</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="926047672"/>
- <reference key="NSMixedImage" ref="645484985"/>
- </object>
- </array>
+ <array class="NSMutableArray" key="NSMenuItems"/>
</object>
</object>
</array>
@@ -864,6 +864,14 @@
<int key="connectionID">364</int>
</object>
<object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showCheatsWindow:</string>
+ <reference key="source" ref="113826207"/>
+ <reference key="destination" ref="392373865"/>
+ </object>
+ <int key="connectionID">373</int>
+ </object>
+ <object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">pcsxr</string>
<reference key="source" ref="689397059"/>
@@ -1068,6 +1076,7 @@
<reference ref="927940433"/>
<reference ref="160118245"/>
<reference ref="435063348"/>
+ <reference ref="392373865"/>
</array>
<reference key="parent" ref="622845102"/>
</object>
@@ -1310,15 +1319,13 @@
<object class="IBObjectRecord">
<int key="objectID">370</int>
<reference key="object" ref="37407557"/>
- <array class="NSMutableArray" key="children">
- <reference ref="392373865"/>
- </array>
+ <array class="NSMutableArray" key="children"/>
<reference key="parent" ref="126713148"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">371</int>
<reference key="object" ref="392373865"/>
- <reference key="parent" ref="37407557"/>
+ <reference key="parent" ref="164090988"/>
</object>
</array>
</object>
@@ -1395,7 +1402,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
- <int key="maxID">371</int>
+ <int key="maxID">373</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1403,6 +1410,7 @@
<string key="className">PcsxrController</string>
<string key="superclassName">NSObject</string>
<dictionary class="NSMutableDictionary" key="actions">
+ <string key="cheats:">id</string>
<string key="defrost:">id</string>
<string key="ejectCD:">id</string>
<string key="freeze:">id</string>
@@ -1414,8 +1422,13 @@
<string key="runBios:">id</string>
<string key="runCD:">id</string>
<string key="runIso:">id</string>
+ <string key="showCheatsWindow:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
+ <object class="IBActionInfo" key="cheats:">
+ <string key="name">cheats:</string>
+ <string key="candidateClassName">id</string>
+ </object>
<object class="IBActionInfo" key="defrost:">
<string key="name">defrost:</string>
<string key="candidateClassName">id</string>
@@ -1460,12 +1473,21 @@
<string key="name">runIso:</string>
<string key="candidateClassName">id</string>
</object>
+ <object class="IBActionInfo" key="showCheatsWindow:">
+ <string key="name">showCheatsWindow:</string>
+ <string key="candidateClassName">id</string>
+ </object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
+ <string key="cheatWindow">NSWindow</string>
<string key="preferenceWindow">NSWindow</string>
<string key="recentItems">RecentItemsMenu</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="cheatWindow">
+ <string key="name">cheatWindow</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
<object class="IBToOneOutletInfo" key="preferenceWindow">
<string key="name">preferenceWindow</string>
<string key="candidateClassName">NSWindow</string>
diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj
index 7b74caeb..08bef439 100644
--- a/macosx/Pcsxr.xcodeproj/project.pbxproj
+++ b/macosx/Pcsxr.xcodeproj/project.pbxproj
@@ -79,6 +79,8 @@
71F4C5AF0FDED12800529849 /* spu.c in Sources */ = {isa = PBXBuildFile; fileRef = 71F4C5860FDED12800529849 /* spu.c */; };
71F4C5B90FDED16D00529849 /* iR3000A.c in Sources */ = {isa = PBXBuildFile; fileRef = 71F4C5B50FDED16D00529849 /* iR3000A.c */; };
71F4C5BA0FDED16D00529849 /* ix86.c in Sources */ = {isa = PBXBuildFile; fileRef = 71F4C5B60FDED16D00529849 /* ix86.c */; };
+ D422E66E16DC48D000526DCF /* CheatWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = D422E66C16DC48D000526DCF /* CheatWindow.xib */; };
+ D422E67A16DC495800526DCF /* CheatController.m in Sources */ = {isa = PBXBuildFile; fileRef = D422E67916DC495800526DCF /* CheatController.m */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
@@ -354,6 +356,9 @@
71F4C5B70FDED16D00529849 /* ix86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ix86.h; sourceTree = "<group>"; };
71F703A611B3A673007DD5C5 /* sjisfont.h */ = {isa = PBXFileReference; fileEncoding = 0; lastKnownFileType = sourcecode.c.h; path = sjisfont.h; sourceTree = "<group>"; };
71F93F6311FB8E9D007A5A7C /* DFCdrom.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = DFCdrom.xcodeproj; path = plugins/DFCdrom/DFCdrom.xcodeproj; sourceTree = "<group>"; };
+ D422E66D16DC48D000526DCF /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/CheatWindow.xib; sourceTree = "<group>"; };
+ D422E67816DC495800526DCF /* CheatController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatController.h; sourceTree = "<group>"; };
+ D422E67916DC495800526DCF /* CheatController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheatController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -427,6 +432,7 @@
2BA178AD0514CE260026D74D /* Resources */ = {
isa = PBXGroup;
children = (
+ D422E66C16DC48D000526DCF /* CheatWindow.xib */,
02FE55E616765F9400205CF2 /* KeyNames.plist */,
2BBB1786051E0D9700B84448 /* Credits.rtf */,
28F0C3C4146521A700A90285 /* Configuration.xib */,
@@ -478,6 +484,8 @@
2BA44361052DB2EA00E21DDD /* PcsxrPlugin.m */,
55A9021E147D7C380037E18F /* PcsxrMemCardController.h */,
55A9021F147D7C380037E18F /* PcsxrMemCardController.m */,
+ D422E67816DC495800526DCF /* CheatController.h */,
+ D422E67916DC495800526DCF /* CheatController.m */,
55A90227147D89380037E18F /* PcsxrMemoryObject.h */,
55A90228147D89380037E18F /* PcsxrMemoryObject.m */,
55BBA690149454DE003B2CEC /* PcsxrFileHandle.h */,
@@ -791,6 +799,7 @@
55A90223147D7C7A0037E18F /* MemCardManager.xib in Resources */,
55C7A214148B2B3800C22ABC /* PcsxrMemCardDocument.xib in Resources */,
02FE55E816765F9400205CF2 /* KeyNames.plist in Resources */,
+ D422E66E16DC48D000526DCF /* CheatWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -850,6 +859,7 @@
0280B7AD16764CC5007B8001 /* HotkeyController.m in Sources */,
02717968167884C9004AED62 /* hotkeys.m in Sources */,
5529EA11169CBE3400BAA2A5 /* RecentItemsMenu.m in Sources */,
+ D422E67A16DC495800526DCF /* CheatController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -967,6 +977,15 @@
path = ..;
sourceTree = "<group>";
};
+ D422E66C16DC48D000526DCF /* CheatWindow.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ D422E66D16DC48D000526DCF /* English */,
+ );
+ name = CheatWindow.xib;
+ path = ..;
+ sourceTree = "<group>";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
diff --git a/macosx/PcsxrController.h b/macosx/PcsxrController.h
index a6bed84f..1b78dbcf 100755
--- a/macosx/PcsxrController.h
+++ b/macosx/PcsxrController.h
@@ -6,13 +6,16 @@
#import "RecentItemsMenu.h"
@class ConfigurationController;
+@class CheatController;
@interface PcsxrController : NSObject <NSApplicationDelegate>
{
ConfigurationController *preferencesController;
+ CheatController *cheatController;
PluginList *pluginList;
IBOutlet NSWindow *preferenceWindow;
+ IBOutlet NSWindow *cheatWindow;
IBOutlet RecentItemsMenu *recentItems;
BOOL sleepInBackground;
@@ -22,6 +25,7 @@
- (IBAction)ejectCD:(id)sender;
- (IBAction)pause:(id)sender;
+- (IBAction)showCheatsWindow:(id)sender;
- (IBAction)preferences:(id)sender;
- (IBAction)reset:(id)sender;
- (IBAction)runCD:(id)sender;
diff --git a/macosx/PcsxrController.m b/macosx/PcsxrController.m
index 8ba710c4..387cd029 100755
--- a/macosx/PcsxrController.m
+++ b/macosx/PcsxrController.m
@@ -1,6 +1,7 @@
#import <Cocoa/Cocoa.h>
#import "PcsxrController.h"
#import "ConfigurationController.h"
+#import "CheatController.h"
#import "EmuThread.h"
#import "PcsxrMemCardHandler.h"
#import "PcsxrPluginHandler.h"
@@ -86,6 +87,21 @@ NSString *saveStatePath;
}
}
+- (IBAction)showCheatsWindow:(id)sender
+{
+ /* load the nib if it hasn't yet */
+ if (cheatWindow == nil) {
+ if (cheatController == nil) {
+ cheatController = [[CheatController alloc] initWithWindowNibName:@"CheatWindow"];
+ }
+ cheatWindow = [cheatController window];
+ }
+
+ /* show the window */
+ //[cheatWindow makeKeyAndOrderFront:sender];
+ [cheatController showWindow:sender];
+}
+
- (IBAction)preferences:(id)sender
{
/* load the nib if it hasn't yet */
@@ -97,8 +113,8 @@ NSString *saveStatePath;
}
/* show the window */
- [preferenceWindow makeKeyAndOrderFront:self];
- [preferencesController showWindow:self];
+ //[preferenceWindow makeKeyAndOrderFront:sender];
+ [preferencesController showWindow:sender];
}
- (IBAction)reset:(id)sender
@@ -216,6 +232,10 @@ NSString *saveStatePath;
if ([preferencesController isMemoryCardWindowVisible] == YES)
return NO;
}
+
+ if (cheatWindow != nil)
+ if ([cheatWindow isVisible])
+ return NO;
if ([menuItem action] == @selector(runBios:) && strcmp(Config.Bios, "HLE") == 0)
return NO;
@@ -238,7 +258,7 @@ NSString *saveStatePath;
[menuItem setState:(sleepInBackground ? NSOnState : NSOffState)];
return YES;
}
-
+
return YES;
}