use texture array instead of atlas for tiles
This commit is contained in:
13
src/tile.rs
13
src/tile.rs
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user