mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'lemu/src/instructions/mod.rs')
-rw-r--r--lemu/src/instructions/mod.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/lemu/src/instructions/mod.rs b/lemu/src/instructions/mod.rs
index b4fc0aa..6724ed1 100644
--- a/lemu/src/instructions/mod.rs
+++ b/lemu/src/instructions/mod.rs
@@ -107,6 +107,7 @@ pub enum Instr {
Stop(Stop),
PackColor(PackColor),
Select(Select),
+ Noop(Noop),
End(End),
}
@@ -127,6 +128,7 @@ impl Printable for Instr {
Self::End(i) => i.print(info, f),
Self::PackColor(i) => i.print(info, f),
Self::Select(i) => i.print(info, f),
+ Self::Noop(i) => i.print(info, f),
}
}
}
@@ -307,6 +309,21 @@ impl Printable for End {
}
#[derive(Debug, Copy, Clone)]
+pub struct Noop {}
+
+impl LInstruction for Noop {
+ fn run<W: Write>(&self, _: &mut ExecutorContext<'_, W>) -> Flow {
+ Flow::Continue
+ }
+}
+
+impl Printable for Noop {
+ fn print(&self, _: &DebugInfo<'_>, f: &mut impl fmt::Write) -> fmt::Result {
+ write!(f, "noop")
+ }
+}
+
+#[derive(Debug, Copy, Clone)]
pub struct AlwaysJump {
pub(crate) to: Instruction,
}