summaryrefslogtreecommitdiff
path: root/src/devices/screen
diff options
context:
space:
mode:
authorBen Bridle <bridle.benjamin@gmail.com>2024-01-05 18:10:59 +1300
committerBen Bridle <bridle.benjamin@gmail.com>2024-01-05 18:10:59 +1300
commitb655cb39a445f91ca122c8504d0378e2c3b94b69 (patch)
tree560a7c1b4c7e96f83fb32f56cda95a67d399f9b4 /src/devices/screen
parent6d98b6831aac1eec6f5b9ebfc51403ca34d50f54 (diff)
downloadbedrock-pc-b655cb39a445f91ca122c8504d0378e2c3b94b69.zip
Update screen device code to reflect specification changes
The vector+size+sprite draw operation of the screen device has been changed in the specification from drawing a 1-bit textured triangle to drawing a 1-bit textured line. This draw operation had not yet been implemented, so this commit does not affect emulator functionality.
Diffstat (limited to 'src/devices/screen')
-rw-r--r--src/devices/screen/vector_points.rs13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/devices/screen/vector_points.rs b/src/devices/screen/vector_points.rs
index 97d95b6..e6c28ef 100644
--- a/src/devices/screen/vector_points.rs
+++ b/src/devices/screen/vector_points.rs
@@ -1,28 +1,21 @@
use crate::*;
pub struct VectorPoints {
- points: [ScreenPosition; 3],
+ points: [ScreenPosition; 2],
pointer: usize,
}
impl VectorPoints {
pub fn new() -> Self {
- Self { points: [ScreenPosition::ZERO; 3], pointer: 0 }
+ Self { points: [ScreenPosition::ZERO; 2], pointer: 0 }
}
pub fn push(&mut self, point: ScreenPosition) {
self.points[self.pointer] = point;
- self.pointer = (self.pointer + 1) % 3;
+ self.pointer = (self.pointer + 1) % 2;
}
pub fn get_pair(&self) -> [ScreenPosition; 2] {
- [
- self.points[(self.pointer + 1) % 3],
- self.points[(self.pointer + 2) % 3],
- ]
- }
-
- pub fn get_triple(&self) -> [ScreenPosition; 3] {
self.points
}
}