diff options
| -rw-r--r-- | Cargo.toml | 1 | ||||
| -rw-r--r-- | dungeon/src/astar.rs | 2 | ||||
| -rw-r--r-- | dungeon/src/entity.rs | 14 | ||||
| -rw-r--r-- | dungeon/src/lib.rs | 13 | ||||
| -rw-r--r-- | dungeon/src/player_input.rs | 2 | ||||
| -rw-r--r-- | dungeon/src/pos.rs | 64 | ||||
| -rw-r--r-- | dungeon/tests/bsp.rs | 7 | ||||
| -rw-r--r-- | game/src/main.rs | 6 | ||||
| -rw-r--r-- | graphics/src/render.rs | 6 |
9 files changed, 63 insertions, 52 deletions
@@ -87,6 +87,7 @@ unnested_or_patterns = "warn" used_underscore_binding = "warn" used_underscore_items = "warn" verbose_bit_mask = "warn" +wildcard_imports = "warn" # restriction allow_attributes = "warn" diff --git a/dungeon/src/astar.rs b/dungeon/src/astar.rs index a2ae4d3..d26ca5e 100644 --- a/dungeon/src/astar.rs +++ b/dungeon/src/astar.rs @@ -3,7 +3,7 @@ use std::{ hash::Hash, }; -use crate::{Floor, Pos}; +use crate::{map::Floor, pos::Pos}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] struct Node { diff --git a/dungeon/src/entity.rs b/dungeon/src/entity.rs index 818328c..592c1ee 100644 --- a/dungeon/src/entity.rs +++ b/dungeon/src/entity.rs @@ -2,7 +2,11 @@ use rand::{Rng, rngs::SmallRng}; -use crate::{Direction, FPos, Floor, Pos, astar, const_pos}; +use crate::{ + astar, const_pos, + map::Floor, + pos::{Direction, FPos, Pos}, +}; /// `PLAYER_FULL_HEALTH` is the starting health of the player entity pub const PLAYER_FULL_HEALTH: u32 = 10; @@ -137,7 +141,7 @@ impl Entity { /// # Examples /// /// ``` - /// use dungeon::{Pos, Direction, Entity, EntityKind}; + /// use dungeon::{pos::{Pos, Direction}, entity::{Entity, EntityKind}}; /// /// let pos = Pos::new(0, 0).unwrap(); /// let dir = Direction::North; @@ -167,7 +171,7 @@ impl Entity { /// # Examples /// /// ``` - /// use dungeon::{Pos, Entity}; + /// use dungeon::{pos::Pos, entity::Entity}; /// /// let pos = Pos::new(0, 0).unwrap(); /// let player = Entity::player(pos); @@ -185,7 +189,7 @@ impl Entity { /// # Examples /// /// ``` - /// use dungeon::{Pos, Entity}; + /// use dungeon::{pos::Pos, entity::Entity}; /// /// let pos = Pos::new(0, 0).unwrap(); /// let player = Entity::zombie(pos); @@ -334,7 +338,7 @@ impl Player { /// # Examples /// /// ``` - /// use dungeon::{Pos, Player}; + /// use dungeon::{pos::Pos, entity::Player}; /// /// let pos = Pos::new(1, 2).unwrap(); /// let player = Player::new(pos); diff --git a/dungeon/src/lib.rs b/dungeon/src/lib.rs index b96cb83..a475f95 100644 --- a/dungeon/src/lib.rs +++ b/dungeon/src/lib.rs @@ -8,17 +8,18 @@ pub mod map; pub mod player_input; pub mod pos; -pub use bsp::*; -pub use entity::*; -pub use map::*; -pub use player_input::*; -pub use pos::*; - use rand::{ SeedableRng, TryRngCore, rngs::{OsRng, SmallRng}, }; +use crate::{ + entity::{Entity, Player}, + map::Floor, + player_input::PlayerInput, + pos::FPos, +}; + /// The `Dungeon` type represents the game state of the /// dungeon crawler. #[derive(Debug, Clone)] diff --git a/dungeon/src/player_input.rs b/dungeon/src/player_input.rs index 643b014..aa0ef14 100644 --- a/dungeon/src/player_input.rs +++ b/dungeon/src/player_input.rs @@ -1,4 +1,4 @@ -use crate::pos::*; +use crate::pos::Direction; /// Carries information on the player's inputs. /// Allows the game to retrieve player input commands, diff --git a/dungeon/src/pos.rs b/dungeon/src/pos.rs index 16f1fe5..7ee97eb 100644 --- a/dungeon/src/pos.rs +++ b/dungeon/src/pos.rs @@ -15,7 +15,7 @@ use std::{ ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign}, }; -use crate::{MAP_SIZE_USIZE, map::MAP_SIZE}; +use crate::map::{MAP_SIZE, MAP_SIZE_USIZE}; /// This allows us have a u16::try_from(usize) /// like expr in a const context @@ -101,14 +101,14 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = Pos::new(0,0); - /// assert!(pos.is_some()); + /// assert!(pos.is_some()) /// ``` /// /// ``` - /// use dungeon::{Pos, MAP_SIZE}; + /// use dungeon::{pos::Pos, map::MAP_SIZE}; /// /// let pos = Pos::new(MAP_SIZE, MAP_SIZE); /// assert!(pos.is_none()) @@ -129,7 +129,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = unsafe { Pos::new_unchecked(1, 1) }; /// assert_eq!(pos.xy(), (1,1)); @@ -150,7 +150,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = Pos::new(5,7).unwrap(); /// let (x,y) = pos.xy(); @@ -167,7 +167,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = Pos::new(5,7).unwrap(); /// assert_eq!(pos.x(), 5); @@ -182,7 +182,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = Pos::new(5,7).unwrap(); /// assert_eq!(pos.y(), 7); @@ -197,7 +197,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::{Pos, MAP_SIZE_USIZE}; + /// use dungeon::{pos::Pos, map::MAP_SIZE_USIZE}; /// /// let pos = Pos::new(1,2).unwrap(); /// let idx = pos.idx(); @@ -214,7 +214,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::{Pos, MAP_SIZE_USIZE}; + /// use dungeon::{pos::Pos, map::MAP_SIZE_USIZE}; /// /// let idx_pos = Pos::from_idx(MAP_SIZE_USIZE); /// let pos = Pos::new(0, 1); @@ -223,7 +223,7 @@ impl Pos { /// ``` /// /// ``` - /// use dungeon::{Pos, MAP_SIZE_USIZE}; + /// use dungeon::{pos::Pos, map::MAP_SIZE_USIZE}; /// /// let idx_pos = Pos::from_idx(MAP_SIZE_USIZE * 70 + 1); /// let pos = Pos::new(70, 1); @@ -247,7 +247,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::{Direction, Pos}; + /// use dungeon::pos::{Direction, Pos}; /// /// let pos = Pos::new(0, 1).unwrap(); /// let new_pos = pos.step(Direction::North); @@ -255,7 +255,7 @@ impl Pos { /// ``` /// /// ``` - /// use dungeon::{Direction, Pos}; + /// use dungeon::pos::{Direction, Pos}; /// /// let pos = Pos::new(0, 1).unwrap(); /// let new_pos = pos.step(Direction::West); @@ -273,7 +273,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::{Direction, Pos}; + /// use dungeon::pos::{Direction, Pos}; /// /// let pos = Pos::new(0, 1).unwrap(); /// let new_pos = pos.step_by(Direction::South, 3); @@ -281,7 +281,7 @@ impl Pos { /// ``` /// /// ``` - /// use dungeon::{Direction, Pos}; + /// use dungeon::pos::{Direction, Pos}; /// /// let pos = Pos::new(1, 1).unwrap(); /// let new_pos = pos.step_by(Direction::West, 2); @@ -309,7 +309,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos1 = Pos::new(2,7).unwrap(); /// let pos2 = Pos::new(1,17).unwrap(); @@ -329,7 +329,7 @@ impl Pos { /// # Examples /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos1 = Pos::new(3, 6).unwrap(); /// let pos2 = Pos::new(5, 1).unwrap(); @@ -344,7 +344,7 @@ impl Pos { /// Returns of the given position is on the border of the map /// /// ``` - /// use dungeon::{Pos, MAP_SIZE}; + /// use dungeon::{pos::Pos, map::MAP_SIZE}; /// /// // Assuming MAP_SIZE is at least 2 /// @@ -387,7 +387,7 @@ impl Default for Pos { /// Returns a default postion at the origin (0,0) /// /// ``` - /// use dungeon::Pos; + /// use dungeon::pos::Pos; /// /// let pos = Pos::default(); /// @@ -426,7 +426,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos = FPos::new(5.4,6.7); /// ``` @@ -440,7 +440,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::{Pos, FPos}; + /// use dungeon::pos::{Pos, FPos}; /// /// let pos = Pos::new(1, 1).unwrap(); /// let fpos = FPos::from_pos(pos); @@ -456,7 +456,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos = FPos::new(5.0,7.2); /// let (x,y) = fpos.xy(); @@ -473,7 +473,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos = FPos::new(5.0,7.2); /// assert_eq!(fpos.x(), 5.0); @@ -488,7 +488,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos = FPos::new(5.0,7.2); /// assert_eq!(fpos.y(), 7.2); @@ -517,7 +517,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::{Direction, FPos}; + /// use dungeon::pos::{Direction, FPos}; /// /// let fpos = FPos::new(0.0, 1.0); /// let new_fpos = fpos.step_by(Direction::North, 0.3); @@ -525,7 +525,7 @@ impl FPos { /// ``` /// /// ``` - /// use dungeon::{Direction, FPos}; + /// use dungeon::pos::{Direction, FPos}; /// /// let fpos = FPos::new(0.0, 0.0); /// let new_fpos = fpos.step_by(Direction::North, 5.0); @@ -552,7 +552,7 @@ impl FPos { /// Note: some assertions may be commented out, as they would fail due to floating-point error. /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let mut fpos1 = FPos::new(0.0,0.0); /// let fpos2 = FPos::new(0.0,1.0); @@ -580,7 +580,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos1 = FPos::new(0.0,0.0); /// let fpos2 = FPos::new(0.0,1.0); @@ -603,7 +603,7 @@ impl FPos { /// Note: some assertions may be commented out, as they would fail due to floating-point error. /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let mut fpos1 = FPos::new(0.0,0.0); /// let fpos2 = FPos::new(1.0,1.0); @@ -634,7 +634,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos1 = FPos::new(1.0,0.0); /// let fpos2 = FPos::new(0.0,1.0); @@ -652,7 +652,7 @@ impl FPos { /// # Examples /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos1 = FPos::new(1.0, 0.0); /// let fpos2 = FPos::new(1.2, 1.3); @@ -722,7 +722,7 @@ impl Default for FPos { /// Returns a default postion at the origin (0,0) /// /// ``` - /// use dungeon::FPos; + /// use dungeon::pos::FPos; /// /// let fpos = FPos::default(); /// diff --git a/dungeon/tests/bsp.rs b/dungeon/tests/bsp.rs index b1287ee..f7919c5 100644 --- a/dungeon/tests/bsp.rs +++ b/dungeon/tests/bsp.rs @@ -1,8 +1,11 @@ //! Integration Tests for BSP dungeon generation #[cfg(test)] mod tests { - use dungeon::*; - use pos::Pos; + use dungeon::{ + bsp, + map::{self, TILE_COUNT}, + pos::Pos, + }; use rand::{Rng, SeedableRng, rngs::SmallRng}; /// Generate a set of test seeds for reproducibility with a seeded RNG diff --git a/game/src/main.rs b/game/src/main.rs index 4d67a52..b79331b 100644 --- a/game/src/main.rs +++ b/game/src/main.rs @@ -1,6 +1,6 @@ use argh::FromArgs; -use dungeon::*; -use graphics::*; +use dungeon::{Dungeon, player_input::PlayerInput, pos::Direction}; +use graphics::{Key, Window, WindowBuilder}; struct Game { window: Window, @@ -93,7 +93,7 @@ struct Args { seed: Option<u64>, } -fn main() -> Result<()> { +fn main() -> graphics::Result<()> { // Parse arguments let args: Args = argh::from_env(); // Load the window diff --git a/graphics/src/render.rs b/graphics/src/render.rs index bfd9e37..dff09df 100644 --- a/graphics/src/render.rs +++ b/graphics/src/render.rs @@ -1,8 +1,10 @@ use std::{f32, io::Write, time::Duration}; use dungeon::{ - Direction, Dungeon, Entity, EntityKind, Floor, Item, MAP_SIZE, PLAYER_INVENTORY_SIZE, - Player, Pos, Tile, + Dungeon, + entity::{Entity, EntityKind, Item, PLAYER_INVENTORY_SIZE, Player}, + map::{Floor, MAP_SIZE, Tile}, + pos::{Direction, Pos}, }; use raylib::{ RaylibHandle, RaylibThread, |