diff --git a/examples/balls/src/main.rs b/examples/balls/src/main.rs index 41b7e4c..670a83c 100644 --- a/examples/balls/src/main.rs +++ b/examples/balls/src/main.rs @@ -3,8 +3,11 @@ use std::path::Path; use anyhow::Result; use sdl2::keyboard::Scancode; -use libretrogd::utils::rnd_value; use libretrogd::*; +use libretrogd::graphics::*; +use libretrogd::math::*; +use libretrogd::system::*; +use libretrogd::utils::*; const NUM_BALLS: usize = 128; const NUM_BALL_SPRITES: usize = 16; diff --git a/examples/balls_v2/src/entities.rs b/examples/balls_v2/src/entities.rs index 6ab858d..04ee974 100644 --- a/examples/balls_v2/src/entities.rs +++ b/examples/balls_v2/src/entities.rs @@ -1,7 +1,9 @@ use libretrogd::*; use libretrogd::entities::*; use libretrogd::events::*; -use libretrogd::utils::rnd_value; +use libretrogd::graphics::*; +use libretrogd::math::*; +use libretrogd::utils::*; use crate::states::*; diff --git a/examples/balls_v2/src/main.rs b/examples/balls_v2/src/main.rs index f76c596..fd8d703 100644 --- a/examples/balls_v2/src/main.rs +++ b/examples/balls_v2/src/main.rs @@ -2,9 +2,8 @@ use std::path::Path; use anyhow::Result; -use libretrogd::*; -use libretrogd::events::*; use libretrogd::states::*; +use libretrogd::system::*; use crate::entities::*; use crate::states::*; diff --git a/examples/balls_v2/src/states.rs b/examples/balls_v2/src/states.rs index 6d6cb61..cd19348 100644 --- a/examples/balls_v2/src/states.rs +++ b/examples/balls_v2/src/states.rs @@ -1,7 +1,11 @@ use sdl2::keyboard::Scancode; use libretrogd::entities::*; +use libretrogd::events::*; +use libretrogd::graphics::*; +use libretrogd::math::*; use libretrogd::states::*; +use libretrogd::system::*; use crate::*; diff --git a/libretrogd/src/graphics/bitmap/blit.rs b/libretrogd/src/graphics/bitmap/blit.rs index 63e696c..6426b4a 100644 --- a/libretrogd/src/graphics/bitmap/blit.rs +++ b/libretrogd/src/graphics/bitmap/blit.rs @@ -1,4 +1,5 @@ -use crate::{Bitmap, Rect}; +use crate::graphics::*; +use crate::math::*; pub enum BlitMethod { Solid, diff --git a/libretrogd/src/graphics/bitmap/iff.rs b/libretrogd/src/graphics/bitmap/iff.rs index 12eb5b0..2838274 100644 --- a/libretrogd/src/graphics/bitmap/iff.rs +++ b/libretrogd/src/graphics/bitmap/iff.rs @@ -6,8 +6,8 @@ use std::path::Path; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::utils::packbits::{pack_bits, unpack_bits, PackBitsError}; -use crate::{Bitmap, Palette, PaletteError, PaletteFormat}; +use crate::graphics::*; +use crate::utils::packbits::*; #[derive(Error, Debug)] pub enum IffError { diff --git a/libretrogd/src/graphics/bitmap/mod.rs b/libretrogd/src/graphics/bitmap/mod.rs index 6d09b5d..b5ed7ee 100644 --- a/libretrogd/src/graphics/bitmap/mod.rs +++ b/libretrogd/src/graphics/bitmap/mod.rs @@ -3,11 +3,13 @@ use std::slice; use thiserror::Error; -pub use crate::blit::*; -pub use crate::iff::*; -pub use crate::pcx::*; -pub use crate::primitives::*; -use crate::{Palette, Rect}; +use crate::graphics::*; +use crate::math::*; + +pub use self::blit::*; +pub use self::iff::*; +pub use self::pcx::*; +pub use self::primitives::*; pub mod blit; pub mod iff; diff --git a/libretrogd/src/graphics/bitmap/pcx.rs b/libretrogd/src/graphics/bitmap/pcx.rs index bc281e4..f4db365 100644 --- a/libretrogd/src/graphics/bitmap/pcx.rs +++ b/libretrogd/src/graphics/bitmap/pcx.rs @@ -5,8 +5,8 @@ use std::path::Path; use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use thiserror::Error; +use crate::graphics::*; use crate::utils::bytes::ReadFixedLengthByteArray; -use crate::{from_rgb32, Bitmap, Palette, PaletteError, PaletteFormat}; #[derive(Error, Debug)] pub enum PcxError { diff --git a/libretrogd/src/graphics/bitmap/primitives.rs b/libretrogd/src/graphics/bitmap/primitives.rs index 1093d94..18b3c66 100644 --- a/libretrogd/src/graphics/bitmap/primitives.rs +++ b/libretrogd/src/graphics/bitmap/primitives.rs @@ -1,6 +1,7 @@ use std::mem::swap; -use crate::{Bitmap, Character, Font, FontRenderOpts, Rect}; +use crate::graphics::*; +use crate::math::*; impl Bitmap { /// Fills the entire bitmap with the given color. diff --git a/libretrogd/src/graphics/bitmapatlas.rs b/libretrogd/src/graphics/bitmapatlas.rs index 423b1f7..831a20d 100644 --- a/libretrogd/src/graphics/bitmapatlas.rs +++ b/libretrogd/src/graphics/bitmapatlas.rs @@ -2,7 +2,8 @@ use std::ops::Index; use thiserror::Error; -use crate::{Bitmap, Rect}; +use crate::graphics::*; +use crate::math::*; #[derive(Error, Debug)] pub enum BitmapAtlasError { @@ -115,7 +116,7 @@ impl Index for BitmapAtlas { #[cfg(test)] pub mod tests { - use claim::assert_matches; + use claim::*; use super::*; diff --git a/libretrogd/src/graphics/font.rs b/libretrogd/src/graphics/font.rs index 47dc987..ab3786e 100644 --- a/libretrogd/src/graphics/font.rs +++ b/libretrogd/src/graphics/font.rs @@ -5,7 +5,8 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::{Bitmap, Rect}; +use crate::graphics::*; +use crate::math::*; pub static VGA_FONT_BYTES: &[u8] = include_bytes!("../../assets/vga.fnt"); diff --git a/libretrogd/src/graphics/mod.rs b/libretrogd/src/graphics/mod.rs index 631f704..8ab4bf0 100644 --- a/libretrogd/src/graphics/mod.rs +++ b/libretrogd/src/graphics/mod.rs @@ -1,4 +1,10 @@ +pub use self::bitmap::*; +pub use self::bitmapatlas::*; +pub use self::font::*; +pub use self::palette::*; + pub mod bitmap; pub mod bitmapatlas; pub mod font; pub mod palette; + diff --git a/libretrogd/src/graphics/palette.rs b/libretrogd/src/graphics/palette.rs index d9b5a59..2258f75 100644 --- a/libretrogd/src/graphics/palette.rs +++ b/libretrogd/src/graphics/palette.rs @@ -7,8 +7,8 @@ use std::path::Path; use byteorder::{ReadBytesExt, WriteBytesExt}; use thiserror::Error; -use crate::utils::abs_diff; use crate::NUM_COLORS; +use crate::utils::abs_diff; // silly "hack" (???) which allows us to alias the generic constraint `RangeBounds + Iterator` to `ColorRange` pub trait ColorRange: RangeBounds + Iterator {} diff --git a/libretrogd/src/lib.rs b/libretrogd/src/lib.rs index 89da3f5..fe17665 100644 --- a/libretrogd/src/lib.rs +++ b/libretrogd/src/lib.rs @@ -1,21 +1,6 @@ extern crate core; extern crate sdl2; -pub use crate::graphics::bitmap::*; -pub use crate::graphics::bitmapatlas::*; -pub use crate::graphics::font::*; -pub use crate::graphics::palette::*; -pub use crate::graphics::*; -pub use crate::math::circle::*; -pub use crate::math::matrix3x3::*; -pub use crate::math::rect::*; -pub use crate::math::vector2::*; -pub use crate::math::*; -pub use crate::system::input_devices::keyboard::*; -pub use crate::system::input_devices::mouse::*; -pub use crate::system::input_devices::*; -pub use crate::system::*; - pub mod entities; pub mod events; pub mod graphics; diff --git a/libretrogd/src/math/circle.rs b/libretrogd/src/math/circle.rs index f892887..e3a3faf 100644 --- a/libretrogd/src/math/circle.rs +++ b/libretrogd/src/math/circle.rs @@ -1,4 +1,4 @@ -use crate::{distance_between, distance_squared_between, Vector2}; +use crate::math::*; /// Represents a 2D circle, using integer center coordinates and radius. #[derive(Debug, Copy, Clone, Eq, PartialEq)] diff --git a/libretrogd/src/math/matrix3x3.rs b/libretrogd/src/math/matrix3x3.rs index 7cb2f98..5dca119 100644 --- a/libretrogd/src/math/matrix3x3.rs +++ b/libretrogd/src/math/matrix3x3.rs @@ -1,6 +1,6 @@ use std::ops::{Mul, MulAssign}; -use crate::{nearly_equal, Vector2}; +use crate::math::*; /// Represents a 3x3 column-major matrix and provides common methods for matrix math. #[derive(Debug, Copy, Clone)] @@ -284,8 +284,6 @@ impl Mul for Matrix3x3 { #[cfg(test)] pub mod tests { - use crate::math::{RADIANS_180, RADIANS_90}; - use super::*; #[test] diff --git a/libretrogd/src/math/mod.rs b/libretrogd/src/math/mod.rs index 800a914..22665ae 100644 --- a/libretrogd/src/math/mod.rs +++ b/libretrogd/src/math/mod.rs @@ -1,5 +1,10 @@ use std::ops::{Add, Div, Mul, Sub}; +pub use self::circle::*; +pub use self::matrix3x3::*; +pub use self::rect::*; +pub use self::vector2::*; + pub mod circle; pub mod matrix3x3; pub mod rect; diff --git a/libretrogd/src/math/vector2.rs b/libretrogd/src/math/vector2.rs index f64cddb..7b2ddcf 100644 --- a/libretrogd/src/math/vector2.rs +++ b/libretrogd/src/math/vector2.rs @@ -1,7 +1,6 @@ use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; -use crate::Matrix3x3; -use crate::{angle_between, angle_to_direction, nearly_equal, NearlyEqual}; +use crate::math::*; /// Represents a 2D vector and provides common methods for vector math. #[derive(Debug, Copy, Clone, PartialEq)] @@ -246,8 +245,6 @@ impl MulAssign for Vector2 { #[cfg(test)] pub mod tests { - use crate::math::*; - use super::*; #[test] diff --git a/libretrogd/src/system/input_devices/keyboard.rs b/libretrogd/src/system/input_devices/keyboard.rs index 63119fc..1e94158 100644 --- a/libretrogd/src/system/input_devices/keyboard.rs +++ b/libretrogd/src/system/input_devices/keyboard.rs @@ -1,7 +1,7 @@ use sdl2::event::Event; use sdl2::keyboard::Scancode; -use super::{ButtonState, InputDevice}; +use super::*; const MAX_KEYS: usize = 256; diff --git a/libretrogd/src/system/input_devices/mouse.rs b/libretrogd/src/system/input_devices/mouse.rs index 3967755..26b0b4c 100644 --- a/libretrogd/src/system/input_devices/mouse.rs +++ b/libretrogd/src/system/input_devices/mouse.rs @@ -1,8 +1,9 @@ use sdl2::event::Event; -use crate::{Bitmap, BlitMethod, Rect}; +use crate::graphics::*; +use crate::math::*; -use super::{ButtonState, InputDevice}; +use super::*; const MAX_BUTTONS: usize = 32; diff --git a/libretrogd/src/system/mod.rs b/libretrogd/src/system/mod.rs index 269bec2..5a0087e 100644 --- a/libretrogd/src/system/mod.rs +++ b/libretrogd/src/system/mod.rs @@ -1,12 +1,16 @@ use byte_slice_cast::AsByteSlice; +use sdl2::{EventPump, Sdl, TimerSubsystem, VideoSubsystem}; use sdl2::event::Event; use sdl2::pixels::PixelFormatEnum; use sdl2::render::{Texture, WindowCanvas}; -use sdl2::{EventPump, Sdl, TimerSubsystem, VideoSubsystem}; use thiserror::Error; -use crate::{Bitmap, BitmaskFont, InputDevice, Keyboard, Mouse, Palette}; use crate::{DEFAULT_SCALE_FACTOR, SCREEN_HEIGHT, SCREEN_WIDTH}; +use crate::graphics::*; + +pub use self::input_devices::*; +pub use self::input_devices::keyboard::*; +pub use self::input_devices::mouse::*; pub mod input_devices;