|
- #[derive(Debug, Clone, Copy)]
- pub struct SpriteLocation {
- // location of sprite on tilesheet
- pub row: i32,
- pub col: i32,
- }
-
- #[derive(Debug, Clone, Copy, PartialEq, Eq)]
- pub enum Sprite {
- // row 0
- Blank,
-
- BlockTopDownWood,
- BlockTopDownRed,
- BlockTopDownBlue,
- BlockTopDownGreen,
- BlockTopDownStone,
-
- BlockAngledWood,
- BlockAngledRed,
- BlockAngledBlue,
- BlockAngledGreen,
- BlockAngledStone,
-
- Hole,
-
- Black,
-
- // row 1
- MarkerFaded2,
-
- BlockTopDownDarkWood,
- BlockTopDownDarkRed,
- BlockTopDownDarkBlue,
- BlockTopDownDarkGreen,
- BlockTopDownDarkStone,
-
- BlockAngledDarkWood,
- BlockAngledDarkRed,
- BlockAngledDarkBlue,
- BlockAngledDarkGreen,
- BlockAngledDarkStone,
-
- HoleWood,
- BlockTopDownSpotWood,
-
- // row 2
- MarkerFaded1,
-
- BlockTopDownDirtyWood,
- BlockTopDownDirtyRed,
- BlockTopDownDirtyBlue,
- BlockTopDownDirtyGreen,
- BlockTopDownDirtyStone,
-
- BlockAngledDirtyWood,
- BlockAngledDirtyRed,
- BlockAngledDirtyBlue,
- BlockAngledDirtyGreen,
- BlockAngledDirtyStone,
-
- HoleRed,
- BlockTopDownSpotRed,
-
- // row 3
- Marker,
-
- BlockTopDownMarkerWood,
- BlockTopDownMarkerRed,
- BlockTopDownMarkerBlue,
- BlockTopDownMarkerGreen,
- BlockTopDownMarkerStone,
-
- BlockAngledFlatWood,
- BlockAngledFlatRed,
- BlockAngledFlatBlue,
- BlockAngledFlatGreen,
- BlockAngledFlatStone,
-
- HoleBlue,
- BlockTopDownSpotBlue,
-
- // row 4
- HeroSouth0,
- HeroSouth1,
- HeroSouth2,
- HeroNorth0,
- HeroNorth1,
- HeroNorth2,
-
- BlockAngledSunkWood,
- BlockAngledSunkRed,
- BlockAngledSunkBlue,
- BlockAngledSunkGreen,
- BlockAngledSunkStone,
-
- HoleGreen,
- BlockTopDownSpotGreen,
-
- // row 5
- HeroOutlinedSouth0,
- HeroOutlinedSouth1,
- HeroOutlinedSouth2,
- HeroOutlinedNorth0,
- HeroOutlinedNorth1,
- HeroOutlinedNorth2,
-
- HeroHead,
- HeroOutlinedHead,
- HeroHeadAlpha,
-
- Coin,
- CoinOutlined,
-
- HoleStone,
- BlockTopDownSpotStone,
-
- // row 6
- HeroEast0,
- HeroEast1,
- HeroEast2,
- HeroWest0,
- HeroWest1,
- HeroWest2,
-
- WallRed0,
- WallRed,
- WallStone,
- WallWood,
-
- FloorGreen,
- FloorStone,
- FloorWood,
-
- // row 7
- HeroOutlinedEast0,
- HeroOutlinedEast1,
- HeroOutlinedEast2,
- HeroOutlinedWest0,
- HeroOutlinedWest1,
- HeroOutlinedWest2,
-
- ChimneyRed0,
- ChimneyRed,
- ChimneyStone,
- ChimneyWood,
-
- FloorMarkerGreen,
- FloorMarkerStone,
- FloorMarkerWood,
- }
-
- pub fn get_sprite_location(sprite: Sprite) -> SpriteLocation {
- match sprite {
- Sprite::Blank => SpriteLocation { row: 0, col: 0 },
- Sprite::BlockTopDownWood => SpriteLocation { row: 0, col: 1 },
- Sprite::BlockTopDownRed => SpriteLocation { row: 0, col: 2 },
- Sprite::BlockTopDownBlue => SpriteLocation { row: 0, col: 3 },
- Sprite::BlockTopDownGreen => SpriteLocation { row: 0, col: 4 },
- Sprite::BlockTopDownStone => SpriteLocation { row: 0, col: 5 },
- Sprite::BlockAngledWood => SpriteLocation { row: 0, col: 6 },
- Sprite::BlockAngledRed => SpriteLocation { row: 0, col: 7 },
- Sprite::BlockAngledBlue => SpriteLocation { row: 0, col: 8 },
- Sprite::BlockAngledGreen => SpriteLocation { row: 0, col: 9 },
- Sprite::BlockAngledStone => SpriteLocation { row: 0, col: 10 },
- Sprite::Hole => SpriteLocation { row: 0, col: 11 },
- Sprite::Black => SpriteLocation { row: 0, col: 12 },
-
- Sprite::MarkerFaded2 => SpriteLocation { row: 1, col: 0 },
- Sprite::BlockTopDownDarkWood => SpriteLocation { row: 1, col: 1 },
- Sprite::BlockTopDownDarkRed => SpriteLocation { row: 1, col: 2 },
- Sprite::BlockTopDownDarkBlue => SpriteLocation { row: 1, col: 3 },
- Sprite::BlockTopDownDarkGreen => SpriteLocation { row: 1, col: 4 },
- Sprite::BlockTopDownDarkStone => SpriteLocation { row: 1, col: 5 },
- Sprite::BlockAngledDarkWood => SpriteLocation { row: 1, col: 6 },
- Sprite::BlockAngledDarkRed => SpriteLocation { row: 1, col: 7 },
- Sprite::BlockAngledDarkBlue => SpriteLocation { row: 1, col: 8 },
- Sprite::BlockAngledDarkGreen => SpriteLocation { row: 1, col: 9 },
- Sprite::BlockAngledDarkStone => SpriteLocation { row: 1, col: 10 },
- Sprite::HoleWood => SpriteLocation { row: 1, col: 11 },
- Sprite::BlockTopDownSpotWood => SpriteLocation { row: 1, col: 12 },
-
- Sprite::MarkerFaded1 => SpriteLocation { row: 2, col: 0 },
- Sprite::BlockTopDownDirtyWood => SpriteLocation { row: 2, col: 1 },
- Sprite::BlockTopDownDirtyRed => SpriteLocation { row: 2, col: 2 },
- Sprite::BlockTopDownDirtyBlue => SpriteLocation { row: 2, col: 3 },
- Sprite::BlockTopDownDirtyGreen => SpriteLocation { row: 2, col: 4 },
- Sprite::BlockTopDownDirtyStone => SpriteLocation { row: 2, col: 5 },
- Sprite::BlockAngledDirtyWood => SpriteLocation { row: 2, col: 6 },
- Sprite::BlockAngledDirtyRed => SpriteLocation { row: 2, col: 7 },
- Sprite::BlockAngledDirtyBlue => SpriteLocation { row: 2, col: 8 },
- Sprite::BlockAngledDirtyGreen => SpriteLocation { row: 2, col: 9 },
- Sprite::BlockAngledDirtyStone => SpriteLocation { row: 2, col: 10 },
- Sprite::HoleRed => SpriteLocation { row: 2, col: 11 },
- Sprite::BlockTopDownSpotRed => SpriteLocation { row: 2, col: 12 },
-
- Sprite::Marker => SpriteLocation { row: 3, col: 0 },
- Sprite::BlockTopDownMarkerWood => SpriteLocation { row: 3, col: 1 },
- Sprite::BlockTopDownMarkerRed => SpriteLocation { row: 3, col: 2 },
- Sprite::BlockTopDownMarkerBlue => SpriteLocation { row: 3, col: 3 },
- Sprite::BlockTopDownMarkerGreen => SpriteLocation { row: 3, col: 4 },
- Sprite::BlockTopDownMarkerStone => SpriteLocation { row: 3, col: 5 },
- Sprite::BlockAngledFlatWood => SpriteLocation { row: 3, col: 6 },
- Sprite::BlockAngledFlatRed => SpriteLocation { row: 3, col: 7 },
- Sprite::BlockAngledFlatBlue => SpriteLocation { row: 3, col: 8 },
- Sprite::BlockAngledFlatGreen => SpriteLocation { row: 3, col: 9 },
- Sprite::BlockAngledFlatStone => SpriteLocation { row: 3, col: 10 },
- Sprite::HoleBlue => SpriteLocation { row: 3, col: 11 },
- Sprite::BlockTopDownSpotBlue => SpriteLocation { row: 3, col: 12 },
-
- Sprite::HeroSouth0 => SpriteLocation { row: 4, col: 0 },
- Sprite::HeroSouth1 => SpriteLocation { row: 4, col: 1 },
- Sprite::HeroSouth2 => SpriteLocation { row: 4, col: 2 },
- Sprite::HeroNorth0 => SpriteLocation { row: 4, col: 3 },
- Sprite::HeroNorth1 => SpriteLocation { row: 4, col: 4 },
- Sprite::HeroNorth2 => SpriteLocation { row: 4, col: 5 },
- Sprite::BlockAngledSunkWood => SpriteLocation { row: 4, col: 6 },
- Sprite::BlockAngledSunkRed => SpriteLocation { row: 4, col: 7 },
- Sprite::BlockAngledSunkBlue => SpriteLocation { row: 4, col: 8 },
- Sprite::BlockAngledSunkGreen => SpriteLocation { row: 4, col: 9 },
- Sprite::BlockAngledSunkStone => SpriteLocation { row: 4, col: 10 },
- Sprite::HoleGreen => SpriteLocation { row: 4, col: 11 },
- Sprite::BlockTopDownSpotGreen => SpriteLocation { row: 4, col: 12 },
-
- Sprite::HeroOutlinedSouth0 => SpriteLocation { row: 5, col: 0 },
- Sprite::HeroOutlinedSouth1 => SpriteLocation { row: 5, col: 1 },
- Sprite::HeroOutlinedSouth2 => SpriteLocation { row: 5, col: 2 },
- Sprite::HeroOutlinedNorth0 => SpriteLocation { row: 5, col: 3 },
- Sprite::HeroOutlinedNorth1 => SpriteLocation { row: 5, col: 4 },
- Sprite::HeroOutlinedNorth2 => SpriteLocation { row: 5, col: 5 },
- Sprite::HeroHead => SpriteLocation { row: 5, col: 6 },
- Sprite::HeroOutlinedHead => SpriteLocation { row: 5, col: 7 },
- Sprite::HeroHeadAlpha => SpriteLocation { row: 5, col: 8 },
- Sprite::Coin => SpriteLocation { row: 5, col: 9 },
- Sprite::CoinOutlined => SpriteLocation { row: 5, col: 10 },
- Sprite::HoleStone => SpriteLocation { row: 5, col: 11 },
- Sprite::BlockTopDownSpotStone => SpriteLocation { row: 5, col: 12 },
-
- Sprite::HeroEast0 => SpriteLocation { row: 6, col: 0 },
- Sprite::HeroEast1 => SpriteLocation { row: 6, col: 1 },
- Sprite::HeroEast2 => SpriteLocation { row: 6, col: 2 },
- Sprite::HeroWest0 => SpriteLocation { row: 6, col: 3 },
- Sprite::HeroWest1 => SpriteLocation { row: 6, col: 4 },
- Sprite::HeroWest2 => SpriteLocation { row: 6, col: 5 },
- Sprite::WallRed0 => SpriteLocation { row: 6, col: 6 },
- Sprite::WallRed => SpriteLocation { row: 6, col: 7 },
- Sprite::WallStone => SpriteLocation { row: 6, col: 8 },
- Sprite::WallWood => SpriteLocation { row: 6, col: 9 },
- Sprite::FloorGreen => SpriteLocation { row: 6, col: 10 },
- Sprite::FloorStone => SpriteLocation { row: 6, col: 11 },
- Sprite::FloorWood => SpriteLocation { row: 6, col: 12 },
-
- Sprite::HeroOutlinedEast0 => SpriteLocation { row: 7, col: 0 },
- Sprite::HeroOutlinedEast1 => SpriteLocation { row: 7, col: 1 },
- Sprite::HeroOutlinedEast2 => SpriteLocation { row: 7, col: 2 },
- Sprite::HeroOutlinedWest0 => SpriteLocation { row: 7, col: 3 },
- Sprite::HeroOutlinedWest1 => SpriteLocation { row: 7, col: 4 },
- Sprite::HeroOutlinedWest2 => SpriteLocation { row: 7, col: 5 },
- Sprite::ChimneyRed0 => SpriteLocation { row: 7, col: 6 },
- Sprite::ChimneyRed => SpriteLocation { row: 7, col: 7 },
- Sprite::ChimneyStone => SpriteLocation { row: 7, col: 8 },
- Sprite::ChimneyWood => SpriteLocation { row: 7, col: 9 },
- Sprite::FloorMarkerGreen => SpriteLocation { row: 7, col: 10 },
- Sprite::FloorMarkerStone => SpriteLocation { row: 7, col: 11 },
- Sprite::FloorMarkerWood => SpriteLocation { row: 7, col: 12 },
- }
- }
|