add -rewind support, increase size of media and slots

rewind saves the state before each step.
This commit is contained in:
Kelvin Sherlock 2021-07-14 22:38:15 -04:00
parent b58a859398
commit 139ab22f2a
2 changed files with 20 additions and 5 deletions

View File

@ -31,7 +31,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<customView id="P9d-sS-qEb" customClass="FlippedView">
<rect key="frame" x="302" y="105" width="316" height="363"/>
<rect key="frame" x="302" y="105" width="326" height="363"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
<tabView initialItem="zUN-Qs-haG" id="l8R-bg-6Zm">
@ -237,6 +237,17 @@
<binding destination="-2" name="selectedTag" keyPath="self.mameSpeed" id="nFG-yA-KC1"/>
</connections>
</popUpButton>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="knB-Rn-1Cm">
<rect key="frame" x="15" y="40" width="67" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Rewind" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Y7b-jN-HCc">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameRewind" id="Hw5-n7-O27"/>
</connections>
</button>
</subviews>
</view>
</tabViewItem>
@ -386,7 +397,7 @@
</connections>
</tabView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="J9O-xI-P5J" customClass="FlippedView">
<rect key="frame" x="664" y="107" width="316" height="331"/>
<rect key="frame" x="654" y="107" width="326" height="331"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" horizontalScrollElasticity="none" id="2ue-XT-byh">
@ -424,7 +435,7 @@
</scroller>
</scrollView>
<searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" id="pNl-g4-ZLh" customClass="AutocompleteControl">
<rect key="frame" x="664" y="446" width="316" height="22"/>
<rect key="frame" x="654" y="446" width="326" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Software List" usesSingleLineMode="YES" bezelStyle="round" id="sMi-a3-XEn">
<font key="font" metaFont="system"/>

View File

@ -49,6 +49,7 @@ static NSString *kContextMachine = @"kContextMachine";
@property BOOL mameMouse;
@property BOOL mameSamples;
@property BOOL mameBGFX;
@property BOOL mameRewind;
@property BOOL mameAVI;
@property BOOL mameWAV;
@ -149,6 +150,7 @@ static int EffectsIndex(NSString *str) {
[self setMameSamples: NO];
[self setMameSquarePixels: NO];
[self setMameDebug: NO];
[self setMameRewind: NO];
[self setMameWindowMode: 1]; // default = 1x window.
[self setMameBackend: 0];
@ -214,7 +216,7 @@ static void AddSubview(NSView *parent, NSView *child) {
//@"mameMachine", // - handled
@"mameSquarePixels", @"mameWindowMode",
@"mameMouse", @"mameSamples",
@"mameDebug",
@"mameDebug", @"mameRewind",
@"mameSpeed",
@"mameAVI", @"mameAVIPath",
@"mameWAV", @"mameWAVPath",
@ -460,7 +462,7 @@ static NSString *ShellQuote(NSString *s) {
[argv addObject: @"-nosamples"];
if (_mameDebug) [argv addObject: @"-debug"];
if (_mameRewind) [argv addObject: @"-rewind"];
/*
@ -874,6 +876,7 @@ static NSString *ShellQuote(NSString *s) {
#define _(a,b) n = [d objectForKey: a]; if ([n isKindOfClass: NumberClass]) [self b : [n boolValue]]
_(@"debug", setMameDebug);
_(@"rewind", setMameRewind);
_(@"squarePixels", setMameSquarePixels);
_(@"mouse", setMameMouse);
_(@"samples", setMameSamples);
@ -948,6 +951,7 @@ static NSString *ShellQuote(NSString *s) {
#define _(v,k) [dict setObject: v ? (NSObject *)kCFBooleanTrue : (NSObject *)kCFBooleanFalse forKey: k]
_(_mameDebug, @"debug");
_(_mameRewind, @"rewind");
_(_mameSquarePixels, @"squarePixels");
_(_mameMouse, @"mouse");
_(_mameSamples, @"samples");