mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'lemu/src/instructions/mod.rs')
| -rw-r--r-- | lemu/src/instructions/mod.rs | 17 |
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, } |