From 1ab2b8ea2401ac052563e6fc3469d13f3976d073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Thu, 27 Jan 2022 11:15:14 +0100 Subject: [PATCH] Run firmware check first, as quasi-early exit, before checking vm devices. --- .../li/cil/oc2/common/vm/AbstractVirtualMachine.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/vm/AbstractVirtualMachine.java b/src/main/java/li/cil/oc2/common/vm/AbstractVirtualMachine.java index 4bf7efe3..a874f452 100644 --- a/src/main/java/li/cil/oc2/common/vm/AbstractVirtualMachine.java +++ b/src/main/java/li/cil/oc2/common/vm/AbstractVirtualMachine.java @@ -304,6 +304,11 @@ public abstract class AbstractVirtualMachine implements VirtualMachine { return; } + if (busController.getDevices().stream().noneMatch(device -> device instanceof FirmwareLoader)) { + error(new TranslatableComponent(Constants.COMPUTER_ERROR_MISSING_FIRMWARE)); + return; + } + final VMDeviceLoadResult loadResult = state.vmAdapter.mount(); if (!loadResult.wasSuccessful()) { if (loadResult.getErrorMessage() != null) { @@ -315,11 +320,6 @@ public abstract class AbstractVirtualMachine implements VirtualMachine { return; } - if (busController.getDevices().stream().noneMatch(device -> device instanceof FirmwareLoader)) { - error(new TranslatableComponent(Constants.COMPUTER_ERROR_MISSING_FIRMWARE)); - return; - } - // May have a valid runner after load. In which case we just had to wait for // bus setup and devices to load. So we can keep using it. if (runner == null) {