blob: 5676335dfe0992c79e91f47f188ba86c123c8e9d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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.y.wrapping_add(1);
}
}
}
|