mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'lemu/src/main.rs')
-rw-r--r--lemu/src/main.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/lemu/src/main.rs b/lemu/src/main.rs
new file mode 100644
index 0000000..b40c8ad
--- /dev/null
+++ b/lemu/src/main.rs
@@ -0,0 +1,31 @@
+use std::{
+ io::{self, Stdout},
+ process::ExitCode,
+};
+
+use lemu::{Executor, Output};
+use yumy::Config;
+
+fn main() -> ExitCode {
+ let mut args = std::env::args();
+ args.next().unwrap(); // path to executable
+ for file in args {
+ let f = std::fs::read_to_string(&file).unwrap();
+ let mut lex: Executor<Stdout> =
+ match Executor::with_output(io::stdout()).display().program(&f) {
+ Ok(x) => x,
+ Err(e) => {
+ e.diagnose(&f, Some(&file))
+ .eprint(&Config::default())
+ .unwrap();
+ return ExitCode::FAILURE;
+ }
+ };
+ lex.run();
+ let Output { displays, .. } = lex.output();
+ for (d, i) in displays.iter().zip(1..=displays.len()) {
+ d.save(format!("image{i}.png"));
+ }
+ }
+ ExitCode::SUCCESS
+}