mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/drills.rs')
| -rw-r--r-- | src/block/drills.rs | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/src/block/drills.rs b/src/block/drills.rs index 5d8ac30..f46788c 100644 --- a/src/block/drills.rs +++ b/src/block/drills.rs @@ -5,35 +5,25 @@ use crate::block::*; make_simple!( DrillBlock, - |_, _, name, _, _, rot: Rotation| { + |_, name, _, _, rot: Rotation| { if matches!(name, "large-plasma-bore" | "plasma-bore") { - let mut base = load("drills", name).unwrap().clone(); - let top = load("drills", &format!("{name}-top")).unwrap(); - if rot == Rotation::Right { - base.overlay(&top); - } else { - let mut top = top.clone(); - top.rotate(rot.rotated(false).count()); - base.overlay(&top); - } - return Some(ImageHolder::from(base)); + let mut base = load(name); + let mut top = load(&format!("{name}-top")); + top.rotate(rot.rotated(false).count()); + base.overlay(&top); + return base; } - Some(ImageHolder::Borrow(load("drills", name).unwrap())) + load(name) }, - |_, _, _, buff: &mut DataRead| { read_drill(buff) } + |_, _, _, buff: &mut DataRead| read_drill(buff) ); make_simple!(ExtractorBlock); -make_simple!(WallCrafter, |_, _, _, _, _, rot: Rotation| { - let mut base = load("drills", "cliff-crusher").unwrap().clone(); - let top = load("drills", "cliff-crusher-top").unwrap(); - if rot == Rotation::Right { - base.overlay(&top); - } else { - let mut top = top.clone(); - top.rotate(rot.rotated(false).count()); - base.overlay(&top); - } - Some(ImageHolder::from(base)) +make_simple!(WallCrafter, |_, _, _, _, rot: Rotation| { + let mut base = load("cliff-crusher"); + let mut top = load("cliff-crusher-top"); + top.rotate(rot.rotated(false).count()); + base.overlay(&top); + base }); make_register! { |