From c1fcfc3a58fc0061fb9262c95d728063029e1c2f Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Mon, 11 Jun 2018 22:28:09 -0400 Subject: Working ART to bitmap conversion. Apparently I suck at bitwise math. --- src/bitmap.rs | 8 ++++---- src/main.rs | 15 --------------- 2 files changed, 4 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/bitmap.rs b/src/bitmap.rs index afc78c5..8773a66 100644 --- a/src/bitmap.rs +++ b/src/bitmap.rs @@ -103,12 +103,12 @@ impl BitmapManager { // FIXME: As of right now it's RGB, not ARGB. for i in 0..256 { - let r = data[(i * 3)] as u32; - let g = data[(i * 3) + 1] as u32; - let b = data[(i * 3) + 2] as u32; + let r = data[(i * 3)] << 2; + let g = data[(i * 3) + 1] << 2; + let b = data[(i * 3) + 2] << 2; // FIXME: Also, I'm not a fan of this manual shifting shit. - palette.push(r << 4 | g << 2 | b << 0); + palette.push(((r as u32) << 16) | ((g as u32) << 8) | (b as u32)); } palette diff --git a/src/main.rs b/src/main.rs index 8880719..3a95beb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -40,19 +40,4 @@ fn main() { let bitmap_manager = bitmap::BitmapManager::new(&group_manager).unwrap(); let _tile = bitmap_manager.get_tile(277).unwrap(); - - // use std::fs::File; - // use std::io::Write; - // let mut file = File::create("/tmp/test.data").unwrap(); - // let mut data: Vec = Vec::new(); - // for pixel in tile.data.iter() { - // let r = pixel / 16; - // let g = pixel / 4; - // let b = pixel & 0xff; - // data.push(r as u8); - // data.push(g as u8); - // data.push(b as u8); - // } - // println!("{} x {}", tile.width, tile.height); - // file.write_all(&data); } -- cgit v1.3