From b655cb39a445f91ca122c8504d0378e2c3b94b69 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Fri, 5 Jan 2024 18:10:59 +1300 Subject: 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. --- src/devices/screen/vector_points.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/devices/screen/vector_points.rs') 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 } } -- cgit v1.2.3-70-g09d2