Clean up main.rs, stdout, some compile warnings

This commit is contained in:
2025-06-22 15:03:59 -07:00
parent b65e188cb9
commit c29361214a
3 changed files with 9 additions and 41 deletions
+3 -22
View File
@@ -5,7 +5,7 @@ mod preprocess;
mod world;
use anyhow::anyhow;
use labels::{parse::print_labels, process::process_labels};
use labels::process::process_labels;
use preprocess::eval::Context;
use std::{env, error::Error, fs, path::PathBuf, process::exit};
use world::World;
@@ -28,33 +28,14 @@ fn main() -> Result<(), Box<dyn Error>> {
.ok_or(anyhow!("Couldn't get world's directory"))?;
let eval_context = Context::new(&world_dir);
println!("num boards: {}", &world.boards.len());
// Codegen: Evaluate all macros
for board in &mut world.boards {
println!("board: {}", board.name);
for stat in &mut board.stats {
// Print some of the data parsed.
let (x, y) = (stat.x as usize, stat.y as usize);
let terrain = if x < 1 || x > 60 || y < 1 || y > 25 {
None
} else {
let terrain_index = (x - 1) + (y - 1) * 60;
Some(board.terrain[terrain_index])
};
println!(" stat at ({}, {}): {:?}, {:?}", x, y, terrain, stat.code);
// Evaluate macros
stat.code = eval_context.eval_program(&stat.code)?;
}
board.name.push_str(" (♪)");
}
for board in &world.boards {
println!("# Board: {}", board.name);
for stat in &board.stats {
print_labels(stat);
}
}
// Resolve labels to proper ZZT-OOP
for mut board in &mut world.boards {
process_labels(&mut board);
}