summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-06-11 22:28:09 -0400
committerJakob L. Kreuze <jakob@memeware.net>2018-06-11 22:28:09 -0400
commitc1fcfc3a58fc0061fb9262c95d728063029e1c2f (patch)
tree984f978e03cf9923b396add798f2631b5f3c6f82 /src
parentfe14bab96a780a2980cc6f51135ebd5dfa79667e (diff)
Working ART to bitmap conversion. Apparently I suck at bitwise math.
Diffstat (limited to 'src')
-rw-r--r--src/bitmap.rs8
-rw-r--r--src/main.rs15
2 files changed, 4 insertions, 19 deletions
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<u8> = 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);
}