Revision selection
This commit is contained in:
parent
51b7780d83
commit
cbbe3fe207
@ -35,7 +35,11 @@
|
|||||||
@"GBFilter": @"NearestNeighbor",
|
@"GBFilter": @"NearestNeighbor",
|
||||||
@"GBColorCorrection": @(GB_COLOR_CORRECTION_EMULATE_HARDWARE),
|
@"GBColorCorrection": @(GB_COLOR_CORRECTION_EMULATE_HARDWARE),
|
||||||
@"GBHighpassFilter": @(GB_HIGHPASS_REMOVE_DC_OFFSET),
|
@"GBHighpassFilter": @(GB_HIGHPASS_REMOVE_DC_OFFSET),
|
||||||
@"GBRewindLength": @(10)
|
@"GBRewindLength": @(10),
|
||||||
|
|
||||||
|
@"GBDMGModel": @(GB_MODEL_DMG_B),
|
||||||
|
@"GBCGBModel": @(GB_MODEL_CGB_E),
|
||||||
|
@"GBSGBModel": @(GB_MODEL_SGB2),
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,14 +19,6 @@ enum model {
|
|||||||
MODEL_SGB,
|
MODEL_SGB,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GB_model_t cocoa_to_internal_model[] =
|
|
||||||
{
|
|
||||||
[MODEL_DMG] = GB_MODEL_DMG_B,
|
|
||||||
[MODEL_CGB] = GB_MODEL_CGB_E,
|
|
||||||
[MODEL_AGB] = GB_MODEL_AGB,
|
|
||||||
[MODEL_SGB] = GB_MODEL_SGB,
|
|
||||||
};
|
|
||||||
|
|
||||||
@interface Document ()
|
@interface Document ()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -62,6 +54,7 @@ static const GB_model_t cocoa_to_internal_model[] =
|
|||||||
enum model current_model;
|
enum model current_model;
|
||||||
|
|
||||||
bool rewind;
|
bool rewind;
|
||||||
|
bool modelsChanging;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property GBAudioClient *audioClient;
|
@property GBAudioClient *audioClient;
|
||||||
@ -159,9 +152,27 @@ static void printImage(GB_gameboy_t *gb, uint32_t *image, uint8_t height,
|
|||||||
return [[NSBundle mainBundle] pathForResource:name ofType:@"bin"];
|
return [[NSBundle mainBundle] pathForResource:name ofType:@"bin"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (GB_model_t)internalModel
|
||||||
|
{
|
||||||
|
switch (current_model) {
|
||||||
|
case MODEL_DMG:
|
||||||
|
return (GB_model_t)[[NSUserDefaults standardUserDefaults] integerForKey:@"GBDMGModel"];
|
||||||
|
|
||||||
|
case MODEL_NONE:
|
||||||
|
case MODEL_CGB:
|
||||||
|
return (GB_model_t)[[NSUserDefaults standardUserDefaults] integerForKey:@"GBCGBModel"];
|
||||||
|
|
||||||
|
case MODEL_SGB:
|
||||||
|
return (GB_model_t)[[NSUserDefaults standardUserDefaults] integerForKey:@"GBSGBModel"];
|
||||||
|
|
||||||
|
case MODEL_AGB:
|
||||||
|
return GB_MODEL_AGB;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (void) initCommon
|
- (void) initCommon
|
||||||
{
|
{
|
||||||
GB_init(&gb, cocoa_to_internal_model[current_model]);
|
GB_init(&gb, [self internalModel]);
|
||||||
GB_set_user_data(&gb, (__bridge void *)(self));
|
GB_set_user_data(&gb, (__bridge void *)(self));
|
||||||
GB_set_vblank_callback(&gb, (GB_vblank_callback_t) vblank);
|
GB_set_vblank_callback(&gb, (GB_vblank_callback_t) vblank);
|
||||||
GB_set_log_callback(&gb, (GB_log_callback_t) consoleLog);
|
GB_set_log_callback(&gb, (GB_log_callback_t) consoleLog);
|
||||||
@ -253,17 +264,18 @@ static void printImage(GB_gameboy_t *gb, uint32_t *image, uint8_t height,
|
|||||||
{
|
{
|
||||||
[self stop];
|
[self stop];
|
||||||
size_t old_width = GB_get_screen_width(&gb);
|
size_t old_width = GB_get_screen_width(&gb);
|
||||||
[self loadBootROM];
|
|
||||||
|
|
||||||
if ([sender tag] != MODEL_NONE) {
|
if ([sender tag] != MODEL_NONE) {
|
||||||
current_model = (enum model)[sender tag];
|
current_model = (enum model)[sender tag];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([sender tag] == MODEL_NONE) {
|
[self loadBootROM];
|
||||||
|
|
||||||
|
if (!modelsChanging && [sender tag] == MODEL_NONE) {
|
||||||
GB_reset(&gb);
|
GB_reset(&gb);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
GB_switch_model_and_reset(&gb, cocoa_to_internal_model[current_model]);
|
GB_switch_model_and_reset(&gb, [self internalModel]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old_width != GB_get_screen_width(&gb)) {
|
if (old_width != GB_get_screen_width(&gb)) {
|
||||||
@ -366,6 +378,21 @@ static void printImage(GB_gameboy_t *gb, uint32_t *image, uint8_t height,
|
|||||||
name:@"GBRewindLengthChanged"
|
name:@"GBRewindLengthChanged"
|
||||||
object:nil];
|
object:nil];
|
||||||
|
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||||
|
selector:@selector(dmgModelChanged)
|
||||||
|
name:@"GBDMGModelChanged"
|
||||||
|
object:nil];
|
||||||
|
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||||
|
selector:@selector(sgbModelChanged)
|
||||||
|
name:@"GBSGBModelChanged"
|
||||||
|
object:nil];
|
||||||
|
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||||
|
selector:@selector(cgbModelChanged)
|
||||||
|
name:@"GBCGBModelChanged"
|
||||||
|
object:nil];
|
||||||
|
|
||||||
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"EmulateDMG"]) {
|
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"EmulateDMG"]) {
|
||||||
current_model = MODEL_DMG;
|
current_model = MODEL_DMG;
|
||||||
}
|
}
|
||||||
@ -1416,6 +1443,33 @@ static void printImage(GB_gameboy_t *gb, uint32_t *image, uint8_t height,
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)dmgModelChanged
|
||||||
|
{
|
||||||
|
modelsChanging = true;
|
||||||
|
if (current_model == MODEL_DMG) {
|
||||||
|
[self reset:nil];
|
||||||
|
}
|
||||||
|
modelsChanging = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)sgbModelChanged
|
||||||
|
{
|
||||||
|
modelsChanging = true;
|
||||||
|
if (current_model == MODEL_SGB) {
|
||||||
|
[self reset:nil];
|
||||||
|
}
|
||||||
|
modelsChanging = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)cgbModelChanged
|
||||||
|
{
|
||||||
|
modelsChanging = true;
|
||||||
|
if (current_model == MODEL_CGB) {
|
||||||
|
[self reset:nil];
|
||||||
|
}
|
||||||
|
modelsChanging = false;
|
||||||
|
}
|
||||||
|
|
||||||
- (void)setFileURL:(NSURL *)fileURL
|
- (void)setFileURL:(NSURL *)fileURL
|
||||||
{
|
{
|
||||||
[super setFileURL:fileURL];
|
[super setFileURL:fileURL];
|
||||||
|
@ -12,4 +12,9 @@
|
|||||||
@property (strong) IBOutlet NSButton *skipButton;
|
@property (strong) IBOutlet NSButton *skipButton;
|
||||||
@property (strong) IBOutlet NSMenuItem *bootROMsFolderItem;
|
@property (strong) IBOutlet NSMenuItem *bootROMsFolderItem;
|
||||||
@property (strong) IBOutlet NSPopUpButtonCell *bootROMsButton;
|
@property (strong) IBOutlet NSPopUpButtonCell *bootROMsButton;
|
||||||
|
|
||||||
|
@property (weak) IBOutlet NSPopUpButton *dmgPopupButton;
|
||||||
|
@property (weak) IBOutlet NSPopUpButton *sgbPopupButton;
|
||||||
|
@property (weak) IBOutlet NSPopUpButton *cgbPopupButton;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
NSPopUpButton *_rewindPopupButton;
|
NSPopUpButton *_rewindPopupButton;
|
||||||
NSButton *_aspectRatioCheckbox;
|
NSButton *_aspectRatioCheckbox;
|
||||||
NSEventModifierFlags previousModifiers;
|
NSEventModifierFlags previousModifiers;
|
||||||
|
|
||||||
|
NSPopUpButton *_dmgPopupButton, *_sgbPopupButton, *_cgbPopupButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSArray *)filterList
|
+ (NSArray *)filterList
|
||||||
@ -362,4 +364,59 @@
|
|||||||
[self updateBootROMFolderButton];
|
[self updateBootROMFolderButton];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)setDmgPopupButton:(NSPopUpButton *)dmgPopupButton
|
||||||
|
{
|
||||||
|
_dmgPopupButton = dmgPopupButton;
|
||||||
|
[_dmgPopupButton selectItemWithTag:[[NSUserDefaults standardUserDefaults] integerForKey:@"GBDMGModel"]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSPopUpButton *)dmgPopupButton
|
||||||
|
{
|
||||||
|
return _dmgPopupButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setSgbPopupButton:(NSPopUpButton *)sgbPopupButton
|
||||||
|
{
|
||||||
|
_sgbPopupButton = sgbPopupButton;
|
||||||
|
[_sgbPopupButton selectItemWithTag:[[NSUserDefaults standardUserDefaults] integerForKey:@"GBSGBModel"]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSPopUpButton *)sgbPopupButton
|
||||||
|
{
|
||||||
|
return _sgbPopupButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCgbPopupButton:(NSPopUpButton *)cgbPopupButton
|
||||||
|
{
|
||||||
|
_cgbPopupButton = cgbPopupButton;
|
||||||
|
[_cgbPopupButton selectItemWithTag:[[NSUserDefaults standardUserDefaults] integerForKey:@"GBCGBModel"]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSPopUpButton *)cgbPopupButton
|
||||||
|
{
|
||||||
|
return _cgbPopupButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)dmgModelChanged:(id)sender
|
||||||
|
{
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:@([sender selectedTag])
|
||||||
|
forKey:@"GBDMGModel"];
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"GBDMGModelChanged" object:nil];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)sgbModelChanged:(id)sender
|
||||||
|
{
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:@([sender selectedTag])
|
||||||
|
forKey:@"GBSGBModel"];
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"GBSGBModelChanged" object:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)cgbModelChanged:(id)sender
|
||||||
|
{
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:@([sender selectedTag])
|
||||||
|
forKey:@"GBCGBModel"];
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"GBCGBModelChanged" object:nil];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -61,13 +61,16 @@
|
|||||||
<outlet property="aspectRatioCheckbox" destination="Vfj-tg-7OP" id="Yw0-xS-DBr"/>
|
<outlet property="aspectRatioCheckbox" destination="Vfj-tg-7OP" id="Yw0-xS-DBr"/>
|
||||||
<outlet property="bootROMsButton" destination="T3Y-Ln-Onl" id="tdL-Yv-E2K"/>
|
<outlet property="bootROMsButton" destination="T3Y-Ln-Onl" id="tdL-Yv-E2K"/>
|
||||||
<outlet property="bootROMsFolderItem" destination="Dzv-Gc-zoL" id="yhV-ZI-avD"/>
|
<outlet property="bootROMsFolderItem" destination="Dzv-Gc-zoL" id="yhV-ZI-avD"/>
|
||||||
|
<outlet property="cgbPopupButton" destination="dlD-sk-SHO" id="4tg-SR-e17"/>
|
||||||
<outlet property="colorCorrectionPopupButton" destination="VEz-N4-uP6" id="EO2-Vt-JFJ"/>
|
<outlet property="colorCorrectionPopupButton" destination="VEz-N4-uP6" id="EO2-Vt-JFJ"/>
|
||||||
<outlet property="configureJoypadButton" destination="Qa7-Z7-yfO" id="RaX-P3-oCX"/>
|
<outlet property="configureJoypadButton" destination="Qa7-Z7-yfO" id="RaX-P3-oCX"/>
|
||||||
<outlet property="controlsTableView" destination="UDd-IJ-fxX" id="a1D-Md-yXv"/>
|
<outlet property="controlsTableView" destination="UDd-IJ-fxX" id="a1D-Md-yXv"/>
|
||||||
<outlet property="delegate" destination="-2" id="ASc-vN-Zbq"/>
|
<outlet property="delegate" destination="-2" id="ASc-vN-Zbq"/>
|
||||||
|
<outlet property="dmgPopupButton" destination="LFw-Uk-cPR" id="KDw-i2-k4u"/>
|
||||||
<outlet property="graphicsFilterPopupButton" destination="6pP-kK-EEC" id="LS7-HY-kHC"/>
|
<outlet property="graphicsFilterPopupButton" destination="6pP-kK-EEC" id="LS7-HY-kHC"/>
|
||||||
<outlet property="highpassFilterPopupButton" destination="T69-6N-dhT" id="0p6-4m-hb1"/>
|
<outlet property="highpassFilterPopupButton" destination="T69-6N-dhT" id="0p6-4m-hb1"/>
|
||||||
<outlet property="rewindPopupButton" destination="7fg-Ww-JjR" id="Ka2-TP-B1x"/>
|
<outlet property="rewindPopupButton" destination="7fg-Ww-JjR" id="Ka2-TP-B1x"/>
|
||||||
|
<outlet property="sgbPopupButton" destination="dza-T7-RkX" id="B0o-Nb-pIH"/>
|
||||||
<outlet property="skipButton" destination="d2I-jU-sLb" id="udX-8K-0sK"/>
|
<outlet property="skipButton" destination="d2I-jU-sLb" id="udX-8K-0sK"/>
|
||||||
</connections>
|
</connections>
|
||||||
<point key="canvasLocation" x="183" y="354"/>
|
<point key="canvasLocation" x="183" y="354"/>
|
||||||
@ -166,11 +169,11 @@
|
|||||||
<point key="canvasLocation" x="-176" y="589"/>
|
<point key="canvasLocation" x="-176" y="589"/>
|
||||||
</customView>
|
</customView>
|
||||||
<customView id="ymk-46-SX7">
|
<customView id="ymk-46-SX7">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="292" height="144"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="320"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7fg-Ww-JjR">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7fg-Ww-JjR">
|
||||||
<rect key="frame" x="30" y="17" width="245" height="26"/>
|
<rect key="frame" x="30" y="193" width="245" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Disabled" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="lxQ-4n-kEv" id="lvb-QF-0Ht">
|
<popUpButtonCell key="cell" type="push" title="Disabled" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="lxQ-4n-kEv" id="lvb-QF-0Ht">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
@ -194,7 +197,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="w9w-yX-KxB">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="w9w-yX-KxB">
|
||||||
<rect key="frame" x="18" y="49" width="256" height="17"/>
|
<rect key="frame" x="18" y="225" width="256" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rewinding Duration:" id="JaO-5h-ugl">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Rewinding Duration:" id="JaO-5h-ugl">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@ -203,7 +206,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MI2-ql-f6M">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MI2-ql-f6M">
|
||||||
<rect key="frame" x="18" y="107" width="256" height="17"/>
|
<rect key="frame" x="18" y="283" width="256" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Boot ROMs location:" id="nj0-Cb-gEA">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Boot ROMs location:" id="nj0-Cb-gEA">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@ -212,7 +215,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wC4-aJ-mhQ">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wC4-aJ-mhQ">
|
||||||
<rect key="frame" x="30" y="75" width="245" height="26"/>
|
<rect key="frame" x="30" y="251" width="245" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Use Built-in Boot ROMs" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Tnm-SR-ZEm" id="T3Y-Ln-Onl">
|
<popUpButtonCell key="cell" type="push" title="Use Built-in Boot ROMs" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Tnm-SR-ZEm" id="T3Y-Ln-Onl">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
@ -235,8 +238,97 @@
|
|||||||
</menu>
|
</menu>
|
||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wg8-hJ-df9">
|
||||||
|
<rect key="frame" x="18" y="157" width="256" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Game Boy Revision:" id="GIA-ep-SBi">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LFw-Uk-cPR">
|
||||||
|
<rect key="frame" x="30" y="125" width="245" height="26"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" title="DMG-CPU B" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="2" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" selectedItem="aXT-sE-m5Z" id="FuX-Hc-uO7">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" autoenablesItems="NO" id="R0h-k6-Q5l">
|
||||||
|
<items>
|
||||||
|
<menuItem title="DMG-CPU 0" enabled="NO" id="pvp-Mo-9S8"/>
|
||||||
|
<menuItem title="DMG-CPU A" tag="1" enabled="NO" id="QLn-5i-Vlg"/>
|
||||||
|
<menuItem title="DMG-CPU B" state="on" tag="2" id="aXT-sE-m5Z"/>
|
||||||
|
<menuItem title="DMG-CPU C" tag="3" enabled="NO" id="Ecl-YM-oAA"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="dmgModelChanged:" target="QvC-M9-y7g" id="FIe-Wz-aSc"/>
|
||||||
|
</connections>
|
||||||
|
</popUpButton>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MAq-1X-Gpo">
|
||||||
|
<rect key="frame" x="18" y="49" width="256" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Game Boy Color Revision:" id="edD-t7-vwk">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dlD-sk-SHO">
|
||||||
|
<rect key="frame" x="30" y="17" width="245" height="26"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" title="CPU-CGB E" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="517" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" selectedItem="3lF-1Q-2SS" id="Edt-1S-dXz">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" autoenablesItems="NO" id="bbF-hB-Hv7">
|
||||||
|
<items>
|
||||||
|
<menuItem title="CPU-CGB 0" tag="512" enabled="NO" id="2Uk-u3-6Gw"/>
|
||||||
|
<menuItem title="CPU-CGB A" tag="513" enabled="NO" id="axv-yk-RWM"/>
|
||||||
|
<menuItem title="CPU-CGB B" tag="514" enabled="NO" id="NtJ-oo-IM2"/>
|
||||||
|
<menuItem title="CPU-CGB C" tag="515" id="9YL-u8-12z"/>
|
||||||
|
<menuItem title="CPU-CGB D" tag="516" enabled="NO" id="c76-oF-fkU"/>
|
||||||
|
<menuItem title="CPU-CGB E" state="on" tag="517" id="3lF-1Q-2SS"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="cgbModelChanged:" target="QvC-M9-y7g" id="SY1-oj-VWQ"/>
|
||||||
|
</connections>
|
||||||
|
</popUpButton>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tAa-0A-0fP">
|
||||||
|
<rect key="frame" x="18" y="103" width="256" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Super Game Boy Model:" id="d0g-rk-FK0">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dza-T7-RkX">
|
||||||
|
<rect key="frame" x="30" y="71" width="245" height="26"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" title="Super Game Boy (NTSC)" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="4" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" selectedItem="x5A-7f-ef9" id="2Mt-ci-bB0">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" autoenablesItems="NO" id="czw-Hi-jyM">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Super Game Boy (NTSC)" state="on" tag="4" id="x5A-7f-ef9"/>
|
||||||
|
<menuItem title="Super Game Boy (PAL)" tag="4100" id="Cix-n2-l4L"/>
|
||||||
|
<menuItem title="Super Game Boy 2" tag="257" id="gZG-1g-KF0"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="sgbModelChanged:" target="QvC-M9-y7g" id="ybk-EV-WPS"/>
|
||||||
|
</connections>
|
||||||
|
</popUpButton>
|
||||||
|
<box verticalHuggingPriority="750" fixedFrame="YES" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="mdm-eW-ia1">
|
||||||
|
<rect key="frame" x="12" y="180" width="268" height="5"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
</box>
|
||||||
</subviews>
|
</subviews>
|
||||||
<point key="canvasLocation" x="-176" y="760"/>
|
<point key="canvasLocation" x="-176" y="848"/>
|
||||||
</customView>
|
</customView>
|
||||||
<customView id="Zn1-Y5-RbR">
|
<customView id="Zn1-Y5-RbR">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="292" height="86"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="86"/>
|
||||||
@ -292,7 +384,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<clipView key="contentView" focusRingType="none" ambiguous="YES" drawsBackground="NO" id="AMs-PO-nid">
|
<clipView key="contentView" focusRingType="none" ambiguous="YES" drawsBackground="NO" id="AMs-PO-nid">
|
||||||
<rect key="frame" x="1" y="1" width="238" height="209"/>
|
<rect key="frame" x="1" y="1" width="238" height="209"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView focusRingType="none" appearanceType="vibrantLight" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" id="UDd-IJ-fxX">
|
<tableView focusRingType="none" appearanceType="vibrantLight" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" id="UDd-IJ-fxX">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="238" height="209"/>
|
<rect key="frame" x="0.0" y="0.0" width="238" height="209"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user