Skip to content

Commit bfcd983

Browse files
committed
Turned MyController::emu into a computed optional
1 parent 5d9a0c8 commit bfcd983

26 files changed

+557
-522
lines changed

GUI/Defaults.swift

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -702,6 +702,8 @@ extension Configuration {
702702

703703
debug(.defaults)
704704

705+
guard let emu = emu else { return }
706+
705707
let defaults = EmulatorProxy.defaults!
706708
let fm = FileManager.default
707709
var url: URL?
@@ -806,7 +808,7 @@ extension Configuration {
806808
debug(.defaults)
807809
let defaults = EmulatorProxy.defaults!
808810

809-
emu.suspend()
811+
emu?.suspend()
810812

811813
machineType = defaults.get(.AMIGA_VIDEO_FORMAT)
812814
cpuRev = defaults.get(.CPU_REVISION)
@@ -816,15 +818,15 @@ extension Configuration {
816818
ciaRev = defaults.get(.CIA_REVISION)
817819
rtClock = defaults.get(.RTC_MODEL)
818820

819-
emu.resume()
821+
emu?.resume()
820822
}
821823

822824
func saveChipsetUserDefaults() {
823825

824826
debug(.defaults)
825827
let defaults = EmulatorProxy.defaults!
826828

827-
emu.suspend()
829+
emu?.suspend()
828830

829831
defaults.set(.AMIGA_VIDEO_FORMAT, machineType)
830832
defaults.set(.CPU_REVISION, cpuRev)
@@ -835,7 +837,7 @@ extension Configuration {
835837
defaults.set(.RTC_MODEL, rtClock)
836838
defaults.save()
837839

838-
emu.resume()
840+
emu?.resume()
839841
}
840842
}
841843

@@ -873,8 +875,8 @@ extension Configuration {
873875
debug(.defaults)
874876
let defaults = EmulatorProxy.defaults!
875877

876-
emu.suspend()
877-
878+
emu?.suspend()
879+
878880
defaults.set(.MEM_CHIP_RAM, chipRam)
879881
defaults.set(.MEM_SLOW_RAM, slowRam)
880882
defaults.set(.MEM_FAST_RAM, fastRam)
@@ -883,15 +885,15 @@ extension Configuration {
883885
defaults.set(.MEM_UNMAPPING_TYPE, unmappingType)
884886
defaults.save()
885887

886-
emu.resume()
888+
emu?.resume()
887889
}
888890

889891
func applyMemoryUserDefaults() {
890892

891893
debug(.defaults)
892894
let defaults = EmulatorProxy.defaults!
893895

894-
emu.suspend()
896+
emu?.suspend()
895897

896898
chipRam = defaults.get(.MEM_CHIP_RAM)
897899
slowRam = defaults.get(.MEM_SLOW_RAM)
@@ -900,7 +902,7 @@ extension Configuration {
900902
bankMap = defaults.get(.MEM_BANKMAP)
901903
unmappingType = defaults.get(.MEM_UNMAPPING_TYPE)
902904

903-
emu.resume()
905+
emu?.resume()
904906
}
905907
}
906908

@@ -959,8 +961,8 @@ extension Configuration {
959961
debug(.defaults)
960962
let defaults = EmulatorProxy.defaults!
961963

962-
emu.suspend()
963-
964+
emu?.suspend()
965+
964966
defaults.set(.DRIVE_CONNECT, 0, df0Connected)
965967
defaults.set(.DRIVE_CONNECT, 1, df1Connected)
966968
defaults.set(.DRIVE_CONNECT, 2, df2Connected)
@@ -999,15 +1001,15 @@ extension Configuration {
9991001

10001002
defaults.save()
10011003

1002-
emu.resume()
1004+
emu?.resume()
10031005
}
10041006

10051007
func applyPeripheralsUserDefaults() {
10061008

10071009
debug(.defaults)
10081010
let defaults = EmulatorProxy.defaults!
10091011

1010-
emu.suspend()
1012+
emu?.suspend()
10111013

10121014
df0Connected = defaults.get(.DRIVE_CONNECT, 0) != 0
10131015
df1Connected = defaults.get(.DRIVE_CONNECT, 1) != 0
@@ -1045,7 +1047,7 @@ extension Configuration {
10451047
autofireBullets = defaults.get(.JOY_AUTOFIRE_BULLETS, 0)
10461048
autofireDelay = defaults.get(.JOY_AUTOFIRE_DELAY, 0)
10471049

1048-
emu.resume()
1050+
emu?.resume()
10491051
}
10501052
}
10511053

@@ -1090,7 +1092,7 @@ extension Configuration {
10901092
debug(.defaults)
10911093
let defaults = EmulatorProxy.defaults!
10921094

1093-
emu.suspend()
1095+
emu?.suspend()
10941096

10951097
warpBoot = defaults.get(.AMIGA_WARP_BOOT)
10961098
warpMode = defaults.get(.AMIGA_WARP_MODE)
@@ -1103,15 +1105,15 @@ extension Configuration {
11031105
wsCompressor = defaults.get(.AMIGA_WS_COMPRESSION)
11041106
snapCompressor = defaults.get(.AMIGA_SNAP_COMPRESSOR)
11051107

1106-
emu.resume()
1108+
emu?.resume()
11071109
}
11081110

11091111
func savePerformanceUserDefaults() {
11101112

11111113
debug(.defaults)
11121114
let defaults = EmulatorProxy.defaults!
11131115

1114-
emu.suspend()
1116+
emu?.suspend()
11151117

11161118
defaults.set(.AMIGA_WARP_MODE, warpMode)
11171119
defaults.set(.AMIGA_WARP_BOOT, warpBoot)
@@ -1125,7 +1127,7 @@ extension Configuration {
11251127
defaults.set(.AMIGA_SNAP_COMPRESSOR, snapCompressor)
11261128
defaults.save()
11271129

1128-
emu.resume()
1130+
emu?.resume()
11291131
}
11301132
}
11311133

@@ -1171,8 +1173,8 @@ extension Configuration {
11711173
debug(.defaults)
11721174
let defaults = EmulatorProxy.defaults!
11731175

1174-
emu.suspend()
1175-
1176+
emu?.suspend()
1177+
11761178
defaults.set(.BLITTER_ACCURACY, blitterAccuracy)
11771179
defaults.set(.AGNUS_PTR_DROPS, ptrDrops)
11781180
defaults.set(.CIA_TODBUG, [0,1], todBug)
@@ -1189,16 +1191,16 @@ extension Configuration {
11891191
defaults.set(.MEM_SLOW_RAM_MIRROR, slowRamMirror)
11901192
defaults.save()
11911193

1192-
emu.resume()
1194+
emu?.resume()
11931195
}
11941196

11951197
func applyCompatibilityUserDefaults() {
11961198

11971199
debug(.defaults)
11981200
let defaults = EmulatorProxy.defaults!
11991201

1200-
emu.suspend()
1201-
1202+
emu?.suspend()
1203+
12021204
blitterAccuracy = defaults.get(.BLITTER_ACCURACY)
12031205
ptrDrops = defaults.get(.AGNUS_PTR_DROPS) != 0
12041206
todBug = defaults.get(.CIA_TODBUG) != 0
@@ -1214,7 +1216,7 @@ extension Configuration {
12141216
slowRamDelay = defaults.get(.MEM_SLOW_RAM_DELAY) != 0
12151217
slowRamMirror = defaults.get(.MEM_SLOW_RAM_MIRROR) != 0
12161218

1217-
emu.resume()
1219+
emu?.resume()
12181220
}
12191221
}
12201222

@@ -1266,8 +1268,8 @@ extension Configuration {
12661268
debug(.defaults)
12671269
let defaults = EmulatorProxy.defaults!
12681270

1269-
emu.suspend()
1270-
1271+
emu?.suspend()
1272+
12711273
defaults.set(.AUD_VOL0, vol0)
12721274
defaults.set(.AUD_VOL1, vol1)
12731275
defaults.set(.AUD_VOL2, vol2)
@@ -1297,15 +1299,15 @@ extension Configuration {
12971299

12981300
defaults.save()
12991301

1300-
emu.resume()
1302+
emu?.resume()
13011303
}
13021304

13031305
func applyAudioUserDefaults() {
13041306

13051307
debug(.defaults)
13061308
let defaults = EmulatorProxy.defaults!
13071309

1308-
emu.suspend()
1310+
emu?.suspend()
13091311

13101312
vol0 = defaults.get(.AUD_VOL0)
13111313
vol1 = defaults.get(.AUD_VOL1)
@@ -1339,7 +1341,7 @@ extension Configuration {
13391341
audioBufferSize = defaults.get(.AUD_BUFFER_SIZE, audioBufferSize)
13401342
asr = defaults.get(.AUD_ASR, asr)
13411343

1342-
emu.resume()
1344+
emu?.resume()
13431345
}
13441346
}
13451347

@@ -1477,39 +1479,39 @@ extension Configuration {
14771479

14781480
debug(.defaults)
14791481

1480-
emu.suspend()
1482+
emu?.suspend()
14811483

14821484
saveColorUserDefaults()
14831485
saveGeometryUserDefaults()
14841486
saveShaderUserDefaults()
14851487

1486-
emu.resume()
1488+
emu?.resume()
14871489
}
14881490

14891491
func saveColorUserDefaults() {
14901492

14911493
debug(.defaults)
14921494
let defaults = EmulatorProxy.defaults!
14931495

1494-
emu.suspend()
1495-
1496+
emu?.suspend()
1497+
14961498
defaults.set(.MON_PALETTE, palette)
14971499
defaults.set(.MON_BRIGHTNESS, brightness)
14981500
defaults.set(.MON_CONTRAST, contrast)
14991501
defaults.set(.MON_SATURATION, saturation)
15001502

15011503
defaults.save()
15021504

1503-
emu.resume()
1505+
emu?.resume()
15041506
}
15051507

15061508
func saveGeometryUserDefaults() {
15071509

15081510
debug(.defaults)
15091511
let defaults = EmulatorProxy.defaults!
15101512

1511-
emu.suspend()
1512-
1513+
emu?.suspend()
1514+
15131515
defaults.set(.MON_ZOOM, Int(zoom))
15141516
defaults.set(.MON_HZOOM, Int(hZoom))
15151517
defaults.set(.MON_VZOOM, Int(vZoom))
@@ -1519,16 +1521,16 @@ extension Configuration {
15191521

15201522
defaults.save()
15211523

1522-
emu.resume()
1524+
emu?.resume()
15231525
}
15241526

15251527
func saveShaderUserDefaults() {
15261528

15271529
debug(.defaults)
15281530
let defaults = EmulatorProxy.defaults!
15291531

1530-
emu.suspend()
1531-
1532+
emu?.suspend()
1533+
15321534
defaults.set(.MON_ENHANCER, enhancer)
15331535
defaults.set(.MON_UPSCALER, upscaler)
15341536
defaults.set(.MON_BLUR, blur)
@@ -1550,7 +1552,7 @@ extension Configuration {
15501552

15511553
defaults.save()
15521554

1553-
emu.resume()
1555+
emu?.resume()
15541556
}
15551557

15561558
func applyVideoUserDefaults() {
@@ -1567,40 +1569,40 @@ extension Configuration {
15671569
debug(.defaults)
15681570
let defaults = EmulatorProxy.defaults!
15691571

1570-
emu.suspend()
1571-
1572+
emu?.suspend()
1573+
15721574
palette = defaults.get(.MON_PALETTE)
15731575
brightness = defaults.get(.MON_BRIGHTNESS)
15741576
contrast = defaults.get(.MON_CONTRAST)
15751577
saturation = defaults.get(.MON_SATURATION)
15761578

1577-
emu.resume()
1579+
emu?.resume()
15781580
}
15791581

15801582
func applyGeometryUserDefaults() {
15811583

15821584
debug(.defaults)
15831585
let defaults = EmulatorProxy.defaults!
15841586

1585-
emu.suspend()
1586-
1587+
emu?.suspend()
1588+
15871589
zoom = defaults.get(.MON_ZOOM)
15881590
hZoom = defaults.get(.MON_HZOOM)
15891591
vZoom = defaults.get(.MON_VZOOM)
15901592
center = defaults.get(.MON_CENTER)
15911593
hCenter = defaults.get(.MON_HCENTER)
15921594
vCenter = defaults.get(.MON_VCENTER)
15931595

1594-
emu.resume()
1596+
emu?.resume()
15951597
}
15961598

15971599
func applyShaderUserDefaults() {
15981600

15991601
debug(.defaults)
16001602
let defaults = EmulatorProxy.defaults!
16011603

1602-
emu.suspend()
1603-
1604+
emu?.suspend()
1605+
16041606
enhancer = defaults.get(.MON_ENHANCER)
16051607
upscaler = defaults.get(.MON_UPSCALER)
16061608
blur = defaults.get(.MON_BLUR)
@@ -1620,6 +1622,6 @@ extension Configuration {
16201622
disalignmentH = defaults.get(.MON_DISALIGNMENT_H)
16211623
disalignmentV = defaults.get(.MON_DISALIGNMENT_V)
16221624

1623-
emu.resume()
1625+
emu?.resume()
16241626
}
16251627
}

GUI/Dialogs/Inspector/BankTableView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class BankTableView: NSTableView {
1212

1313
@IBOutlet weak var inspector: Inspector!
1414

15-
var amiga: EmulatorProxy { return inspector.parent.emu }
15+
var amiga: EmulatorProxy? { return inspector.parent.emu }
1616

1717
// Displayed memory bank
1818
var bank = 0

0 commit comments

Comments
 (0)