mindustry logic execution, map- and schematic- parsing and rendering
characters
bendn 6 months ago
parent 70043f2 · commit 9eff31d
-rw-r--r--mindus/Cargo.toml2
-rw-r--r--mindus/assets/blocks/characters/character-overlay0.pngbin0 -> 174 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay1.pngbin0 -> 210 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay10.pngbin0 -> 199 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay11.pngbin0 -> 111 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay12.pngbin0 -> 176 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay13.pngbin0 -> 208 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay14.pngbin0 -> 198 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay15.pngbin0 -> 169 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay16.pngbin0 -> 270 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay17.pngbin0 -> 196 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay18.pngbin0 -> 184 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay19.pngbin0 -> 111 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay2.pngbin0 -> 170 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay20.pngbin0 -> 165 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay21.pngbin0 -> 231 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay22.pngbin0 -> 167 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay23.pngbin0 -> 229 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay24.pngbin0 -> 233 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay25.pngbin0 -> 191 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay26.pngbin0 -> 113 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay27.pngbin0 -> 184 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay28.pngbin0 -> 245 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay29.pngbin0 -> 220 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay3.pngbin0 -> 166 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay30.pngbin0 -> 147 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay31.pngbin0 -> 175 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay32.pngbin0 -> 165 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay33.pngbin0 -> 331 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay34.pngbin0 -> 191 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay35.pngbin0 -> 204 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay36.pngbin0 -> 107 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay37.pngbin0 -> 108 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay38.pngbin0 -> 178 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay39.pngbin0 -> 101 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay4.pngbin0 -> 116 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay40.pngbin0 -> 107 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay41.pngbin0 -> 114 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay42.pngbin0 -> 108 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay43.pngbin0 -> 164 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay44.pngbin0 -> 167 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay45.pngbin0 -> 110 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay46.pngbin0 -> 110 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay47.pngbin0 -> 182 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay48.pngbin0 -> 182 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay49.pngbin0 -> 202 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay5.pngbin0 -> 113 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay50.pngbin0 -> 197 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay51.pngbin0 -> 102 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay52.pngbin0 -> 166 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay53.pngbin0 -> 174 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay54.pngbin0 -> 168 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay55.pngbin0 -> 151 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay56.pngbin0 -> 101 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay57.pngbin0 -> 274 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay58.pngbin0 -> 111 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay59.pngbin0 -> 108 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay6.pngbin0 -> 177 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay60.pngbin0 -> 116 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay61.pngbin0 -> 101 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay62.pngbin0 -> 246 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay63.pngbin0 -> 188 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay7.pngbin0 -> 113 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay8.pngbin0 -> 113 bytes
-rw-r--r--mindus/assets/blocks/characters/character-overlay9.pngbin0 -> 164 bytes
-rw-r--r--mindus/src/data/map.rs6
-rw-r--r--mindus/src/data/renderer.rs35
67 files changed, 36 insertions, 7 deletions
diff --git a/mindus/Cargo.toml b/mindus/Cargo.toml
index f595e7c..093008d 100644
--- a/mindus/Cargo.toml
+++ b/mindus/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "mindus"
-version = "5.0.35"
+version = "5.0.36"
edition = "2024"
description = "A library for working with mindustry data formats (eg schematics and maps) (fork of plandustry)"
authors = [
diff --git a/mindus/assets/blocks/characters/character-overlay0.png b/mindus/assets/blocks/characters/character-overlay0.png
new file mode 100644
index 0000000..9b006ea
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay0.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay1.png b/mindus/assets/blocks/characters/character-overlay1.png
new file mode 100644
index 0000000..7b5b7bf
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay1.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay10.png b/mindus/assets/blocks/characters/character-overlay10.png
new file mode 100644
index 0000000..a7b925e
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay10.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay11.png b/mindus/assets/blocks/characters/character-overlay11.png
new file mode 100644
index 0000000..ded368a
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay11.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay12.png b/mindus/assets/blocks/characters/character-overlay12.png
new file mode 100644
index 0000000..d69c4d2
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay12.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay13.png b/mindus/assets/blocks/characters/character-overlay13.png
new file mode 100644
index 0000000..1aeb8e4
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay13.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay14.png b/mindus/assets/blocks/characters/character-overlay14.png
new file mode 100644
index 0000000..e7e82fd
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay14.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay15.png b/mindus/assets/blocks/characters/character-overlay15.png
new file mode 100644
index 0000000..64b5115
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay15.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay16.png b/mindus/assets/blocks/characters/character-overlay16.png
new file mode 100644
index 0000000..14a4cd0
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay16.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay17.png b/mindus/assets/blocks/characters/character-overlay17.png
new file mode 100644
index 0000000..4b81750
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay17.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay18.png b/mindus/assets/blocks/characters/character-overlay18.png
new file mode 100644
index 0000000..fd09690
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay18.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay19.png b/mindus/assets/blocks/characters/character-overlay19.png
new file mode 100644
index 0000000..756f9fd
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay19.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay2.png b/mindus/assets/blocks/characters/character-overlay2.png
new file mode 100644
index 0000000..9a350e0
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay2.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay20.png b/mindus/assets/blocks/characters/character-overlay20.png
new file mode 100644
index 0000000..29e1154
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay20.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay21.png b/mindus/assets/blocks/characters/character-overlay21.png
new file mode 100644
index 0000000..97f4d26
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay21.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay22.png b/mindus/assets/blocks/characters/character-overlay22.png
new file mode 100644
index 0000000..826156c
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay22.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay23.png b/mindus/assets/blocks/characters/character-overlay23.png
new file mode 100644
index 0000000..762fc6a
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay23.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay24.png b/mindus/assets/blocks/characters/character-overlay24.png
new file mode 100644
index 0000000..f33968c
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay24.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay25.png b/mindus/assets/blocks/characters/character-overlay25.png
new file mode 100644
index 0000000..3240b77
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay25.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay26.png b/mindus/assets/blocks/characters/character-overlay26.png
new file mode 100644
index 0000000..1d60397
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay26.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay27.png b/mindus/assets/blocks/characters/character-overlay27.png
new file mode 100644
index 0000000..7aa6f41
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay27.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay28.png b/mindus/assets/blocks/characters/character-overlay28.png
new file mode 100644
index 0000000..07cfedf
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay28.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay29.png b/mindus/assets/blocks/characters/character-overlay29.png
new file mode 100644
index 0000000..c1bc6c6
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay29.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay3.png b/mindus/assets/blocks/characters/character-overlay3.png
new file mode 100644
index 0000000..19ba22d
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay3.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay30.png b/mindus/assets/blocks/characters/character-overlay30.png
new file mode 100644
index 0000000..31827bd
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay30.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay31.png b/mindus/assets/blocks/characters/character-overlay31.png
new file mode 100644
index 0000000..a962690
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay31.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay32.png b/mindus/assets/blocks/characters/character-overlay32.png
new file mode 100644
index 0000000..0677239
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay32.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay33.png b/mindus/assets/blocks/characters/character-overlay33.png
new file mode 100644
index 0000000..c23de62
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay33.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay34.png b/mindus/assets/blocks/characters/character-overlay34.png
new file mode 100644
index 0000000..df7e921
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay34.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay35.png b/mindus/assets/blocks/characters/character-overlay35.png
new file mode 100644
index 0000000..e425182
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay35.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay36.png b/mindus/assets/blocks/characters/character-overlay36.png
new file mode 100644
index 0000000..b3a47e1
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay36.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay37.png b/mindus/assets/blocks/characters/character-overlay37.png
new file mode 100644
index 0000000..beca9aa
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay37.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay38.png b/mindus/assets/blocks/characters/character-overlay38.png
new file mode 100644
index 0000000..9f6d043
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay38.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay39.png b/mindus/assets/blocks/characters/character-overlay39.png
new file mode 100644
index 0000000..4e45123
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay39.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay4.png b/mindus/assets/blocks/characters/character-overlay4.png
new file mode 100644
index 0000000..1ef3b1c
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay4.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay40.png b/mindus/assets/blocks/characters/character-overlay40.png
new file mode 100644
index 0000000..d7fab03
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay40.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay41.png b/mindus/assets/blocks/characters/character-overlay41.png
new file mode 100644
index 0000000..1cd03b9
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay41.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay42.png b/mindus/assets/blocks/characters/character-overlay42.png
new file mode 100644
index 0000000..75677d1
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay42.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay43.png b/mindus/assets/blocks/characters/character-overlay43.png
new file mode 100644
index 0000000..9493709
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay43.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay44.png b/mindus/assets/blocks/characters/character-overlay44.png
new file mode 100644
index 0000000..8d8a8a2
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay44.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay45.png b/mindus/assets/blocks/characters/character-overlay45.png
new file mode 100644
index 0000000..00227cb
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay45.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay46.png b/mindus/assets/blocks/characters/character-overlay46.png
new file mode 100644
index 0000000..63f1212
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay46.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay47.png b/mindus/assets/blocks/characters/character-overlay47.png
new file mode 100644
index 0000000..116395f
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay47.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay48.png b/mindus/assets/blocks/characters/character-overlay48.png
new file mode 100644
index 0000000..7c274db
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay48.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay49.png b/mindus/assets/blocks/characters/character-overlay49.png
new file mode 100644
index 0000000..77f6296
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay49.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay5.png b/mindus/assets/blocks/characters/character-overlay5.png
new file mode 100644
index 0000000..83af737
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay5.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay50.png b/mindus/assets/blocks/characters/character-overlay50.png
new file mode 100644
index 0000000..3c073d8
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay50.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay51.png b/mindus/assets/blocks/characters/character-overlay51.png
new file mode 100644
index 0000000..1364421
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay51.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay52.png b/mindus/assets/blocks/characters/character-overlay52.png
new file mode 100644
index 0000000..7994cf2
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay52.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay53.png b/mindus/assets/blocks/characters/character-overlay53.png
new file mode 100644
index 0000000..c9dd169
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay53.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay54.png b/mindus/assets/blocks/characters/character-overlay54.png
new file mode 100644
index 0000000..7200732
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay54.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay55.png b/mindus/assets/blocks/characters/character-overlay55.png
new file mode 100644
index 0000000..dacfe19
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay55.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay56.png b/mindus/assets/blocks/characters/character-overlay56.png
new file mode 100644
index 0000000..f70d134
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay56.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay57.png b/mindus/assets/blocks/characters/character-overlay57.png
new file mode 100644
index 0000000..b7ffe02
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay57.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay58.png b/mindus/assets/blocks/characters/character-overlay58.png
new file mode 100644
index 0000000..09ec0d0
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay58.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay59.png b/mindus/assets/blocks/characters/character-overlay59.png
new file mode 100644
index 0000000..03f933c
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay59.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay6.png b/mindus/assets/blocks/characters/character-overlay6.png
new file mode 100644
index 0000000..4f4d924
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay6.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay60.png b/mindus/assets/blocks/characters/character-overlay60.png
new file mode 100644
index 0000000..da28451
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay60.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay61.png b/mindus/assets/blocks/characters/character-overlay61.png
new file mode 100644
index 0000000..36b0fe0
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay61.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay62.png b/mindus/assets/blocks/characters/character-overlay62.png
new file mode 100644
index 0000000..cf00d8f
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay62.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay63.png b/mindus/assets/blocks/characters/character-overlay63.png
new file mode 100644
index 0000000..0ceb36d
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay63.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay7.png b/mindus/assets/blocks/characters/character-overlay7.png
new file mode 100644
index 0000000..874c662
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay7.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay8.png b/mindus/assets/blocks/characters/character-overlay8.png
new file mode 100644
index 0000000..04bb090
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay8.png
Binary files differ
diff --git a/mindus/assets/blocks/characters/character-overlay9.png b/mindus/assets/blocks/characters/character-overlay9.png
new file mode 100644
index 0000000..31a88da
--- /dev/null
+++ b/mindus/assets/blocks/characters/character-overlay9.png
Binary files differ
diff --git a/mindus/src/data/map.rs b/mindus/src/data/map.rs
index 17bf896..a0276fc 100644
--- a/mindus/src/data/map.rs
+++ b/mindus/src/data/map.rs
@@ -105,7 +105,7 @@ pub struct Tile {
pub floor: BlockEnum,
pub ore: BlockEnum,
build: Option<Build>,
- pub color: [u8; 3],
+ pub nd: [u8; 7],
}
macro_rules! lo {
@@ -177,7 +177,7 @@ impl Tile {
floor,
ore,
build: None,
- color: [0; 3],
+ nd: [0; 7],
}
}
@@ -801,7 +801,7 @@ impl MapReader {
}
Yielded(MapData::Bloc(Bloc::Nd(b, d))) => {
b.map(|b| m[i].set_block(b));
- m[i].color = d.skip::<3>().take()
+ m[i].nd = d
}
Complete(Err(x)) => return Err(x),
_ => unreachable!(),
diff --git a/mindus/src/data/renderer.rs b/mindus/src/data/renderer.rs
index b1541ff..0d0c5b0 100644
--- a/mindus/src/data/renderer.rs
+++ b/mindus/src/data/renderer.rs
@@ -18,6 +18,7 @@ use crate::{
block::Rotation,
data::map::{ThinBloc, ThinMapData},
};
+use atools::ArrayTools;
use either::Either;
use fimg::{BlendingOverlay, BlendingOverlayAt, uninit};
@@ -339,6 +340,7 @@ impl Renderable for Map {
let tile = unsafe { self.tiles.get_unchecked(j) };
let y = self.height - y - 1;
// println!("draw {tile:?} ({x}, {y})");
+
if [
Type::ColoredFloor,
Type::MetalTiles1,
@@ -367,7 +369,9 @@ impl Renderable for Map {
let mut i = i.boxed();
unsafe {
img.overlay_at(
- &i.as_mut().tint(tile.color.into()).as_ref(),
+ &i.as_mut()
+ .tint(tile.nd.skip::<3>().take::<3>().into())
+ .as_ref(),
scale * x as u32,
scale * y as u32,
)
@@ -381,7 +385,30 @@ impl Renderable for Map {
};
}
if tile.has_ore() {
- unsafe { img.overlay_at(&tile.ore(scale), scale * x as u32, scale * y as u32) };
+ if tile.ore == Type::CharacterOverlay || tile.ore == Type::CharacterOverlayWhite
+ {
+ macro_rules! f {
+ ($($x: literal)+) => { paste::paste!{
+ [$(load!([<character _ overlay $x>] ),)+]
+ }};
+ }
+ const LETTERS: [[Image<&[u8], 4>; 3]; 64] = f![0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63];
+ unsafe {
+ img.overlay_at(
+ &ImageHolder::from(
+ LETTERS[(tile.nd[2] & 0x3f) as usize][scale as usize],
+ )
+ .rotate(tile.nd[2] & 0x3)
+ .borrow(),
+ scale * x as u32,
+ scale * y as u32,
+ )
+ };
+ } else {
+ unsafe {
+ img.overlay_at(&tile.ore(scale), scale * x as u32, scale * y as u32)
+ };
+ }
}
}
}
@@ -429,7 +456,9 @@ impl Renderable for Map {
.boxed();
unsafe {
img.overlay_at(
- &i.as_mut().tint(tile.color.into()).as_ref(),
+ &i.as_mut()
+ .tint(tile.nd.skip::<3>().take::<3>().into())
+ .as_ref(),
scale * x as u32,
scale * y as u32,
)