diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-08-17 20:12:12 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-08-17 20:12:12 +0000 |
| commit | 5be0778eaa7d48dfb71f4619e2e6b73b9095ad62 (patch) | |
| tree | c5f270d8777bd621c737ef3b0d195e1c89808677 | |
| parent | 37ba81a540460a7d34a33c23d2353ac84f887576 (diff) | |
| download | pcsxr-5be0778eaa7d48dfb71f4619e2e6b73b9095ad62.tar.gz | |
Finish work on OS X's cheat management.
There is still a bug that changing the label/name of the cheat doesn't set the changed bit.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86707 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | macosx/CheatController.h | 43 | ||||
| -rw-r--r-- | macosx/CheatController.m | 287 | ||||
| -rw-r--r-- | macosx/English.lproj/CheatWindow.xib | 1346 | ||||
| -rw-r--r-- | macosx/Pcsxr.xcodeproj/project.pbxproj | 6 | ||||
| -rw-r--r-- | macosx/PcsxrHexadecimalFormatter.h | 18 | ||||
| -rw-r--r-- | macosx/PcsxrHexadecimalFormatter.m | 83 |
6 files changed, 957 insertions, 826 deletions
diff --git a/macosx/CheatController.h b/macosx/CheatController.h index 7a20ec55..5ac56e93 100644 --- a/macosx/CheatController.h +++ b/macosx/CheatController.h @@ -4,18 +4,52 @@ // #import <Cocoa/Cocoa.h> +#import "ARCBridge.h" +#include "psxcommon.h" +#include "cheat.h" -@interface CheatController : NSWindowController <NSWindowDelegate, NSTableViewDataSource, NSTableViewDelegate> +@class PcsxrHexadecimalFormatter; + +@interface PcsxrCheatTempObject : NSObject <NSCopying> +{ + uint32_t address; + uint16_t value; +} +@property (readwrite) uint32_t address; +@property (readwrite, arcweak) NSNumber* addressNS; +@property (readwrite) uint16_t value; +@property (readwrite, arcweak) NSNumber* valueNS; + +- (id)initWithAddress:(uint32_t)add value:(uint16_t)val; +- (id)initWithCheatCode:(CheatCode *)theCheat; +@end + +@interface PcsxrCheatTemp : NSObject +{ + NSMutableArray *cheatValues; + NSString *cheatName; + BOOL enabled; +} +@property (readwrite, retain) NSMutableArray *cheatValues; +@property (readwrite, retain, nonatomic) NSString *cheatName; +@property (readwrite, getter = isEnabled) BOOL enabled; + +- (id)initWithCheat:(Cheat *)theCheat; +@end + +@interface CheatController : NSWindowController <NSWindowDelegate, NSTableViewDelegate> { IBOutlet NSTableView *cheatView; IBOutlet NSWindow *editCheatWindow; IBOutlet NSTableView *editCheatView; - IBOutlet NSNumberFormatter *addressFormatter; - IBOutlet NSNumberFormatter *valueFormatter; + IBOutlet PcsxrHexadecimalFormatter *addressFormatter; + IBOutlet PcsxrHexadecimalFormatter *valueFormatter; NSMutableArray *tempCheatCodes; + NSMutableArray *cheats; } @property (readwrite, retain) NSMutableArray *tempCheatCodes; +@property (readwrite, retain) NSMutableArray *cheats; - (void)refresh; @@ -24,6 +58,9 @@ - (IBAction)clear:(id)sender; - (IBAction)editCheat:(id)sender; - (IBAction)addCheat:(id)sender; +- (IBAction)applyCheats:(id)sender; +- (IBAction)removeCheats:(id)sender; +- (IBAction)changeCheat:(id)sender; - (IBAction)closeCheatEdit:(id)sender; - (IBAction)removeCheatValue:(id)sender; diff --git a/macosx/CheatController.m b/macosx/CheatController.m index 17bbab9e..2e5976f2 100644 --- a/macosx/CheatController.m +++ b/macosx/CheatController.m @@ -9,21 +9,35 @@ #import "CheatController.h" #import "ARCBridge.h" #import "PcsxrCheatHandler.h" +#import "PcsxrHexadecimalFormatter.h" #define kTempCheatCodesName @"tempCheatCodes" -@interface PcsxrCheatTempObject : NSObject +#define kCheatsName @"cheats" +@implementation PcsxrCheatTempObject +@synthesize address, value; + +- (NSNumber *)addressNS { - uint32_t address; - uint16_t value; + return @(self.address); +} +- (void)setAddressNS:(NSNumber *)addressNS +{ + self.address = [addressNS unsignedIntValue]; } -@property (readwrite) uint32_t address; -@property (readwrite) uint16_t value; -- (id)initWithAddress:(uint32_t)add value:(uint16_t)val; -@end +- (NSNumber *)valueNS +{ + return @(self.value); +} +- (void)setValueNS:(NSNumber *)valueNS +{ + self.value = [valueNS unsignedShortValue]; +} -@implementation PcsxrCheatTempObject -@synthesize address, value; +- (id)init +{ + return self = [self initWithAddress:0x10000000 value:0]; +} - (id)initWithAddress:(uint32_t)add value:(uint16_t)val { @@ -41,13 +55,88 @@ - (NSString*)description { - return [NSString stringWithFormat:@"%u %u", address, value]; + return [NSString stringWithFormat:@"%08x %04x", address, value]; +} + +- (BOOL)isEqual:(id)object +{ + if ([object isKindOfClass:[PcsxrCheatTempObject class]]) { + if (address != [(PcsxrCheatTempObject*)object address]) { + return NO; + } else if (value != [(PcsxrCheatTempObject*)object value]) { + return NO; + } else + return YES; + } else + return NO; +} + +- (id)copyWithZone:(NSZone *)zone +{ + return [[[self class] alloc] initWithAddress:address value:value]; +} + +@end + +@implementation PcsxrCheatTemp +@synthesize cheatName; +@synthesize cheatValues; +@synthesize enabled; + +- (void)setCheatName:(NSString *)_cheatName +{ + if ([cheatName isEqualToString:_cheatName]) { + return; + } + [self willChangeValueForKey:@"cheatName"]; +#if __has_feature(objc_arc) + cheatName = _cheatName; +#else + NSString *temp = cheatName; + cheatName = [_cheatName copy]; + [temp release]; +#endif + [self didChangeValueForKey:@"cheatName"]; +} + +- (id)initWithCheat:(Cheat *)theCheat +{ + if (self = [super init]) { + self.cheatName = @(theCheat->Descr); + self.enabled = theCheat->Enabled ? YES : NO; + self.cheatValues = [NSMutableArray arrayWithCapacity:theCheat->n]; + for (int i = 0; i < theCheat->n; i++) { + [cheatValues addObject:AUTORELEASEOBJ([[PcsxrCheatTempObject alloc] initWithCheatCode:&CheatCodes[i+theCheat->First]])]; + } + } + return self; +} + +- (NSString *)description +{ + return [NSString stringWithFormat:@"[%@%@]\n%@", enabled ? @"*" : @"", cheatName, [cheatValues componentsJoinedByString:@"\n"]]; +} + +#if !__has_feature(objc_arc) +- (void)dealloc +{ + self.cheatName = nil; + self.cheatValues = nil; + + [super dealloc]; } +#endif @end @implementation CheatController @synthesize tempCheatCodes; +@synthesize cheats; + +- (NSString *)windowNibName +{ + return @"CheatWindow"; +} - (id)init { @@ -57,7 +146,7 @@ - (id)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { - self.tempCheatCodes = AUTORELEASEOBJ([[NSMutableArray alloc] init]); + self.tempCheatCodes = [NSMutableArray array]; } return self; } @@ -65,62 +154,41 @@ - (id)initWithWindow:(NSWindow *)window { if (self = [super initWithWindow:window]) { - self.tempCheatCodes = AUTORELEASEOBJ([[NSMutableArray alloc] init]); + self.tempCheatCodes = [NSMutableArray array]; } return self; } -- (void)refresh +- (void)refreshNSCheatArray { - [cheatView reloadData]; + NSMutableArray *tmpArray = [[NSMutableArray alloc] initWithCapacity:NumCheats]; + for (int i = 0; i < NumCheats; i++) { + [tmpArray addObject:AUTORELEASEOBJ([[PcsxrCheatTemp alloc] initWithCheat:&Cheats[i]])]; + } + self.cheats = tmpArray; + RELEASEOBJ(tmpArray); + [self setDocumentEdited:NO]; } -- (NSInteger)numberOfRowsInTableView:(NSTableView *)view +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { - if (view == cheatView) { - return NumCheats; - } else - return 0; + if ([keyPath isEqualToString:kCheatsName]) { + [self setDocumentEdited:YES]; + } } -- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)col row:(NSInteger)idx +- (void)refresh { - if (tableView == cheatView) { - if (idx >= NumCheats) - return nil; - NSString *ident = [col identifier]; - if ([ident isEqualToString:@"COL_NAME"]) { - return @(Cheats[idx].Descr); - } else if ([ident isEqualToString:@"COL_ENABLE"]) { - return @( Cheats[idx].Enabled ? NSOnState : NSOffState); - } - NSLog(@"Unknown column identifier: %@", ident); - return nil; - } else - return nil; + [cheatView reloadData]; + [self refreshNSCheatArray]; } -#if 0 - (void)awakeFromNib { - [addressFormatter setPositivePrefix:@"0x"]; - [valueFormatter setPositivePrefix:@"0x"]; -} -#endif - -- (void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)col row:(NSInteger)row -{ - if (tableView == cheatView) { - if (row >= NumCheats) - return; - NSString *ident = [col identifier]; - if ([ident isEqualToString:@"COL_ENABLE"]) { - Cheats[row].Enabled = [object integerValue] == NSOnState; - } else if ([ident isEqualToString:@"COL_NAME"]) { - free(Cheats[row].Descr); - Cheats[row].Descr = strdup([object UTF8String]); - } - } + [valueFormatter setHexPadding:4]; + [addressFormatter setHexPadding:8]; + [self refreshNSCheatArray]; + [self addObserver:self forKeyPath:kCheatsName options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL]; } - (IBAction)loadCheats:(id)sender @@ -148,15 +216,15 @@ [saveDlg setPrompt:NSLocalizedString(@"Save Cheats", nil)]; if ([saveDlg runModal] == NSFileHandlingPanelOKButton) { NSURL *url = [saveDlg URL]; - SaveCheats([[url path] fileSystemRepresentation]); + NSString *saveString = [cheats componentsJoinedByString:@"\n"]; + [saveString writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:NULL]; } RELEASEOBJ(saveDlg); } - (IBAction)clear:(id)sender { - ClearAllCheats(); - [self refresh]; + self.cheats = [NSMutableArray array]; } - (IBAction)closeCheatEdit:(id)sender @@ -164,8 +232,18 @@ [NSApp endSheet:editCheatWindow returnCode:[sender tag] == 1 ? NSCancelButton : NSOKButton]; } +- (IBAction)changeCheat:(id)sender +{ + [self setDocumentEdited:YES]; +} + - (IBAction)removeCheatValue:(id)sender { + if ([editCheatView selectedRow] < 0) { + NSBeep(); + return; + } + NSIndexSet *toRemoveIndex = [editCheatView selectedRowIndexes]; [self willChange:NSKeyValueChangeRemoval valuesAtIndexes:toRemoveIndex forKey:kTempCheatCodesName]; [tempCheatCodes removeObjectsAtIndexes:toRemoveIndex]; @@ -176,19 +254,27 @@ { [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:[tempCheatCodes count]] forKey:kTempCheatCodesName]; [tempCheatCodes addObject:AUTORELEASEOBJ([[PcsxrCheatTempObject alloc] init])]; - [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:[tempCheatCodes count]] forKey:kTempCheatCodesName]; + [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:[tempCheatCodes count] - 1] forKey:kTempCheatCodesName]; +} + +- (void)reloadCheats +{ + NSFileManager *manager = [NSFileManager defaultManager]; + NSURL *tmpURL = [[manager URLForDirectory:NSItemReplacementDirectory inDomain:NSUserDomainMask appropriateForURL:[[NSBundle mainBundle] bundleURL] create:YES error:nil] URLByAppendingPathComponent:@"temp.cht" isDirectory:NO]; + NSString *tmpStr = [cheats componentsJoinedByString:@"\n"]; + [tmpStr writeToURL:tmpURL atomically:NO encoding:NSUTF8StringEncoding error:NULL]; + LoadCheats([[tmpURL path] fileSystemRepresentation]); + [manager removeItemAtURL:tmpURL error:NULL]; } - (void)editCheatCodeSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { if (returnCode == NSOKButton) { - //FIXME: Expand the current cheat code list as needed - //FIXME: Contract the current cheat code list as needed - - const char *tmpCheat = [[tempCheatCodes componentsJoinedByString:@"\n"] cStringUsingEncoding:NSASCIIStringEncoding]; - char *cheatCpy = strdup(tmpCheat); - EditCheat((int)[cheatView selectedRow], Cheats[[cheatView selectedRow]].Descr, cheatCpy); - free(cheatCpy); + PcsxrCheatTemp *tmpCheat = [cheats objectAtIndex:[cheatView selectedRow]]; + if (![tmpCheat.cheatValues isEqualToArray:tempCheatCodes]) { + tmpCheat.cheatValues = tempCheatCodes; + [self setDocumentEdited:YES]; + } } [sheet orderOut:nil]; @@ -196,24 +282,75 @@ - (IBAction)editCheat:(id)sender { - [self willChangeValueForKey:kTempCheatCodesName]; - [tempCheatCodes removeAllObjects]; - - Cheat *currentCheat = &Cheats[[cheatView selectedRow]]; - - for (NSInteger i = 0; i < currentCheat->n; i++) { - CheatCode *curCode = &CheatCodes[currentCheat->First + i]; - PcsxrCheatTempObject *tmpobj = [[PcsxrCheatTempObject alloc] initWithCheatCode:curCode]; - [tempCheatCodes addObject:tmpobj]; - RELEASEOBJ(tmpobj); + if ([cheatView selectedRow] < 0) { + NSBeep(); + return; } - [self didChangeValueForKey:kTempCheatCodesName]; + NSMutableArray *tmpArray = [[cheats objectAtIndex:[cheatView selectedRow]] cheatValues]; + NSMutableArray *newCheats = [[NSMutableArray alloc] initWithArray:tmpArray copyItems:YES]; + self.tempCheatCodes = newCheats; + RELEASEOBJ(newCheats); [NSApp beginSheet:editCheatWindow modalForWindow:[self window] modalDelegate:self didEndSelector:@selector(editCheatCodeSheetDidEnd:returnCode:contextInfo:) contextInfo:NULL]; } - (IBAction)addCheat:(id)sender { - AddCheat(NULL, "0 0"); + [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:[cheats count]] forKey:kCheatsName]; + PcsxrCheatTemp *tmpCheat = [[PcsxrCheatTemp alloc] init]; + tmpCheat.cheatName = NSLocalizedString(@"New Cheat", @"New Cheat Name" ); + PcsxrCheatTempObject *tmpObj = [[PcsxrCheatTempObject alloc] initWithAddress:0x10000000 value:0]; + NSMutableArray *tmpArray = [NSMutableArray arrayWithObject:tmpObj]; + RELEASEOBJ(tmpObj); + tmpCheat.cheatValues = tmpArray; + [cheats addObject:tmpCheat]; + RELEASEOBJ(tmpCheat); + [self didChange:NSKeyValueChangeInsertion valuesAtIndexes:[NSIndexSet indexSetWithIndex:[cheats count] - 1] forKey:kCheatsName]; + [self setDocumentEdited:YES]; +} + +- (IBAction)applyCheats:(id)sender +{ + [self reloadCheats]; + [self setDocumentEdited:NO]; +} + +- (BOOL)windowShouldClose:(id)sender +{ + if (![sender isDocumentEdited] || ![[self window] isEqual:sender]) { + return YES; + } else { + //TODO: properly use a non-deprecated method here. + NSInteger retVal = NSRunAlertPanelRelativeToWindow(NSLocalizedString(@"Unsaved Changes", @"Unsaved changes"), NSLocalizedString(@"The Cheat codes have not been applied. Unapplied cheats will not run nor be saved. Do you wish to save?",nil), NSLocalizedString(@"Save", @"Save"), NSLocalizedString(@"Don't Save",@"Don't Save"), NSLocalizedString(@"Cancel", @"Cancel"), sender); + switch (retVal) { + case NSAlertDefaultReturn: + [self reloadCheats]; + return YES; + break; + + default: + [self refreshNSCheatArray]; + return YES; + break; + + case NSAlertOtherReturn: + return NO; + break; + } + } +} + +- (IBAction)removeCheats:(id)sender +{ + if ([cheatView selectedRow] < 0) { + NSBeep(); + return; + } + + NSIndexSet *toRemoveIndex = [cheatView selectedRowIndexes]; + [self willChange:NSKeyValueChangeRemoval valuesAtIndexes:toRemoveIndex forKey:kCheatsName]; + [cheats removeObjectsAtIndexes:toRemoveIndex]; + [self didChange:NSKeyValueChangeRemoval valuesAtIndexes:toRemoveIndex forKey:kCheatsName]; + [self setDocumentEdited:YES]; } @end diff --git a/macosx/English.lproj/CheatWindow.xib b/macosx/English.lproj/CheatWindow.xib index 8eb3553e..99c597a6 100644 --- a/macosx/English.lproj/CheatWindow.xib +++ b/macosx/English.lproj/CheatWindow.xib @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <data> <int key="IBDocument.SystemTarget">1070</int> <string key="IBDocument.SystemVersion">12E55</string> @@ -10,14 +10,13 @@ <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> + <array key="IBDocument.IntegratedClassDependencies"> + <string>IBCustomFormatter</string> <string>IBNSLayoutConstraint</string> <string>NSArrayController</string> <string>NSButton</string> <string>NSButtonCell</string> <string>NSCustomObject</string> - <string>NSNumberFormatter</string> <string>NSScrollView</string> <string>NSScroller</string> <string>NSTableColumn</string> @@ -26,17 +25,15 @@ <string>NSTextFieldCell</string> <string>NSView</string> <string>NSWindowTemplate</string> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> + </array> + <array key="IBDocument.PluginDependencies"> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </object> + </array> <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> + <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> <object class="NSCustomObject" id="1001"> <string key="NSClassName">CheatController</string> </object> @@ -49,7 +46,7 @@ <object class="NSWindowTemplate" id="1005"> <int key="NSWindowStyleMask">15</int> <int key="NSWindowBacking">2</int> - <string key="NSWindowRect">{{196, 153}, {649, 357}}</string> + <string key="NSWindowRect">{{196, 153}, {698, 357}}</string> <int key="NSWTFlags">1618477056</int> <string key="NSWindowTitle">Cheats</string> <string key="NSWindowClass">NSWindow</string> @@ -58,8 +55,7 @@ <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> + <array class="NSMutableArray" key="NSSubviews"> <object class="NSButton" id="1059773594"> <reference key="NSNextResponder" ref="1006"/> <int key="NSvFlags">268</int> @@ -113,17 +109,15 @@ <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> + <array class="NSMutableArray" key="NSSubviews"> <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> + <array class="NSMutableArray" key="NSSubviews"> <object class="NSTableView" id="368269043"> <reference key="NSNextResponder" ref="789563581"/> <int key="NSvFlags">256</int> - <string key="NSFrameSize">{607, 266}</string> + <string key="NSFrameSize">{656, 266}</string> <reference key="NSSuperview" ref="789563581"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="658965032"/> @@ -133,7 +127,7 @@ <object class="NSTableHeaderView" key="NSHeaderView" id="166632435"> <reference key="NSNextResponder" ref="1067501353"/> <int key="NSvFlags">256</int> - <string key="NSFrameSize">{607, 17}</string> + <string key="NSFrameSize">{656, 17}</string> <reference key="NSSuperview" ref="1067501353"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="789563581"/> @@ -145,10 +139,9 @@ <string key="NSFrame">{{224, 0}, {16, 17}}</string> <reference key="NSNextKeyView" ref="789563581"/> </object> - <object class="NSMutableArray" key="NSTableColumns"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSTableColumns"> <object class="NSTableColumn" id="567336110"> - <string key="NSIdentifier">COL_ENABLE</string> + <string key="NSIdentifier">Enabled</string> <double key="NSWidth">48.40234375</double> <double key="NSMinWidth">40</double> <double key="NSMaxWidth">1000</double> @@ -201,8 +194,8 @@ <reference key="NSTableView" ref="368269043"/> </object> <object class="NSTableColumn" id="663899919"> - <string key="NSIdentifier">COL_NAME</string> - <double key="NSWidth">552.51953125</double> + <string key="NSIdentifier">Name</string> + <double key="NSWidth">601.51953125</double> <double key="NSMinWidth">40</double> <double key="NSMaxWidth">1000</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -214,8 +207,8 @@ <reference key="NSTextColor" ref="385617573"/> </object> <object class="NSTextFieldCell" key="NSDataCell" id="418738496"> - <int key="NSCellFlags">337641536</int> - <int key="NSCellFlags2">2048</int> + <int key="NSCellFlags">337641537</int> + <int key="NSCellFlags2">2112</int> <string key="NSContents">Text Cell</string> <reference key="NSSupport" ref="948921760"/> <reference key="NSControlView" ref="368269043"/> @@ -234,16 +227,16 @@ <string key="NSColorName">controlTextColor</string> <reference key="NSColor" ref="930545005"/> </object> - <object class="NSArray" key="NSAllowedInputLocales"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array key="NSAllowedInputLocales"> <string>NSAllRomanInputSourcesLocaleIdentifier</string> - </object> + </array> </object> <int key="NSResizingMask">3</int> <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> <reference key="NSTableView" ref="368269043"/> </object> - </object> + </array> <double key="NSIntercellSpacingWidth">3</double> <double key="NSIntercellSpacingHeight">2</double> <object class="NSColor" key="NSBackgroundColor" id="639601960"> @@ -270,8 +263,8 @@ <int key="NSTableViewDraggingDestinationStyle">0</int> <int key="NSTableViewGroupRowStyle">1</int> </object> - </object> - <string key="NSFrame">{{1, 17}, {607, 266}}</string> + </array> + <string key="NSFrame">{{1, 17}, {656, 266}}</string> <reference key="NSSuperview" ref="45503994"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="368269043"/> @@ -307,11 +300,10 @@ <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> + <array class="NSMutableArray" key="NSSubviews"> <reference ref="166632435"/> - </object> - <string key="NSFrame">{{1, 0}, {607, 17}}</string> + </array> + <string key="NSFrame">{{1, 0}, {656, 17}}</string> <reference key="NSSuperview" ref="45503994"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="166632435"/> @@ -319,8 +311,8 @@ <reference key="NSBGColor" ref="550161491"/> <int key="NScvFlags">4</int> </object> - </object> - <string key="NSFrame">{{20, 53}, {609, 284}}</string> + </array> + <string key="NSFrame">{{20, 53}, {658, 284}}</string> <reference key="NSSuperview" ref="1006"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1067501353"/> @@ -337,9 +329,10 @@ <object class="NSButton" id="606864501"> <reference key="NSNextResponder" ref="1006"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{562, 10}, {73, 32}}</string> + <string key="NSFrame">{{611, 10}, {73, 32}}</string> <reference key="NSSuperview" ref="1006"/> <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="349501695"> @@ -361,14 +354,14 @@ <object class="NSButton" id="826080325"> <reference key="NSNextResponder" ref="1006"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{329, 10}, {77, 32}}</string> + <string key="NSFrame">{{302, 10}, {77, 32}}</string> <reference key="NSSuperview" ref="1006"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="985245514"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="595634390"> - <int key="NSCellFlags">603979776</int> + <int key="NSCellFlags">67108864</int> <int key="NSCellFlags2">134217728</int> <string key="NSContents">Edit…</string> <reference key="NSSupport" ref="948921760"/> @@ -386,14 +379,14 @@ <object class="NSButton" id="985245514"> <reference key="NSNextResponder" ref="1006"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{406, 10}, {66, 32}}</string> + <string key="NSFrame">{{379, 10}, {66, 32}}</string> <reference key="NSSuperview" ref="1006"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="546225714"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="695849354"> - <int key="NSCellFlags">603979776</int> + <int key="NSCellFlags">67108864</int> <int key="NSCellFlags2">134217728</int> <string key="NSContents">Add</string> <reference key="NSSupport" ref="948921760"/> @@ -411,14 +404,14 @@ <object class="NSButton" id="546225714"> <reference key="NSNextResponder" ref="1006"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{472, 10}, {90, 32}}</string> + <string key="NSFrame">{{445, 10}, {90, 32}}</string> <reference key="NSSuperview" ref="1006"/> <reference key="NSWindow"/> - <reference key="NSNextKeyView" ref="606864501"/> + <reference key="NSNextKeyView" ref="493097267"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="141020825"> - <int key="NSCellFlags">603979776</int> + <int key="NSCellFlags">67108864</int> <int key="NSCellFlags2">134217728</int> <string key="NSContents">Remove</string> <reference key="NSSupport" ref="948921760"/> @@ -433,13 +426,38 @@ </object> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - </object> - <string key="NSFrameSize">{649, 357}</string> + <object class="NSButton" id="493097267"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{535, 10}, {76, 32}}</string> + <reference key="NSSuperview" ref="1006"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="606864501"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="636439128"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Apply</string> + <reference key="NSSupport" ref="948921760"/> + <string key="NSCellIdentifier">_NS:9</string> + <reference key="NSControlView" ref="493097267"/> + <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> + </array> + <string key="NSFrameSize">{698, 357}</string> <reference key="NSSuperview"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="45503994"/> </object> - <string key="NSScreenRect">{{0, 0}, {1920, 1080}}</string> + <string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string> <string key="NSMaxSize">{10000000000000, 10000000000000}</string> <bool key="NSWindowIsRestorable">YES</bool> </object> @@ -455,18 +473,15 @@ <object class="NSView" key="NSWindowView" id="199124710"> <reference key="NSNextResponder"/> <int key="NSvFlags">256</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSSubviews"> <object class="NSScrollView" id="1005365451"> <reference key="NSNextResponder" ref="199124710"/> <int key="NSvFlags">268</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSSubviews"> <object class="NSClipView" id="1013168205"> <reference key="NSNextResponder" ref="1005365451"/> <int key="NSvFlags">2304</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSSubviews"> <object class="NSTableView" id="561365494"> <reference key="NSNextResponder" ref="1013168205"/> <int key="NSvFlags">256</int> @@ -495,10 +510,9 @@ <reference key="NSNextKeyView" ref="1013168205"/> <string key="NSReuseIdentifierKey">_NS:19</string> </object> - <object class="NSMutableArray" key="NSTableColumns"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSTableColumns"> <object class="NSTableColumn" id="227933991"> - <string key="NSIdentifier">COL_ADDR</string> + <string key="NSIdentifier">Address</string> <double key="NSWidth">150</double> <double key="NSMinWidth">40</double> <double key="NSMaxWidth">1000</double> @@ -518,75 +532,7 @@ <int key="NSCellFlags2">-2147481600</int> <string key="NSContents">Text Cell</string> <reference key="NSSupport" ref="948921760"/> - <object class="NSNumberFormatter" key="NSFormatter" id="515988673"> - <object class="NSMutableDictionary" key="NS.attributes"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>allowsFloats</string> - <string>formatterBehavior</string> - <string>lenient</string> - <string>locale</string> - <string>minimum</string> - <string>negativeInfinitySymbol</string> - <string>nilSymbol</string> - <string>numberStyle</string> - <string>positiveInfinitySymbol</string> - </object> - <object class="NSArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <boolean value="YES"/> - <integer value="1040"/> - <boolean value="NO"/> - <object class="NSLocale" id="736448411"> - <string key="NS.identifier"/> - </object> - <integer value="0"/> - <string>-∞</string> - <string/> - <integer value="0"/> - <string>+∞</string> - </object> - </object> - <string key="NS.positiveformat">#</string> - <string key="NS.negativeformat">#</string> - <nil key="NS.positiveattrs"/> - <nil key="NS.negativeattrs"/> - <nil key="NS.zero"/> - <object class="NSAttributedString" key="NS.nil"> - <string key="NSString"/> - </object> - <object class="NSAttributedString" key="NS.nan"> - <string key="NSString">NaN</string> - <object class="NSDictionary" key="NSAttributes" id="592428838"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="dict.values" ref="0"/> - </object> - </object> - <integer value="0" key="NS.min"/> - <object class="NSDecimalNumberPlaceholder" key="NS.max" id="816064763"> - <int key="NS.exponent">0</int> - <int key="NS.length">0</int> - <bool key="NS.negative">YES</bool> - <bool key="NS.compact">NO</bool> - <int key="NS.mantissa.bo">1</int> - <bytes key="NS.mantissa">AAAAAAAAAAAAAAAAAAAAAA</bytes> - </object> - <object class="NSDecimalNumberHandler" key="NS.rounding"> - <int key="NS.roundingmode">3</int> - <bool key="NS.raise.overflow">YES</bool> - <bool key="NS.raise.underflow">YES</bool> - <bool key="NS.raise.dividebyzero">YES</bool> - </object> - <string key="NS.decimal">.</string> - <string key="NS.thousand">,</string> - <bool key="NS.hasthousands">NO</bool> - <bool key="NS.localized">NO</bool> - <bool key="NS.allowsfloats">YES</bool> - </object> + <object class="IBCustomFormatter" key="NSFormatter" id="916821671"/> <reference key="NSControlView" ref="561365494"/> <reference key="NSBackgroundColor" ref="550161491"/> <reference key="NSTextColor" ref="146064791"/> @@ -597,7 +543,7 @@ <reference key="NSTableView" ref="561365494"/> </object> <object class="NSTableColumn" id="304062529"> - <string key="NSIdentifier">COL_VAL</string> + <string key="NSIdentifier">Value</string> <double key="NSWidth">144</double> <double key="NSMinWidth">40</double> <double key="NSMaxWidth">1000</double> @@ -614,56 +560,7 @@ <int key="NSCellFlags2">-2147481600</int> <string key="NSContents">Text Cell</string> <reference key="NSSupport" ref="948921760"/> - <object class="NSNumberFormatter" key="NSFormatter" id="784608752"> - <object class="NSMutableDictionary" key="NS.attributes"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>allowsFloats</string> - <string>formatterBehavior</string> - <string>locale</string> - <string>minimum</string> - <string>negativeInfinitySymbol</string> - <string>nilSymbol</string> - <string>positiveInfinitySymbol</string> - </object> - <object class="NSArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <boolean value="YES"/> - <integer value="1040"/> - <reference ref="736448411"/> - <integer value="0"/> - <string>-∞</string> - <string/> - <string>+∞</string> - </object> - </object> - <string key="NS.positiveformat">#</string> - <string key="NS.negativeformat">#</string> - <nil key="NS.positiveattrs"/> - <nil key="NS.negativeattrs"/> - <nil key="NS.zero"/> - <object class="NSAttributedString" key="NS.nil"> - <string key="NSString"/> - </object> - <object class="NSAttributedString" key="NS.nan"> - <string key="NSString">NaN</string> - <reference key="NSAttributes" ref="592428838"/> - </object> - <integer value="0" key="NS.min"/> - <reference key="NS.max" ref="816064763"/> - <object class="NSDecimalNumberHandler" key="NS.rounding"> - <int key="NS.roundingmode">3</int> - <bool key="NS.raise.overflow">YES</bool> - <bool key="NS.raise.underflow">YES</bool> - <bool key="NS.raise.dividebyzero">YES</bool> - </object> - <string key="NS.decimal">.</string> - <string key="NS.thousand">,</string> - <bool key="NS.hasthousands">NO</bool> - <bool key="NS.localized">NO</bool> - <bool key="NS.allowsfloats">YES</bool> - </object> + <object class="IBCustomFormatter" key="NSFormatter" id="865518372"/> <reference key="NSControlView" ref="561365494"/> <reference key="NSBackgroundColor" ref="550161491"/> <reference key="NSTextColor" ref="146064791"/> @@ -673,7 +570,7 @@ <bool key="NSIsEditable">YES</bool> <reference key="NSTableView" ref="561365494"/> </object> - </object> + </array> <double key="NSIntercellSpacingWidth">3</double> <double key="NSIntercellSpacingHeight">2</double> <reference key="NSBackgroundColor" ref="639601960"/> @@ -689,7 +586,7 @@ <int key="NSTableViewDraggingDestinationStyle">0</int> <int key="NSTableViewGroupRowStyle">1</int> </object> - </object> + </array> <string key="NSFrame">{{1, 17}, {300, 171}}</string> <reference key="NSSuperview" ref="1005365451"/> <reference key="NSWindow"/> @@ -730,10 +627,9 @@ <object class="NSClipView" id="761915648"> <reference key="NSNextResponder" ref="1005365451"/> <int key="NSvFlags">2304</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="NSSubviews"> <reference ref="70039629"/> - </object> + </array> <string key="NSFrame">{{1, 0}, {300, 17}}</string> <reference key="NSSuperview" ref="1005365451"/> <reference key="NSWindow"/> @@ -743,7 +639,7 @@ <reference key="NSBGColor" ref="550161491"/> <int key="NScvFlags">4</int> </object> - </object> + </array> <string key="NSFrame">{{20, 56}, {302, 189}}</string> <reference key="NSSuperview" ref="199124710"/> <reference key="NSWindow"/> @@ -765,6 +661,7 @@ <string key="NSFrame">{{269, 13}, {59, 32}}</string> <reference key="NSSuperview" ref="199124710"/> <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> <string key="NSReuseIdentifierKey">_NS:9</string> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="447610302"> @@ -867,14 +764,14 @@ </object> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - </object> + </array> <string key="NSFrameSize">{342, 265}</string> <reference key="NSSuperview"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1005365451"/> <string key="NSReuseIdentifierKey">_NS:20</string> </object> - <string key="NSScreenRect">{{0, 0}, {1920, 1080}}</string> + <string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string> <string key="NSMaxSize">{10000000000000, 10000000000000}</string> <bool key="NSWindowIsRestorable">YES</bool> </object> @@ -887,10 +784,18 @@ <bool key="NSFilterRestrictsInsertion">YES</bool> <bool key="NSClearsFilterPredicateOnInsertion">YES</bool> </object> - </object> + <object class="NSArrayController" id="522679847"> + <string key="NSObjectClassName">NSMutableArray</string> + <bool key="NSEditable">YES</bool> + <object class="_NSManagedProxy" key="_NSManagedProxy"/> + <bool key="NSPreservesSelection">YES</bool> + <bool key="NSSelectsInsertedObjects">YES</bool> + <bool key="NSFilterRestrictsInsertion">YES</bool> + <bool key="NSClearsFilterPredicateOnInsertion">YES</bool> + </object> + </array> <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="connectionRecords"> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">cheatView</string> @@ -956,22 +861,6 @@ <int key="connectionID">170</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">addressFormatter</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="515988673"/> - </object> - <int key="connectionID">171</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">valueFormatter</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="784608752"/> - </object> - <int key="connectionID">172</int> - </object> - <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> <string key="label">loadCheats:</string> <reference key="source" ref="1001"/> @@ -1012,6 +901,54 @@ <int key="connectionID">218</int> </object> <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">removeCheats:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="546225714"/> + </object> + <int key="connectionID">253</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">applyCheats:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="493097267"/> + </object> + <int key="connectionID">262</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">changeCheat:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="1049516493"/> + </object> + <int key="connectionID">266</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">changeCheat:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="418738496"/> + </object> + <int key="connectionID">267</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">addressFormatter</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="916821671"/> + </object> + <int key="connectionID">273</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">valueFormatter</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="865518372"/> + </object> + <int key="connectionID">274</int> + </object> + <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">delegate</string> <reference key="source" ref="1005"/> @@ -1021,11 +958,47 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">dataSource</string> + <string key="label">delegate</string> <reference key="source" ref="368269043"/> <reference key="destination" ref="1001"/> </object> - <int key="connectionID">107</int> + <int key="connectionID">242</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: arrangedObjects.cheatName</string> + <reference key="source" ref="663899919"/> + <reference key="destination" ref="522679847"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="663899919"/> + <reference key="NSDestination" ref="522679847"/> + <string key="NSLabel">value: arrangedObjects.cheatName</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">arrangedObjects.cheatName</string> + <dictionary key="NSOptions"> + <boolean value="NO" key="NSAllowsEditingMultipleValuesSelection"/> + <boolean value="YES" key="NSConditionallySetsEditable"/> + </dictionary> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">270</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: arrangedObjects.enabled</string> + <reference key="source" ref="567336110"/> + <reference key="destination" ref="522679847"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="567336110"/> + <reference key="NSDestination" ref="522679847"/> + <string key="NSLabel">value: arrangedObjects.enabled</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">arrangedObjects.enabled</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">240</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> @@ -1037,35 +1010,35 @@ </object> <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> - <string key="label">value: arrangedObjects.addresss</string> + <string key="label">value: arrangedObjects.addressNS</string> <reference key="source" ref="227933991"/> <reference key="destination" ref="1036217935"/> <object class="NSNibBindingConnector" key="connector"> <reference key="NSSource" ref="227933991"/> <reference key="NSDestination" ref="1036217935"/> - <string key="NSLabel">value: arrangedObjects.addresss</string> + <string key="NSLabel">value: arrangedObjects.addressNS</string> <string key="NSBinding">value</string> - <string key="NSKeyPath">arrangedObjects.addresss</string> + <string key="NSKeyPath">arrangedObjects.addressNS</string> <int key="NSNibBindingConnectorVersion">2</int> </object> </object> - <int key="connectionID">224</int> + <int key="connectionID">244</int> </object> <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> - <string key="label">value: arrangedObjects.value</string> + <string key="label">value: arrangedObjects.valueNS</string> <reference key="source" ref="304062529"/> <reference key="destination" ref="1036217935"/> <object class="NSNibBindingConnector" key="connector"> <reference key="NSSource" ref="304062529"/> <reference key="NSDestination" ref="1036217935"/> - <string key="NSLabel">value: arrangedObjects.value</string> + <string key="NSLabel">value: arrangedObjects.valueNS</string> <string key="NSBinding">value</string> - <string key="NSKeyPath">arrangedObjects.value</string> + <string key="NSKeyPath">arrangedObjects.valueNS</string> <int key="NSNibBindingConnectorVersion">2</int> </object> </object> - <int key="connectionID">226</int> + <int key="connectionID">245</int> </object> <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> @@ -1083,13 +1056,28 @@ </object> <int key="connectionID">222</int> </object> - </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">contentArray: self.cheats</string> + <reference key="source" ref="522679847"/> + <reference key="destination" ref="1001"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="522679847"/> + <reference key="NSDestination" ref="1001"/> + <string key="NSLabel">contentArray: self.cheats</string> + <string key="NSBinding">contentArray</string> + <string key="NSKeyPath">self.cheats</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">238</int> + </object> + </array> <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array key="orderedObjects"> <object class="IBObjectRecord"> <int key="objectID">0</int> - <reference key="object" ref="0"/> + <array key="object" id="0"/> <reference key="children" ref="1000"/> <nil key="parent"/> </object> @@ -1114,24 +1102,22 @@ <object class="IBObjectRecord"> <int key="objectID">1</int> <reference key="object" ref="1005"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="1006"/> - </object> + </array> <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> + <array class="NSMutableArray" key="children"> <reference ref="45503994"/> <reference ref="9746913"/> <object class="IBNSLayoutConstraint" id="93006757"> <reference key="firstItem" ref="606864501"/> <int key="firstAttribute">5</int> <int key="relation">0</int> - <reference key="secondItem" ref="546225714"/> + <reference key="secondItem" ref="493097267"/> <int key="secondAttribute">6</int> <float key="multiplier">1</float> <object class="IBNSLayoutSymbolicConstant" key="constant"> @@ -1159,11 +1145,11 @@ <float key="scoringTypeFloat">29</float> <int key="contentType">3</int> </object> - <object class="IBNSLayoutConstraint" id="645683314"> - <reference key="firstItem" ref="546225714"/> + <object class="IBNSLayoutConstraint" id="334700348"> + <reference key="firstItem" ref="493097267"/> <int key="firstAttribute">5</int> <int key="relation">0</int> - <reference key="secondItem" ref="985245514"/> + <reference key="secondItem" ref="546225714"/> <int key="secondAttribute">6</int> <float key="multiplier">1</float> <object class="IBNSLayoutSymbolicConstant" key="constant"> @@ -1176,7 +1162,7 @@ <int key="contentType">3</int> </object> <object class="IBNSLayoutConstraint" id="814687615"> - <reference key="firstItem" ref="546225714"/> + <reference key="firstItem" ref="493097267"/> <int key="firstAttribute">11</int> <int key="relation">0</int> <reference key="secondItem" ref="606864501"/> @@ -1191,6 +1177,38 @@ <float key="scoringTypeFloat">24</float> <int key="contentType">2</int> </object> + <object class="IBNSLayoutConstraint" id="95231187"> + <reference key="firstItem" ref="493097267"/> + <int key="firstAttribute">11</int> + <int key="relation">0</int> + <reference key="secondItem" ref="546225714"/> + <int key="secondAttribute">11</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">0.0</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1006"/> + <int key="scoringType">6</int> + <float key="scoringTypeFloat">24</float> + <int key="contentType">2</int> + </object> + <object class="IBNSLayoutConstraint" id="645683314"> + <reference key="firstItem" ref="546225714"/> + <int key="firstAttribute">5</int> + <int key="relation">0</int> + <reference key="secondItem" ref="985245514"/> + <int key="secondAttribute">6</int> + <float key="multiplier">1</float> + <object class="IBNSLayoutSymbolicConstant" key="constant"> + <double key="value">12</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1006"/> + <int key="scoringType">6</int> + <float key="scoringTypeFloat">24</float> + <int key="contentType">3</int> + </object> <object class="IBNSLayoutConstraint" id="310970590"> <reference key="firstItem" ref="546225714"/> <int key="firstAttribute">11</int> @@ -1385,19 +1403,19 @@ </object> <reference ref="1059773594"/> <reference ref="606864501"/> + <reference ref="493097267"/> <reference ref="826080325"/> <reference ref="985245514"/> <reference ref="546225714"/> - </object> + </array> <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> + <array class="NSMutableArray" key="children"> <reference ref="710534927"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -1408,10 +1426,9 @@ <object class="IBObjectRecord"> <int key="objectID">6</int> <reference key="object" ref="9746913"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="332020564"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -1422,13 +1439,12 @@ <object class="IBObjectRecord"> <int key="objectID">23</int> <reference key="object" ref="45503994"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="658965032"/> <reference ref="896214539"/> <reference ref="368269043"/> <reference ref="166632435"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -1444,11 +1460,10 @@ <object class="IBObjectRecord"> <int key="objectID">26</int> <reference key="object" ref="368269043"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="663899919"/> <reference ref="567336110"/> - </object> + </array> <reference key="parent" ref="45503994"/> </object> <object class="IBObjectRecord"> @@ -1459,19 +1474,17 @@ <object class="IBObjectRecord"> <int key="objectID">28</int> <reference key="object" ref="663899919"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="418738496"/> - </object> + </array> <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> + <array class="NSMutableArray" key="children"> <reference ref="1049516493"/> - </object> + </array> <reference key="parent" ref="368269043"/> </object> <object class="IBObjectRecord"> @@ -1487,10 +1500,9 @@ <object class="IBObjectRecord"> <int key="objectID">78</int> <reference key="object" ref="606864501"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="349501695"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -1546,10 +1558,9 @@ <object class="IBObjectRecord"> <int key="objectID">129</int> <reference key="object" ref="826080325"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="595634390"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -1565,17 +1576,15 @@ <object class="IBObjectRecord"> <int key="objectID">134</int> <reference key="object" ref="279098783"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="199124710"/> - </object> + </array> <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">135</int> <reference key="object" ref="199124710"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="1005365451"/> <object class="IBNSLayoutConstraint" id="84137960"> <reference key="firstItem" ref="57583972"/> @@ -1789,29 +1798,27 @@ <reference ref="435790162"/> <reference ref="568487906"/> <reference ref="700724018"/> - </object> + </array> <reference key="parent" ref="279098783"/> </object> <object class="IBObjectRecord"> <int key="objectID">136</int> <reference key="object" ref="1005365451"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="561365494"/> <reference ref="676091532"/> <reference ref="70039629"/> <reference ref="735039775"/> - </object> + </array> <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> <int key="objectID">137</int> <reference key="object" ref="561365494"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="227933991"/> <reference ref="304062529"/> - </object> + </array> <reference key="parent" ref="1005365451"/> </object> <object class="IBObjectRecord"> @@ -1832,37 +1839,33 @@ <object class="IBObjectRecord"> <int key="objectID">141</int> <reference key="object" ref="227933991"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="382860235"/> - </object> + </array> <reference key="parent" ref="561365494"/> </object> <object class="IBObjectRecord"> <int key="objectID">142</int> <reference key="object" ref="304062529"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="1054013317"/> - </object> + </array> <reference key="parent" ref="561365494"/> </object> <object class="IBObjectRecord"> <int key="objectID">143</int> <reference key="object" ref="1054013317"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="784608752"/> - </object> + <array class="NSMutableArray" key="children"> + <reference ref="865518372"/> + </array> <reference key="parent" ref="304062529"/> </object> <object class="IBObjectRecord"> <int key="objectID">144</int> <reference key="object" ref="382860235"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="515988673"/> - </object> + <array class="NSMutableArray" key="children"> + <reference ref="916821671"/> + </array> <reference key="parent" ref="227933991"/> </object> <object class="IBObjectRecord"> @@ -1876,22 +1879,11 @@ <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> - <int key="objectID">150</int> - <reference key="object" ref="784608752"/> - <reference key="parent" ref="1054013317"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">151</int> - <reference key="object" ref="515988673"/> - <reference key="parent" ref="382860235"/> - </object> - <object class="IBObjectRecord"> <int key="objectID">152</int> <reference key="object" ref="57583972"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="447610302"/> - </object> + </array> <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> @@ -1912,10 +1904,9 @@ <object class="IBObjectRecord"> <int key="objectID">156</int> <reference key="object" ref="435790162"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="135784125"/> - </object> + </array> <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> @@ -1946,8 +1937,7 @@ <object class="IBObjectRecord"> <int key="objectID">175</int> <reference key="object" ref="568487906"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="386712492"/> <object class="IBNSLayoutConstraint" id="826159586"> <reference key="firstItem" ref="568487906"/> @@ -1981,7 +1971,7 @@ <float key="scoringTypeFloat">9</float> <int key="contentType">1</int> </object> - </object> + </array> <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> @@ -1992,8 +1982,7 @@ <object class="IBObjectRecord"> <int key="objectID">179</int> <reference key="object" ref="700724018"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="770183666"/> <object class="IBNSLayoutConstraint" id="861100117"> <reference key="firstItem" ref="700724018"/> @@ -2011,7 +2000,7 @@ <float key="scoringTypeFloat">9</float> <int key="contentType">1</int> </object> - </object> + </array> <reference key="parent" ref="199124710"/> </object> <object class="IBObjectRecord"> @@ -2047,10 +2036,9 @@ <object class="IBObjectRecord"> <int key="objectID">206</int> <reference key="object" ref="985245514"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="695849354"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -2072,15 +2060,14 @@ <int key="objectID">219</int> <reference key="object" ref="1036217935"/> <reference key="parent" ref="0"/> - <string key="objectName">Cheat values</string> + <string key="objectName">Cheat Values</string> </object> <object class="IBObjectRecord"> <int key="objectID">227</int> <reference key="object" ref="546225714"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="children"> <reference ref="141020825"/> - </object> + </array> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> @@ -2094,21 +2081,11 @@ <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> - <int key="objectID">230</int> - <reference key="object" ref="814687615"/> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> <int key="objectID">231</int> <reference key="object" ref="645683314"/> <reference key="parent" ref="1006"/> </object> <object class="IBObjectRecord"> - <int key="objectID">232</int> - <reference key="object" ref="93006757"/> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> <int key="objectID">233</int> <reference key="object" ref="826159586"/> <reference key="parent" ref="568487906"/> @@ -2123,431 +2100,303 @@ <reference key="object" ref="417333777"/> <reference key="parent" ref="199124710"/> </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>115.IBPluginDependency</string> - <string>116.IBPluginDependency</string> - <string>117.IBPluginDependency</string> - <string>118.IBPluginDependency</string> - <string>121.IBPluginDependency</string> - <string>122.IBPluginDependency</string> - <string>124.IBPluginDependency</string> - <string>125.IBPluginDependency</string> - <string>128.IBPluginDependency</string> - <string>129.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>129.IBPluginDependency</string> - <string>130.IBPluginDependency</string> - <string>131.IBPluginDependency</string> - <string>134.IBPluginDependency</string> - <string>134.NSWindowTemplate.visibleAtLaunch</string> - <string>135.IBNSViewMetadataConstraints</string> - <string>135.IBPluginDependency</string> - <string>136.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>136.IBPluginDependency</string> - <string>137.IBPluginDependency</string> - <string>138.IBPluginDependency</string> - <string>139.IBPluginDependency</string> - <string>140.IBPluginDependency</string> - <string>141.IBPluginDependency</string> - <string>142.IBPluginDependency</string> - <string>143.IBPluginDependency</string> - <string>144.IBPluginDependency</string> - <string>145.IBPluginDependency</string> - <string>148.IBPluginDependency</string> - <string>150.IBNumberFormatterBehaviorMetadataKey</string> - <string>150.IBNumberFormatterLocalizesFormatMetadataKey</string> - <string>150.IBPluginDependency</string> - <string>151.IBNumberFormatterBehaviorMetadataKey</string> - <string>151.IBNumberFormatterLocalizesFormatMetadataKey</string> - <string>151.IBPluginDependency</string> - <string>152.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>152.IBPluginDependency</string> - <string>153.IBPluginDependency</string> - <string>154.IBPluginDependency</string> - <string>155.IBPluginDependency</string> - <string>156.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>156.IBPluginDependency</string> - <string>157.IBPluginDependency</string> - <string>158.IBPluginDependency</string> - <string>159.IBPluginDependency</string> - <string>160.IBPluginDependency</string> - <string>161.IBPluginDependency</string> - <string>175.IBNSViewMetadataConstraints</string> - <string>175.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>175.IBPluginDependency</string> - <string>176.IBPluginDependency</string> - <string>179.IBNSViewMetadataConstraints</string> - <string>179.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>179.IBPluginDependency</string> - <string>180.IBPluginDependency</string> - <string>182.IBPluginDependency</string> - <string>193.IBPluginDependency</string> - <string>198.IBPluginDependency</string> - <string>199.IBPluginDependency</string> - <string>2.IBNSViewMetadataConstraints</string> - <string>2.IBPluginDependency</string> - <string>203.IBPluginDependency</string> - <string>206.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>206.IBPluginDependency</string> - <string>207.IBPluginDependency</string> - <string>208.IBPluginDependency</string> - <string>209.IBPluginDependency</string> - <string>219.IBPluginDependency</string> - <string>227.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>227.IBPluginDependency</string> - <string>228.IBPluginDependency</string> - <string>229.IBPluginDependency</string> - <string>23.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>23.IBPluginDependency</string> - <string>230.IBPluginDependency</string> - <string>231.IBPluginDependency</string> - <string>232.IBPluginDependency</string> - <string>233.IBPluginDependency</string> - <string>235.IBPluginDependency</string> - <string>236.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>4.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>4.IBPluginDependency</string> - <string>5.IBPluginDependency</string> - <string>6.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</string> - <string>6.IBPluginDependency</string> - <string>7.IBPluginDependency</string> - <string>78.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints</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> - <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> - <boolean value="NO"/> - <object class="NSMutableArray"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="657091907"/> - <reference ref="983732462"/> - <reference ref="281845918"/> - <reference ref="214982838"/> - <reference ref="666311847"/> - <reference ref="550474461"/> - <reference ref="533093812"/> - <reference ref="276712223"/> - <reference ref="417333777"/> - <reference ref="2693554"/> - <reference ref="596516289"/> - <reference ref="645028415"/> - <reference ref="84137960"/> - </object> - <string>com.apple.InterfaceBuilder.CocoaPlugin</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> - <integer value="1041"/> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1041"/> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</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> - <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> - <object class="NSMutableArray"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="720845299"/> - <reference ref="826159586"/> - </object> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <object class="NSMutableArray"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="861100117"/> - </object> - <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> - <object class="NSMutableArray"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1045634882"/> - <reference ref="29580348"/> - <reference ref="1006238045"/> - <reference ref="470267410"/> - <reference ref="646183372"/> - <reference ref="979484367"/> - <reference ref="866546206"/> - <reference ref="1007311341"/> - <reference ref="387004865"/> - <reference ref="561640744"/> - <reference ref="462358503"/> - <reference ref="310970590"/> - <reference ref="814687615"/> - <reference ref="645683314"/> - <reference ref="950122774"/> - <reference ref="93006757"/> - </object> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</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> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</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> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <boolean value="NO"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <boolean value="NO"/> - <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 class="IBObjectRecord"> + <int key="objectID">237</int> + <reference key="object" ref="522679847"/> + <reference key="parent" ref="0"/> + <string key="objectName">Cheats</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">256</int> + <reference key="object" ref="493097267"/> + <array class="NSMutableArray" key="children"> + <reference ref="636439128"/> + </array> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">257</int> + <reference key="object" ref="636439128"/> + <reference key="parent" ref="493097267"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">258</int> + <reference key="object" ref="95231187"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">259</int> + <reference key="object" ref="93006757"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">260</int> + <reference key="object" ref="814687615"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">261</int> + <reference key="object" ref="334700348"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">271</int> + <reference key="object" ref="916821671"/> + <reference key="parent" ref="382860235"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">272</int> + <reference key="object" ref="865518372"/> + <reference key="parent" ref="1054013317"/> + </object> + </array> </object> + <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="1.IBWindowTemplateEditedContentRect">{{649, 658}, {649, 357}}</string> + <boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/> + <string key="115.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="116.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="117.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="118.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="121.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="122.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="128.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="129.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="130.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="131.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="134.NSWindowTemplate.visibleAtLaunch"/> + <array class="NSMutableArray" key="135.IBNSViewMetadataConstraints"> + <reference ref="657091907"/> + <reference ref="983732462"/> + <reference ref="281845918"/> + <reference ref="214982838"/> + <reference ref="666311847"/> + <reference ref="550474461"/> + <reference ref="533093812"/> + <reference ref="276712223"/> + <reference ref="417333777"/> + <reference ref="2693554"/> + <reference ref="596516289"/> + <reference ref="645028415"/> + <reference ref="84137960"/> + </array> + <string key="135.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="136.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="137.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="138.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="139.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="140.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="141.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="142.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="143.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="148.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="152.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="152.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="153.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="154.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="155.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="156.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="156.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="157.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="158.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="159.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="160.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="161.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <array class="NSMutableArray" key="175.IBNSViewMetadataConstraints"> + <reference ref="720845299"/> + <reference ref="826159586"/> + </array> + <boolean value="NO" key="175.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="175.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="176.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <array class="NSMutableArray" key="179.IBNSViewMetadataConstraints"> + <reference ref="861100117"/> + </array> + <boolean value="NO" key="179.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="179.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="180.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="182.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="193.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <array class="NSMutableArray" key="2.IBNSViewMetadataConstraints"> + <reference ref="1045634882"/> + <reference ref="29580348"/> + <reference ref="1006238045"/> + <reference ref="470267410"/> + <reference ref="646183372"/> + <reference ref="979484367"/> + <reference ref="866546206"/> + <reference ref="1007311341"/> + <reference ref="387004865"/> + <reference ref="561640744"/> + <reference ref="462358503"/> + <reference ref="310970590"/> + <reference ref="645683314"/> + <reference ref="95231187"/> + <reference ref="814687615"/> + <reference ref="334700348"/> + <reference ref="950122774"/> + <reference ref="93006757"/> + </array> + <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="206.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="206.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="207.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="208.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="209.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="219.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="227.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="227.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="228.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="229.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="23.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="231.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="233.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="235.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="236.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="237.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="256.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="256.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="257.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="258.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="259.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="26.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="260.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="261.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="271.CustomClassName">PcsxrHexadecimalFormatter</string> + <string key="271.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="272.CustomClassName">PcsxrHexadecimalFormatter</string> + <string key="272.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="4.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="6.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="78.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="78.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="79.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> <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> + <dictionary class="NSMutableDictionary" key="localizations"/> <nil key="sourceID"/> - <int key="maxID">236</int> + <int key="maxID">274</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> + <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <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>addCheat:</string> - <string>addCheatValue:</string> - <string>clear:</string> - <string>close:</string> - <string>closeCheatEdit:</string> - <string>editCheat:</string> - <string>loadCheats:</string> - <string>removeCheatValue:</string> - <string>saveCheats:</string> + <dictionary class="NSMutableDictionary" key="actions"> + <string key="addCheat:">id</string> + <string key="addCheatValue:">id</string> + <string key="applyCheats:">id</string> + <string key="changeCheat:">id</string> + <string key="clear:">id</string> + <string key="closeCheatEdit:">id</string> + <string key="editCheat:">id</string> + <string key="loadCheats:">id</string> + <string key="removeCheatValue:">id</string> + <string key="removeCheats:">id</string> + <string key="saveCheats:">id</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="actionInfosByName"> + <object class="IBActionInfo" key="addCheat:"> + <string key="name">addCheat:</string> + <string key="candidateClassName">id</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> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> + <object class="IBActionInfo" key="addCheatValue:"> + <string key="name">addCheatValue:</string> + <string key="candidateClassName">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>addCheat:</string> - <string>addCheatValue:</string> - <string>clear:</string> - <string>close:</string> - <string>closeCheatEdit:</string> - <string>editCheat:</string> - <string>loadCheats:</string> - <string>removeCheatValue:</string> - <string>saveCheats:</string> + <object class="IBActionInfo" key="applyCheats:"> + <string key="name">applyCheats:</string> + <string key="candidateClassName">id</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">addCheat:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">addCheatValue:</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 class="IBActionInfo"> - <string key="name">closeCheatEdit:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">editCheat:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">loadCheats:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">removeCheatValue:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">saveCheats:</string> - <string key="candidateClassName">id</string> - </object> + <object class="IBActionInfo" key="changeCheat:"> + <string key="name">changeCheat:</string> + <string key="candidateClassName">id</string> </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>addressFormatter</string> - <string>cheatView</string> - <string>editCheatView</string> - <string>editCheatWindow</string> - <string>valueFormatter</string> + <object class="IBActionInfo" key="clear:"> + <string key="name">clear:</string> + <string key="candidateClassName">id</string> </object> - <object class="NSArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>NSNumberFormatter</string> - <string>NSTableView</string> - <string>NSTableView</string> - <string>NSWindow</string> - <string>NSNumberFormatter</string> + <object class="IBActionInfo" key="closeCheatEdit:"> + <string key="name">closeCheatEdit:</string> + <string key="candidateClassName">id</string> </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>addressFormatter</string> - <string>cheatView</string> - <string>editCheatView</string> - <string>editCheatWindow</string> - <string>valueFormatter</string> + <object class="IBActionInfo" key="editCheat:"> + <string key="name">editCheat:</string> + <string key="candidateClassName">id</string> </object> - <object class="NSArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">addressFormatter</string> - <string key="candidateClassName">NSNumberFormatter</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">cheatView</string> - <string key="candidateClassName">NSTableView</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">editCheatView</string> - <string key="candidateClassName">NSTableView</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">editCheatWindow</string> - <string key="candidateClassName">NSWindow</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">valueFormatter</string> - <string key="candidateClassName">NSNumberFormatter</string> - </object> + <object class="IBActionInfo" key="loadCheats:"> + <string key="name">loadCheats:</string> + <string key="candidateClassName">id</string> </object> - </object> + <object class="IBActionInfo" key="removeCheatValue:"> + <string key="name">removeCheatValue:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo" key="removeCheats:"> + <string key="name">removeCheats:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo" key="saveCheats:"> + <string key="name">saveCheats:</string> + <string key="candidateClassName">id</string> + </object> + </dictionary> + <dictionary class="NSMutableDictionary" key="outlets"> + <string key="addressFormatter">PcsxrHexadecimalFormatter</string> + <string key="cheatView">NSTableView</string> + <string key="editCheatView">NSTableView</string> + <string key="editCheatWindow">NSWindow</string> + <string key="valueFormatter">PcsxrHexadecimalFormatter</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName"> + <object class="IBToOneOutletInfo" key="addressFormatter"> + <string key="name">addressFormatter</string> + <string key="candidateClassName">PcsxrHexadecimalFormatter</string> + </object> + <object class="IBToOneOutletInfo" key="cheatView"> + <string key="name">cheatView</string> + <string key="candidateClassName">NSTableView</string> + </object> + <object class="IBToOneOutletInfo" key="editCheatView"> + <string key="name">editCheatView</string> + <string key="candidateClassName">NSTableView</string> + </object> + <object class="IBToOneOutletInfo" key="editCheatWindow"> + <string key="name">editCheatWindow</string> + <string key="candidateClassName">NSWindow</string> + </object> + <object class="IBToOneOutletInfo" key="valueFormatter"> + <string key="name">valueFormatter</string> + <string key="candidateClassName">PcsxrHexadecimalFormatter</string> + </object> + </dictionary> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">./Classes/CheatController.h</string> @@ -2561,7 +2410,15 @@ <string key="minorKey">./Classes/NSLayoutConstraint.h</string> </object> </object> - </object> + <object class="IBPartialClassDescription"> + <string key="className">PcsxrHexadecimalFormatter</string> + <string key="superclassName">NSFormatter</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">./Classes/PcsxrHexadecimalFormatter.h</string> + </object> + </object> + </array> </object> <int key="IBDocument.localizationMode">0</int> <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> @@ -2569,27 +2426,20 @@ <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"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>NSAddTemplate</string> - <string>NSRemoveTemplate</string> - <string>NSSwitch</string> - </object> - <object class="NSArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>{8, 8}</string> - <string>{8, 8}</string> - <string>{15, 15}</string> - </object> - </object> + <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <string key="NSAddTemplate">{8, 8}</string> + <string key="NSRemoveTemplate">{8, 8}</string> + <string key="NSSwitch">{15, 15}</string> + </dictionary> <bool key="IBDocument.UseAutolayout">YES</bool> </data> + <classes> + <class name="IBCustomFormatter"> + <fallbacks> + <name>NSFormatter</name> + </fallbacks> + </class> + </classes> </archive> diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj index 97e81136..af27feae 100644 --- a/macosx/Pcsxr.xcodeproj/project.pbxproj +++ b/macosx/Pcsxr.xcodeproj/project.pbxproj @@ -28,6 +28,7 @@ 2BB3D6C205427FE200831ACB /* EmuThread.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BBB1792051E113B00B84448 /* EmuThread.m */; }; 2BB3D6C305427FE200831ACB /* Plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BBB17DA051E4D0F00B84448 /* Plugin.c */; }; 2BB3D6C405427FE200831ACB /* PcsxrPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BA44361052DB2EA00E21DDD /* PcsxrPlugin.m */; }; + 550F023D17BFFD97002594DF /* PcsxrHexadecimalFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 550F023C17BFFD97002594DF /* PcsxrHexadecimalFormatter.m */; }; 551A75C917868C4E0052D185 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 551A749E17868B110052D185 /* Cocoa.framework */; }; 551A75CF17868C860052D185 /* Bladesio1PluginConfig.xib in Resources */ = {isa = PBXBuildFile; fileRef = 551A74B417868BEA0052D185 /* Bladesio1PluginConfig.xib */; }; 551A75D017868C860052D185 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 551A74B617868BEA0052D185 /* Credits.rtf */; }; @@ -444,6 +445,8 @@ 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 = 0; path = EmuThread.m; sourceTree = "<group>"; usesTabs = 1; }; 2BBB17DA051E4D0F00B84448 /* Plugin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Plugin.c; sourceTree = SOURCE_ROOT; usesTabs = 1; }; + 550F023B17BFFD97002594DF /* PcsxrHexadecimalFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PcsxrHexadecimalFormatter.h; sourceTree = "<group>"; }; + 550F023C17BFFD97002594DF /* PcsxrHexadecimalFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PcsxrHexadecimalFormatter.m; sourceTree = "<group>"; }; 551A749E17868B110052D185 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 551A74A117868B110052D185 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 551A74A217868B110052D185 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; @@ -1805,6 +1808,8 @@ 55EC05FD178916E70053AC23 /* MemBadgeView.m */, 5550D2711683C923006C56B5 /* RecentItemsMenu.h */, 5550D2721683C923006C56B5 /* RecentItemsMenu.m */, + 550F023B17BFFD97002594DF /* PcsxrHexadecimalFormatter.h */, + 550F023C17BFFD97002594DF /* PcsxrHexadecimalFormatter.m */, ); name = "Helper Classes"; sourceTree = "<group>"; @@ -2260,6 +2265,7 @@ 55EC05FE178916E80053AC23 /* MemBadgeView.m in Sources */, 55E0ACE0178B69620005C945 /* LaunchArg.m in Sources */, 5581463917AABCD100862DBF /* PcsxrCheatHandler.m in Sources */, + 550F023D17BFFD97002594DF /* PcsxrHexadecimalFormatter.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/macosx/PcsxrHexadecimalFormatter.h b/macosx/PcsxrHexadecimalFormatter.h new file mode 100644 index 00000000..ef9c1601 --- /dev/null +++ b/macosx/PcsxrHexadecimalFormatter.h @@ -0,0 +1,18 @@ +// +// PcsxrHexadecimalFormatter.h +// Pcsxr +// +// Created by C.W. Betts on 8/17/13. +// +// + +#import <Foundation/Foundation.h> + +@interface PcsxrHexadecimalFormatter : NSFormatter +{ + char hexPadding; + NSString *hexFormatString; +} +@property (nonatomic) char hexPadding; + +@end diff --git a/macosx/PcsxrHexadecimalFormatter.m b/macosx/PcsxrHexadecimalFormatter.m new file mode 100644 index 00000000..ea899b6d --- /dev/null +++ b/macosx/PcsxrHexadecimalFormatter.m @@ -0,0 +1,83 @@ +// +// PcsxrHexadecimalFormatter.m +// Pcsxr +// +// Created by C.W. Betts on 8/17/13. +// +// + +#import "PcsxrHexadecimalFormatter.h" + +@interface PcsxrHexadecimalFormatter () +@property (readwrite, retain) NSString *hexFormatString; + +@end + +@implementation PcsxrHexadecimalFormatter +@synthesize hexPadding; +- (void)setHexPadding:(char)_hexPadding +{ + hexPadding = _hexPadding; + self.hexFormatString = [NSString stringWithFormat:@"0x%%0%ilx", hexPadding]; +} + +@synthesize hexFormatString; + +- (id)init +{ + if (self = [super init]) { +#ifdef __LP64__ + self.hexPadding = 16; +#else + self.hexPadding = 8; +#endif + } + return self; +} + +- (id)initWithCoder:(NSCoder *)aDecoder +{ + if (self = [super initWithCoder:aDecoder]) { +#ifdef __LP64__ + self.hexPadding = 16; +#else + self.hexPadding = 8; +#endif + } + return self; +} + +- (NSString *)stringForObjectValue:(id)obj +{ + if ([obj isKindOfClass:[NSNumber class]]) { + return [NSString stringWithFormat:self.hexFormatString, (long)[obj integerValue]]; + } else return nil; +} + +- (NSString *)editingStringForObjectValue:(id)obj +{ + if ([obj isKindOfClass:[NSNumber class]]) { + return [NSString stringWithFormat:@"%lx", (long)[obj integerValue]]; + } else return nil; +} + +- (BOOL)getObjectValue:(out id *)obj forString:(NSString *)string errorDescription:(out NSString **)error +{ + NSString *tmpstr = nil; + if ([string hasPrefix:@"0x"]) { + NSRange zeroXRange = [string rangeOfString:@"0x"]; + tmpstr = [string stringByReplacingCharactersInRange:zeroXRange withString:@""]; + //[[NSMutableString stringWithString:string] deleteCharactersInRange:] + }else { + tmpstr = string; + } + long tmpNum = 0; + if (sscanf([tmpstr UTF8String], "%lx", &tmpNum) == 1) { + *obj = @(tmpNum); + return YES; + } else { + return NO; + } +} + +@end |
