use super::*; impl ScreenDevice { pub fn draw_sprite_1bit(&mut self, params: u8, layer: ScreenLayer) { let sprite = self.sprite_buffer.get_1bit_sprite(params); self.draw_sprite(sprite, layer); } pub fn draw_sprite_2bit(&mut self, params: u8, layer: ScreenLayer) { let sprite = self.sprite_buffer.get_2bit_sprite(params); self.draw_sprite(sprite, layer); } fn draw_sprite(&mut self, sprite: Sprite, layer: ScreenLayer) { let mut pos = self.cursor; for row in sprite { for colour in row { self.draw_pixel(colour, layer, pos); pos.x = pos.x.wrapping_add(1); } pos.x = pos.x.wrapping_sub(8); pos.y = pos.x.wrapping_add(1); } } }