mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/map.rs')
-rw-r--r--src/data/map.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/data/map.rs b/src/data/map.rs
index 4660d90..636e3f3 100644
--- a/src/data/map.rs
+++ b/src/data/map.rs
@@ -139,13 +139,12 @@ impl<'l> Tile<'l> {
///
/// dont think about it too much
#[must_use]
+ #[inline]
pub fn size(&self) -> u8 {
- if let Some(b) = &self.build {
- return b.block.get_size();
- }
- 1
+ self.build.as_ref().map_or(1, |v| v.block.get_size())
}
+ #[inline]
pub(crate) fn floor(&self, s: Scale) -> ImageHolder<4> {
lo!(self.floor => [
| "darksand"
@@ -186,11 +185,13 @@ impl<'l> Tile<'l> {
}
#[must_use]
+ #[inline]
pub(crate) fn ore(&self, s: Scale) -> ImageHolder<4> {
lo!(self.ore => ["ore-copper" | "ore-beryllium" | "ore-lead" | "ore-scrap" | "ore-coal" | "ore-thorium" | "ore-titanium" | "ore-tungsten" | "pebbles" | "tendrils" | "ore-wall-tungsten" | "ore-wall-beryllium" | "ore-wall-thorium" | "spawn" | "ore-crystal-thorium"], s)
}
#[must_use]
+ #[inline]
pub fn has_ore(&self) -> bool {
self.ore != BlockEnum::Air
}
@@ -200,13 +201,14 @@ impl<'l> Tile<'l> {
pub fn floor_image(&self, s: Scale) -> ImageHolder<4> {
let mut floor = self.floor(s);
if self.has_ore() {
- floor.overlay(&self.ore(s));
+ unsafe { floor.overlay(&self.ore(s)) };
}
floor
}
/// Draw this tiles build.
#[must_use]
+ #[inline]
pub fn build_image(&self, context: Option<&RenderingContext>, s: Scale) -> ImageHolder<4> {
// building covers floore
let Some(b) = &self.build else {