summaryrefslogtreecommitdiff
path: root/src/engine/geometry.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/geometry.rs')
-rw-r--r--src/engine/geometry.rs30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/engine/geometry.rs b/src/engine/geometry.rs
index af91b19..293ffce 100644
--- a/src/engine/geometry.rs
+++ b/src/engine/geometry.rs
@@ -1,3 +1,5 @@
+use engine::constants::*;
+
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct Point {
pub x: u8,
@@ -32,40 +34,40 @@ impl Point {
self.x = self.x.wrapping_add(1);
}
- pub fn to_bitfield(&self, width: u8) -> (u64, u64) {
- if self.x >= width {
- let index = self.y * width + self.x - width;
+ pub fn to_bitfield(&self) -> (u64, u64) {
+ if self.x >= SINGLE_MAP_WIDTH {
+ let index = self.y * SINGLE_MAP_WIDTH + self.x - SINGLE_MAP_WIDTH;
(0, 1 << index)
} else {
- let index = self.y * width + self.x;
+ let index = self.y * SINGLE_MAP_WIDTH + self.x;
(1 << index, 0)
}
}
- pub fn to_left_bitfield(&self, width: u8) -> u64 {
- if self.x >= width {
+ pub fn to_left_bitfield(&self) -> u64 {
+ if self.x >= SINGLE_MAP_WIDTH {
0
} else {
- let index = self.y * width + self.x;
+ let index = self.y * SINGLE_MAP_WIDTH + self.x;
1 << index
}
}
- pub fn to_right_bitfield(&self, width: u8) -> u64 {
- if self.x < width {
+ pub fn to_right_bitfield(&self) -> u64 {
+ if self.x < SINGLE_MAP_WIDTH {
0
} else {
- let index = self.y * width + self.x - width;
+ let index = self.y * SINGLE_MAP_WIDTH + self.x - SINGLE_MAP_WIDTH;
1 << index
}
}
- pub fn to_either_bitfield(&self, width: u8) -> u64 {
- if self.x >= width {
- let index = self.y * width + self.x - width;
+ pub fn to_either_bitfield(&self) -> u64 {
+ if self.x >= SINGLE_MAP_WIDTH {
+ let index = self.y * SINGLE_MAP_WIDTH + self.x - SINGLE_MAP_WIDTH;
1 << index
} else {
- let index = self.y * width + self.x;
+ let index = self.y * SINGLE_MAP_WIDTH + self.x;
1 << index
}
}