summaryrefslogtreecommitdiff
path: root/src/constants.rs
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2019-04-26 19:43:59 +0200
committerJustin Worthe <justin@worthe-it.co.za>2019-04-26 19:43:59 +0200
commitebe7d5cd5cc42d8f3f02ca926f4b920ada03765f (patch)
treea139c6b65182f1fc10d7dcea7eec45a234491048 /src/constants.rs
parent3e4f70ff90471120818cfb38a6dbde4952c11b8f (diff)
Refactored game map to use less memory
Diffstat (limited to 'src/constants.rs')
-rw-r--r--src/constants.rs49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/constants.rs b/src/constants.rs
new file mode 100644
index 0000000..dcda1d5
--- /dev/null
+++ b/src/constants.rs
@@ -0,0 +1,49 @@
+pub const MAP_SIZE: usize = 33;
+pub const MAP_ROW_SIZE: [MapRow; MAP_SIZE] = [
+ MapRow { start_bit: 0, x_offset: 11 },
+ MapRow { start_bit: 11, x_offset: 8 },
+ MapRow { start_bit: 28, x_offset: 7 },
+ MapRow { start_bit: 47, x_offset: 6 },
+ MapRow { start_bit: 68, x_offset: 4 },
+ MapRow { start_bit: 93, x_offset: 4 },
+ MapRow { start_bit: 118, x_offset: 3 },
+ MapRow { start_bit: 145, x_offset: 2 },
+ MapRow { start_bit: 174, x_offset: 1 },
+ MapRow { start_bit: 205, x_offset: 1 },
+ MapRow { start_bit: 236, x_offset: 1 },
+ MapRow { start_bit: 267, x_offset: 0 },
+ MapRow { start_bit: 300, x_offset: 0 },
+ MapRow { start_bit: 333, x_offset: 0 },
+ MapRow { start_bit: 366, x_offset: 0 },
+ MapRow { start_bit: 399, x_offset: 0 },
+ MapRow { start_bit: 432, x_offset: 0 },
+ MapRow { start_bit: 465, x_offset: 0 },
+ MapRow { start_bit: 498, x_offset: 0 },
+ MapRow { start_bit: 531, x_offset: 0 },
+ MapRow { start_bit: 564, x_offset: 0 },
+ MapRow { start_bit: 597, x_offset: 0 },
+ MapRow { start_bit: 630, x_offset: 1 },
+ MapRow { start_bit: 661, x_offset: 1 },
+ MapRow { start_bit: 692, x_offset: 1 },
+ MapRow { start_bit: 723, x_offset: 2 },
+ MapRow { start_bit: 752, x_offset: 3 },
+ MapRow { start_bit: 779, x_offset: 4 },
+ MapRow { start_bit: 804, x_offset: 4 },
+ MapRow { start_bit: 829, x_offset: 6 },
+ MapRow { start_bit: 850, x_offset: 7 },
+ MapRow { start_bit: 869, x_offset: 8 },
+ MapRow { start_bit: 886, x_offset: 11 },
+];
+pub const MAP_BITSIZE: usize = 897;
+pub const MAP_U64S: usize = 15;
+
+pub struct MapRow {
+ pub start_bit: usize,
+ pub x_offset: usize
+}
+
+impl MapRow {
+ pub fn len(&self) -> usize {
+ MAP_SIZE - 2 * self.x_offset
+ }
+}