use texture array instead of atlas for tiles

This commit is contained in:
2016-10-06 18:20:08 -07:00
parent 931bc1b0a8
commit 0275d01b96
3 changed files with 15 additions and 12 deletions

View File

@@ -22,12 +22,13 @@ pub fn get_tiles<R, F, T>(factory: &mut F) -> (//gfx::handle::Texture<R, T::Surf
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])
let mut ega_bytes = Vec::new();
file.read_to_end(&mut ega_bytes).expect("Read tiles file");
let ega_page = ega::decode(&ega_bytes, ega::Compression::UNCOMPRESSED, ega::Tiling::TILED(16));
let tiles: Vec<&[u8]> = ega_page.iter().collect();
let tex = factory.create_texture_const_u8::<T>(tex::Kind::D2Array(16, 16, 256,
tex::AaMode::Single),
&tiles)
.expect("create tile texture");
tex.1
}