From b655cb39a445f91ca122c8504d0378e2c3b94b69 Mon Sep 17 00:00:00 2001
From: Ben Bridle <bridle.benjamin@gmail.com>
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.rs               |  2 +-
 src/devices/screen/vector_points.rs | 13 +++----------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/src/devices/screen.rs b/src/devices/screen.rs
index df9539a..0b5e571 100644
--- a/src/devices/screen.rs
+++ b/src/devices/screen.rs
@@ -204,7 +204,7 @@ impl ScreenDevice {
             0x30 => self.draw_sprite_2bit(params, layer),
             0x40 =>        self.draw_line(params, layer),
             0x50 =>        self.draw_rect(params, layer),
-            0x60 =>  todo!("Draw 1-bit sprite triangle"),
+            0x60 =>    todo!("Draw 1-bit textured line"),
             0x70 =>   self.draw_rect_1bit(params, layer),
             _ => unreachable!(),
         };
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