show tracked avatar tile

This commit is contained in:
2016-09-19 14:32:06 -07:00
parent 067e8906be
commit ebefec08ab
4 changed files with 57 additions and 11 deletions

View File

@@ -1,8 +1,36 @@
extern crate gfx;
use ega;
use ::std;
use std::io::Read;
use std::path::Path;
use self::gfx::tex;
#[derive(Clone, Copy)]
pub struct Tile {
val: u8,
}
pub fn get_tiles<R, F, T>(factory: &mut F) -> (//gfx::handle::Texture<R, T::Surface>,
gfx::handle::ShaderResourceView<R, T::View>)
where R: gfx::Resources,
F: gfx::Factory<R>,
T: gfx::format::TextureFormat {
let filename = "data/SHAPES.EGA";
let mut file = std::fs::File::open(Path::new(filename))
.expect(&format!("failed opening tiles file: {}", filename));
let mut ega_vec = Vec::new();
file.read_to_end(&mut ega_vec).expect("Read tiles file");
let ega_page = ega::decode(&ega_vec, ega::Compression::UNCOMPRESSED, ega::Tiling::TILED(16));
let tex = factory.create_texture_const_u8::<T>(tex::Kind::D2(16, 16 * 256,
tex::AaMode::Single),
&[&ega_page.data])
.expect("create tile texture");
tex.1
}
impl Tile {
pub fn as_char(&self) -> char {
match self.val {