From aab19ba6b3e245aa5b1c4de6bdf004fd07e7b9b2 Mon Sep 17 00:00:00 2001 From: gered Date: Wed, 8 Mar 2023 14:16:54 -0500 Subject: [PATCH] moved indexed (256 colour) graphics stuff into new "indexed" module in preparation for adding 32-bit graphics stuff, i want to keep things separate using modules --- examples/audio_playback/src/main.rs | 2 +- examples/balls/src/main.rs | 2 +- examples/balls_v2/src/entities.rs | 2 +- examples/balls_v2/src/states.rs | 2 +- examples/slimed/src/entities/mod.rs | 2 +- examples/slimed/src/main.rs | 2 +- examples/slimed/src/states.rs | 2 +- examples/slimed/src/support.rs | 2 +- examples/slimed/src/tilemap.rs | 2 +- examples/template_minimal/src/main.rs | 2 +- ggdt/benches/bitmap.rs | 2 +- ggdt/benches/blit.rs | 2 +- ggdt/benches/loading.rs | 2 +- ggdt/src/graphics/{ => indexed}/bitmap/blit.rs | 2 +- ggdt/src/graphics/{ => indexed}/bitmap/gif.rs | 8 ++++---- ggdt/src/graphics/{ => indexed}/bitmap/iff.rs | 8 ++++---- ggdt/src/graphics/{ => indexed}/bitmap/mod.rs | 2 +- ggdt/src/graphics/{ => indexed}/bitmap/pcx.rs | 8 ++++---- ggdt/src/graphics/{ => indexed}/bitmap/primitives.rs | 2 +- ggdt/src/graphics/{ => indexed}/bitmapatlas.rs | 2 +- ggdt/src/graphics/{ => indexed}/blendmap.rs | 2 +- ggdt/src/graphics/{ => indexed}/font.rs | 4 ++-- ggdt/src/graphics/indexed/mod.rs | 11 +++++++++++ ggdt/src/graphics/{ => indexed}/palette.rs | 4 ++-- ggdt/src/graphics/mod.rs | 12 +----------- ggdt/src/system/input_devices/mouse/cursor.rs | 2 +- ggdt/src/system/input_devices/mouse/mod.rs | 1 - ggdt/src/system/mod.rs | 1 - ggdt/src/system/res/dos_like.rs | 3 ++- ggdt/tests/graphics.rs | 2 +- 30 files changed, 50 insertions(+), 50 deletions(-) rename ggdt/src/graphics/{ => indexed}/bitmap/blit.rs (99%) rename ggdt/src/graphics/{ => indexed}/bitmap/gif.rs (98%) rename ggdt/src/graphics/{ => indexed}/bitmap/iff.rs (99%) rename ggdt/src/graphics/{ => indexed}/bitmap/mod.rs (99%) rename ggdt/src/graphics/{ => indexed}/bitmap/pcx.rs (98%) rename ggdt/src/graphics/{ => indexed}/bitmap/primitives.rs (99%) rename ggdt/src/graphics/{ => indexed}/bitmapatlas.rs (99%) rename ggdt/src/graphics/{ => indexed}/blendmap.rs (99%) rename ggdt/src/graphics/{ => indexed}/font.rs (98%) create mode 100644 ggdt/src/graphics/indexed/mod.rs rename ggdt/src/graphics/{ => indexed}/palette.rs (99%) diff --git a/examples/audio_playback/src/main.rs b/examples/audio_playback/src/main.rs index 09af916..47a6981 100644 --- a/examples/audio_playback/src/main.rs +++ b/examples/audio_playback/src/main.rs @@ -3,7 +3,7 @@ use std::path::Path; use anyhow::Result; use ggdt::audio::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::system::*; use ggdt::utils::rnd_value; diff --git a/examples/balls/src/main.rs b/examples/balls/src/main.rs index 4a05b94..a618546 100644 --- a/examples/balls/src/main.rs +++ b/examples/balls/src/main.rs @@ -3,7 +3,7 @@ use std::path::Path; use anyhow::Result; use ggdt::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::system::*; use ggdt::utils::*; diff --git a/examples/balls_v2/src/entities.rs b/examples/balls_v2/src/entities.rs index 05232d3..b742e17 100644 --- a/examples/balls_v2/src/entities.rs +++ b/examples/balls_v2/src/entities.rs @@ -1,7 +1,7 @@ use ggdt::*; use ggdt::entities::*; use ggdt::events::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::utils::*; diff --git a/examples/balls_v2/src/states.rs b/examples/balls_v2/src/states.rs index f4ad943..100e405 100644 --- a/examples/balls_v2/src/states.rs +++ b/examples/balls_v2/src/states.rs @@ -1,6 +1,6 @@ use ggdt::entities::*; use ggdt::events::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::states::*; use ggdt::system::*; diff --git a/examples/slimed/src/entities/mod.rs b/examples/slimed/src/entities/mod.rs index 6c87af1..5840266 100644 --- a/examples/slimed/src/entities/mod.rs +++ b/examples/slimed/src/entities/mod.rs @@ -3,7 +3,7 @@ use std::path::Path; use std::rc::Rc; use ggdt::entities::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::utils::rnd_value; diff --git a/examples/slimed/src/main.rs b/examples/slimed/src/main.rs index 3746f8f..2b921d4 100644 --- a/examples/slimed/src/main.rs +++ b/examples/slimed/src/main.rs @@ -9,7 +9,7 @@ use anyhow::{Context, Result}; use ggdt::base::*; use ggdt::entities::*; use ggdt::events::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::system::*; diff --git a/examples/slimed/src/states.rs b/examples/slimed/src/states.rs index ffc691c..528a9d0 100644 --- a/examples/slimed/src/states.rs +++ b/examples/slimed/src/states.rs @@ -2,7 +2,7 @@ use std::path::Path; use ggdt::base::*; use ggdt::entities::*; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::states::*; use ggdt::system::*; diff --git a/examples/slimed/src/support.rs b/examples/slimed/src/support.rs index dbdd0d0..3a10936 100644 --- a/examples/slimed/src/support.rs +++ b/examples/slimed/src/support.rs @@ -2,7 +2,7 @@ use std::path::Path; use anyhow::{Context, Result}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::states::*; use crate::{Game, TILE_HEIGHT, TILE_WIDTH}; diff --git a/examples/slimed/src/tilemap.rs b/examples/slimed/src/tilemap.rs index 4cc218c..42d6062 100644 --- a/examples/slimed/src/tilemap.rs +++ b/examples/slimed/src/tilemap.rs @@ -5,7 +5,7 @@ use std::path::Path; use anyhow::{Context, Result}; use serde::Deserialize; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; use ggdt::utils::rnd_value; diff --git a/examples/template_minimal/src/main.rs b/examples/template_minimal/src/main.rs index eebffed..d69be68 100644 --- a/examples/template_minimal/src/main.rs +++ b/examples/template_minimal/src/main.rs @@ -1,7 +1,7 @@ use anyhow::Result; use ggdt::{SCREEN_BOTTOM, SCREEN_RIGHT}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::system::*; use ggdt::utils::rnd_value; diff --git a/ggdt/benches/bitmap.rs b/ggdt/benches/bitmap.rs index b78fe58..d0d5e18 100644 --- a/ggdt/benches/bitmap.rs +++ b/ggdt/benches/bitmap.rs @@ -1,7 +1,7 @@ use criterion::{black_box, Criterion, criterion_group, criterion_main}; use ggdt::{SCREEN_HEIGHT, SCREEN_WIDTH}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; pub fn criterion_benchmark(c: &mut Criterion) { let mut source = Bitmap::new(SCREEN_WIDTH, SCREEN_HEIGHT).unwrap(); diff --git a/ggdt/benches/blit.rs b/ggdt/benches/blit.rs index d6be2c5..af89220 100644 --- a/ggdt/benches/blit.rs +++ b/ggdt/benches/blit.rs @@ -2,7 +2,7 @@ use std::path::Path; use criterion::{black_box, Criterion, criterion_group, criterion_main}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; use ggdt::math::*; pub fn criterion_benchmark(c: &mut Criterion) { diff --git a/ggdt/benches/loading.rs b/ggdt/benches/loading.rs index 897c655..bd262ff 100644 --- a/ggdt/benches/loading.rs +++ b/ggdt/benches/loading.rs @@ -2,7 +2,7 @@ use std::io::Cursor; use criterion::{black_box, Criterion, criterion_group, criterion_main}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; pub static SMALL_GIF_FILE_BYTES: &[u8] = include_bytes!("../test-assets/test.gif"); pub static LARGE_GIF_FILE_BYTES: &[u8] = include_bytes!("../test-assets/test_image.gif"); diff --git a/ggdt/src/graphics/bitmap/blit.rs b/ggdt/src/graphics/indexed/bitmap/blit.rs similarity index 99% rename from ggdt/src/graphics/bitmap/blit.rs rename to ggdt/src/graphics/indexed/bitmap/blit.rs index 24f06c4..4258a96 100644 --- a/ggdt/src/graphics/bitmap/blit.rs +++ b/ggdt/src/graphics/indexed/bitmap/blit.rs @@ -1,6 +1,6 @@ use std::rc::Rc; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; #[derive(Clone, PartialEq)] diff --git a/ggdt/src/graphics/bitmap/gif.rs b/ggdt/src/graphics/indexed/bitmap/gif.rs similarity index 98% rename from ggdt/src/graphics/bitmap/gif.rs rename to ggdt/src/graphics/indexed/bitmap/gif.rs index 0f13952..4bd646e 100644 --- a/ggdt/src/graphics/bitmap/gif.rs +++ b/ggdt/src/graphics/indexed/bitmap/gif.rs @@ -5,7 +5,7 @@ use std::path::Path; use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::utils::lzwgif::*; const BITS_FOR_256_COLORS: u32 = 7; // formula is `2 ^ (bits + 1) = num_colors` @@ -556,9 +556,9 @@ pub mod tests { use super::*; - pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw2.bin"); + pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw2.bin"); #[test] fn load_and_save() -> Result<(), GifError> { diff --git a/ggdt/src/graphics/bitmap/iff.rs b/ggdt/src/graphics/indexed/bitmap/iff.rs similarity index 99% rename from ggdt/src/graphics/bitmap/iff.rs rename to ggdt/src/graphics/indexed/bitmap/iff.rs index 7f91f37..caa5d15 100644 --- a/ggdt/src/graphics/bitmap/iff.rs +++ b/ggdt/src/graphics/indexed/bitmap/iff.rs @@ -6,7 +6,7 @@ use std::path::Path; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::utils::packbits::*; #[derive(Error, Debug)] @@ -564,9 +564,9 @@ mod tests { use super::*; - pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw2.bin"); + pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw2.bin"); #[test] pub fn load_and_save() -> Result<(), IffError> { diff --git a/ggdt/src/graphics/bitmap/mod.rs b/ggdt/src/graphics/indexed/bitmap/mod.rs similarity index 99% rename from ggdt/src/graphics/bitmap/mod.rs rename to ggdt/src/graphics/indexed/bitmap/mod.rs index 20cbad0..808ac14 100644 --- a/ggdt/src/graphics/bitmap/mod.rs +++ b/ggdt/src/graphics/indexed/bitmap/mod.rs @@ -4,7 +4,7 @@ use std::slice; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; pub use self::blit::*; diff --git a/ggdt/src/graphics/bitmap/pcx.rs b/ggdt/src/graphics/indexed/bitmap/pcx.rs similarity index 98% rename from ggdt/src/graphics/bitmap/pcx.rs rename to ggdt/src/graphics/indexed/bitmap/pcx.rs index dc0da5a..d731a12 100644 --- a/ggdt/src/graphics/bitmap/pcx.rs +++ b/ggdt/src/graphics/indexed/bitmap/pcx.rs @@ -5,7 +5,7 @@ use std::path::Path; use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::utils::bytes::ReadFixedLengthByteArray; #[derive(Error, Debug)] @@ -284,9 +284,9 @@ pub mod tests { use super::*; - pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw.bin"); - pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../test-assets/test_large_bmp_pixels_raw2.bin"); + pub static TEST_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw.bin"); + pub static TEST_LARGE_BMP_PIXELS_RAW_2: &[u8] = include_bytes!("../../../../test-assets/test_large_bmp_pixels_raw2.bin"); #[test] pub fn load_and_save() -> Result<(), PcxError> { diff --git a/ggdt/src/graphics/bitmap/primitives.rs b/ggdt/src/graphics/indexed/bitmap/primitives.rs similarity index 99% rename from ggdt/src/graphics/bitmap/primitives.rs rename to ggdt/src/graphics/indexed/bitmap/primitives.rs index 5c9406a..52d3bfe 100644 --- a/ggdt/src/graphics/bitmap/primitives.rs +++ b/ggdt/src/graphics/indexed/bitmap/primitives.rs @@ -1,6 +1,6 @@ use std::mem::swap; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; impl Bitmap { diff --git a/ggdt/src/graphics/bitmapatlas.rs b/ggdt/src/graphics/indexed/bitmapatlas.rs similarity index 99% rename from ggdt/src/graphics/bitmapatlas.rs rename to ggdt/src/graphics/indexed/bitmapatlas.rs index f2eecc1..bcd4950 100644 --- a/ggdt/src/graphics/bitmapatlas.rs +++ b/ggdt/src/graphics/indexed/bitmapatlas.rs @@ -2,7 +2,7 @@ use std::ops::Index; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; #[derive(Error, Debug)] diff --git a/ggdt/src/graphics/blendmap.rs b/ggdt/src/graphics/indexed/blendmap.rs similarity index 99% rename from ggdt/src/graphics/blendmap.rs rename to ggdt/src/graphics/indexed/blendmap.rs index 25c9776..efa9cf3 100644 --- a/ggdt/src/graphics/blendmap.rs +++ b/ggdt/src/graphics/indexed/blendmap.rs @@ -6,7 +6,7 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; use crate::utils::bytes::ReadFixedLengthByteArray; diff --git a/ggdt/src/graphics/font.rs b/ggdt/src/graphics/indexed/font.rs similarity index 98% rename from ggdt/src/graphics/font.rs rename to ggdt/src/graphics/indexed/font.rs index 179c60a..94e11d9 100644 --- a/ggdt/src/graphics/font.rs +++ b/ggdt/src/graphics/indexed/font.rs @@ -6,10 +6,10 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; -pub static VGA_FONT_BYTES: &[u8] = include_bytes!("../../assets/vga.fnt"); +pub static VGA_FONT_BYTES: &[u8] = include_bytes!("../../../assets/vga.fnt"); pub const NUM_CHARS: usize = 256; pub const CHAR_HEIGHT: usize = 8; diff --git a/ggdt/src/graphics/indexed/mod.rs b/ggdt/src/graphics/indexed/mod.rs new file mode 100644 index 0000000..ce64155 --- /dev/null +++ b/ggdt/src/graphics/indexed/mod.rs @@ -0,0 +1,11 @@ +pub use self::bitmap::*; +pub use self::bitmapatlas::*; +pub use self::blendmap::*; +pub use self::font::*; +pub use self::palette::*; + +pub mod bitmap; +pub mod bitmapatlas; +pub mod blendmap; +pub mod font; +pub mod palette; \ No newline at end of file diff --git a/ggdt/src/graphics/palette.rs b/ggdt/src/graphics/indexed/palette.rs similarity index 99% rename from ggdt/src/graphics/palette.rs rename to ggdt/src/graphics/indexed/palette.rs index d20198b..9ed50b9 100644 --- a/ggdt/src/graphics/palette.rs +++ b/ggdt/src/graphics/indexed/palette.rs @@ -7,7 +7,7 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::NUM_COLORS; use crate::utils::abs_diff; @@ -16,7 +16,7 @@ pub trait ColorRange: RangeBounds + Iterator {} impl ColorRange for T where T: RangeBounds + Iterator {} -pub static VGA_PALETTE_BYTES: &[u8] = include_bytes!("../../assets/vga.pal"); +pub static VGA_PALETTE_BYTES: &[u8] = include_bytes!("../../../assets/vga.pal"); /// Converts a set of individual ARGB components to a combined 32-bit color value, packed into /// the format 0xAARRGGBB diff --git a/ggdt/src/graphics/mod.rs b/ggdt/src/graphics/mod.rs index 53bf14b..7edb3d3 100644 --- a/ggdt/src/graphics/mod.rs +++ b/ggdt/src/graphics/mod.rs @@ -1,12 +1,2 @@ -pub use self::bitmap::*; -pub use self::bitmapatlas::*; -pub use self::blendmap::*; -pub use self::font::*; -pub use self::palette::*; - -pub mod bitmap; -pub mod bitmapatlas; -pub mod blendmap; -pub mod font; -pub mod palette; +pub mod indexed; diff --git a/ggdt/src/system/input_devices/mouse/cursor.rs b/ggdt/src/system/input_devices/mouse/cursor.rs index bca0ec7..3039d36 100644 --- a/ggdt/src/system/input_devices/mouse/cursor.rs +++ b/ggdt/src/system/input_devices/mouse/cursor.rs @@ -2,7 +2,7 @@ // that are not specific to just our 256 colour Bitmap functionality. whether this takes the form // of a generified CustomMouseCursor struct, or multiple versions ... well, i'm not quite sure yet! -use crate::graphics::*; +use crate::graphics::indexed::*; use crate::math::*; use super::*; diff --git a/ggdt/src/system/input_devices/mouse/mod.rs b/ggdt/src/system/input_devices/mouse/mod.rs index 931bc99..d248d12 100644 --- a/ggdt/src/system/input_devices/mouse/mod.rs +++ b/ggdt/src/system/input_devices/mouse/mod.rs @@ -1,4 +1,3 @@ -use crate::graphics::*; use crate::math::*; use crate::system::MouseEvent; diff --git a/ggdt/src/system/mod.rs b/ggdt/src/system/mod.rs index 3d91002..3515c89 100644 --- a/ggdt/src/system/mod.rs +++ b/ggdt/src/system/mod.rs @@ -9,7 +9,6 @@ use thiserror::Error; use crate::{DEFAULT_SCALE_FACTOR, SCREEN_HEIGHT, SCREEN_WIDTH}; use crate::audio::*; -use crate::graphics::*; pub use self::event::*; pub use self::input_devices::*; diff --git a/ggdt/src/system/res/dos_like.rs b/ggdt/src/system/res/dos_like.rs index b01c7d9..c4b42d8 100644 --- a/ggdt/src/system/res/dos_like.rs +++ b/ggdt/src/system/res/dos_like.rs @@ -2,7 +2,7 @@ //! instance to provide something resembling an old DOS VGA mode 13h style experience (there are differences, however). //! //! ```no_run -//! use ggdt::graphics::*; +//! use ggdt::graphics::indexed::*; //! use ggdt::system::*; //! //! let config = DosLikeConfig::new(); @@ -30,6 +30,7 @@ use sdl2::video::Window; use crate::system::*; +use crate::graphics::indexed::*; /// Configuration / builder for configuring and constructing an instance of [`DosLike`]. pub struct DosLikeConfig { diff --git a/ggdt/tests/graphics.rs b/ggdt/tests/graphics.rs index 05d1317..3d5ca7a 100644 --- a/ggdt/tests/graphics.rs +++ b/ggdt/tests/graphics.rs @@ -2,7 +2,7 @@ use std::path::Path; use std::rc::Rc; use ggdt::{SCREEN_HEIGHT, SCREEN_WIDTH}; -use ggdt::graphics::*; +use ggdt::graphics::indexed::*; fn setup() -> (Bitmap, Palette) { let palette = Palette::new_vga_palette().unwrap();