From d6d1e992685c12128af740d2326ab7660327abbf Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Wed, 1 Mar 2023 10:20:44 +0100 Subject: [PATCH] Added blocks from Sketch Desert asset pack --- .gitignore | 1 + Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 16 +-- fetch-assets.sh | 19 ++- src/game/blocks.rs | 306 +++++++++++++++++++++++++++------------------ 6 files changed, 212 insertions(+), 134 deletions(-) diff --git a/.gitignore b/.gitignore index 69c5aff..bcec0fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ target/ assets/base/ assets/exp/ +assets/desert assets/fonts/ assets/ui/ local.data diff --git a/Cargo.lock b/Cargo.lock index f6219a9..d3225b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1619,7 +1619,7 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "little_town" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-std", "directories-next", diff --git a/Cargo.toml b/Cargo.toml index a2be04d..0491dec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "little_town" description = "Build a small isometric town" -version = "0.2.1" +version = "0.2.2" edition = "2021" authors = [ "Jakob Meier " ] readme = "README.org" diff --git a/README.md b/README.md index fafceee..7d6d30d 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,9 @@ with this 2D game - [ ] destroy block with long click - [ ] Settings menu (i.e for Keybindings) - [ ] Background music (ambient) -- [ ] Add more assets +- [x] Add more assets - [x] SketchTown Expansion pack - - [ ] (MAYBE) [Sketch Desert](https://kenney.nl/assets/sketch-desert) + - [x] (MAYBE) [Sketch Desert](https://kenney.nl/assets/sketch-desert) - [x] Placing blocks on the other side of a block (Shift+Mouse) - [x] (requires) rotate block using Ctrl+Mouse @@ -113,12 +113,12 @@ you can follow this guide to build the binary yourself. 4. The output binary can be found in the `target` folder. ## Credits -The Assets were created by [Kenney](https://kenney.nl/) +The assets are designed by [Kenney](https://kenney.nl/) and are licensed under [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/). See below or a detailed list: -- [Sketch Town](https://kenney.nl/assets/sketch-town) assets pack -- [Sketch Town Expansion](https://kenney.nl/assets/sketch-town-expansion) asset pack -- [UI Pack: RPG Expansion](https://kenney.nl/assets/ui-pack-rpg-expansion) asset pack -- [Kenney Fonts](https://kenney.nl/assets/kenney-fonts) - +- [Sketch Town](https://kenney.nl/assets/sketch-town) assets pack +- [Sketch Town Expansion](https://kenney.nl/assets/sketch-town-expansion) asset pack +- [Sektch Desert](https://kenney.nl/assets/sketch-desert) asset pack +- [UI Pack: RPG Expansion](https://kenney.nl/assets/ui-pack-rpg-expansion) asset pack +- [Kenney Fonts](https://kenney.nl/assets/kenney-fonts) diff --git a/fetch-assets.sh b/fetch-assets.sh index d8f000f..5e6e3ab 100755 --- a/fetch-assets.sh +++ b/fetch-assets.sh @@ -3,6 +3,7 @@ # delete old assets rm -rf assets/base rm -rf assets/exp +rm -rf assets/desert rm -rf assets/fonts rm -rf assets/ui # enable failsafe @@ -13,7 +14,7 @@ echo "⏳ Downloading Sketch Town base pack" echo "from https://kenney.nl/assets/sketch-town" mkdir -p assets/base wget https://kenney.nl/content/3-assets/31-sketch-town/kenney_sketchtown_1.zip \ - -O assets/base.zip + -O assets/base.zip -q unzip assets/base.zip -d assets/base rm assets/base.zip echo "✅ Extracting pack 1 done" @@ -23,17 +24,27 @@ echo "⏳ Downloading Sketch Town Expansion pack" echo "from https://kenney.nl/assets/sketch-town-expansion" mkdir -p assets/exp wget https://kenney.nl/content/3-assets/17-sketch-town-expansion/kenney_sketchtownexpansion.zip \ - -O assets/exp.zip + -O assets/exp.zip -q unzip assets/exp.zip -d assets/exp rm assets/exp.zip echo "✅ Extracting pack 2 done" +# fetch the sketch desert pack +echo "⏳ Downloading Sketch Desert pack" +echo "from https://kenney.nl/assets/sketch-desert" +mkdir -p assets/desert +wget https://kenney.nl/content/3-assets/10-sketch-desert/kenney_sketchdesert.zip \ + -O assets/desert.zip -q +unzip assets/desert.zip -d assets/desert +rm assets/desert.zip +echo "✅ Extracting pack 3 done" + # fetch ui pack echo "⏳ Downloading RPG UI Pack" echo "from https://kenney.nl/assets/ui-pack-rpg-expansion" mkdir -p assets/ui wget https://kenney.nl/content/3-assets/164-ui-pack-rpg-expansion/uipack-rpg.zip \ - -O assets/ui.zip + -O assets/ui.zip -q unzip assets/ui.zip -d assets/ui rm assets/ui.zip echo "✅ Extracting pack 3 done" @@ -43,7 +54,7 @@ echo "⏳ Downloading Kenney Fonts" echo "from https://kenney.nl/assets/kenney-fonts" mkdir -p assets/fonts wget https://kenney.nl/content/3-assets/137-kenney-fonts/kenney_fontpackage.zip \ - -O assets/fonts.zip + -O assets/fonts.zip -q unzip assets/fonts.zip -d assets/fonts rm assets/fonts.zip echo "✅ Extracting fonts done" diff --git a/src/game/blocks.rs b/src/game/blocks.rs index 9a77305..652a18e 100644 --- a/src/game/blocks.rs +++ b/src/game/blocks.rs @@ -87,11 +87,13 @@ pub enum Category { Building, /// floor tiling /// i.e grass, dirt - Blocks, + Block, + /// Blocks from the desert pack + Desert, /// category containing roofs for buildings - Roofs, + Roof, /// Trees & Bushes - Plants, + Plant, /// River, Lake and water Water, /// blocks made from wood @@ -186,6 +188,14 @@ auto_gen_blocks!( ( BuildingStackCorner, "exp/Tiles/building_stackCorner", [Building] ), ( BuildingStackCornerBeige, "exp/Tiles/building_stackCornerBeige", [Building] ), + ( DesertBuilding, "desert/Tiles/building_center", [Building, Desert] ), + ( DesertBuildingSides, "desert/Tiles/building_sides", [Building, Desert] ), + ( DesertDarkBuilding, "desert/Tiles/building_dark_center", [Building, Desert] ), + ( DesertDarkBuildingDoor, "desert/Tiles/building_dark_center_door", [Building, Desert] ), + ( DesertDarkBuildingWindows, "desert/Tiles/building_dark_center_windows", [Building, Desert] ), + ( DesertDarkBuildingSides, "desert/Tiles/building_dark_sides", [Building, Desert] ), + ( DesertDarkBuildingSidesWindows, "desert/Tiles/building_dark_sides_windows", [Building, Desert] ), + ( CastleBend, "base/Tiles/castle_bend", [Building] ), ( CastleCenter, "base/Tiles/castle_center", [Building] ), ( CastleCorner, "base/Tiles/castle_corner", [Building] ), @@ -199,129 +209,183 @@ auto_gen_blocks!( ( CastleTowerCenter, "exp/Tiles/castle_towerCenter", [Building] ), ( CastleTowerBeige, "base/Tiles/castle_towerBeige", [Building] ), ( CastleTowerBeigeBase, "exp/Tiles/castle_towerBeigeBase", [Building] ), - ( CastleTowerBeigeTop, "exp/Tiles/castle_towerBeigeTop", [Building, Roofs] ), + ( CastleTowerBeigeTop, "exp/Tiles/castle_towerBeigeTop", [Building, Roof] ), ( CastleTowerBrown, "base/Tiles/castle_towerBrown", [Building] ), ( CastleTowerBrownBase, "exp/Tiles/castle_towerBrownBase", [Building] ), - ( CastleTowerBrownTop, "exp/Tiles/castle_towerBrownTop", [Building, Roofs] ), + ( CastleTowerBrownTop, "exp/Tiles/castle_towerBrownTop", [Building, Roof] ), ( CastleTowerGreen, "base/Tiles/castle_towerGreen", [Building] ), ( CastleTowerGreenBase, "exp/Tiles/castle_towerGreenBase", [Building] ), - ( CastleTowerGreenTop, "exp/Tiles/castle_towerGreenTop", [Building, Roofs] ), + ( CastleTowerGreenTop, "exp/Tiles/castle_towerGreenTop", [Building, Roof] ), ( CastleTowerPurple, "base/Tiles/castle_towerPurple", [Building] ), ( CastleTowerPurpleBase, "exp/Tiles/castle_towerPurpleBase", [Building] ), - ( CastleTowerPurpleTop, "exp/Tiles/castle_towerPurpleTop", [Building, Roofs] ), + ( CastleTowerPurpleTop, "exp/Tiles/castle_towerPurpleTop", [Building, Roof] ), ( CastleWall, "base/Tiles/castle_wall", [Building] ), ( CastleWindow, "base/Tiles/castle_window", [Building] ), - ( Cliff, "exp/Tiles/cliff", [Blocks] ), - ( CliffCorner, "exp/Tiles/cliff", [Blocks] ), - ( CliffCornerInner, "exp/Tiles/cliff", [Blocks] ), - ( CliffEntrance, "exp/Tiles/cliff", [Blocks] ), - ( CliffTop, "exp/Tiles/cliff_top", [Blocks] ), - ( CliffTopEntrance, "exp/Tiles/cliff_topEntrance", [Blocks] ), - ( CliffTopCorner, "exp/Tiles/cliff_topCorner", [Blocks] ), - ( CliffTopCornerInner, "exp/Tiles/cliff_topCornerInner", [Blocks] ), - - ( DirtCenter, "base/Tiles/dirt_center", [Blocks] ), - ( DirtCorner, "exp/Tiles/dirt_corner", [Blocks] ), - ( DirtLow, "base/Tiles/dirt_low", [Blocks] ), - - (Fence, "exp/Tiles/fence_wood", [Wood] ), - (FenceCorner, "exp/Tiles/fence_woodCorner", [Wood] ), - (FenceCurve, "exp/Tiles/fence_woodCurve", [Wood] ), - (FenceEnd, "exp/Tiles/fence_woodEnd", [Wood] ), - (FenceDouble, "exp/Tiles/fence_woodDouble", [Wood] ), - (FenceDoubleCorner, "exp/Tiles/fence_woodDoubleCorner", [Wood] ), - (FenceDoubleCurve, "exp/Tiles/fence_woodDoubleCurve", [Wood] ), - (FenceDoubleEnd, "exp/Tiles/fence_woodDoubleEnd", [Wood]), - - ( Furrow, "exp/Tiles/furrow", [Plants] ), - ( FurrowCropWheat, "exp/Tiles/furrow_cropWheat", [Plants] ), - ( FurrowCrop, "exp/Tiles/furrow_crop", [Plants] ), - ( FurrowEnd, "exp/Tiles/furrow_end", [Plants] ), - - ( Grass, "exp/Tiles/grass_block", [Blocks] ), - ( GrassCenter, "base/Tiles/grass_center", [Blocks] ), - ( GrassCorner, "base/Tiles/grass_corner", [Blocks] ), - ( GrassPath, "base/Tiles/grass_path", [Blocks] ), - ( GrassPathBend, "base/Tiles/grass_pathBend", [Blocks] ), - ( GrassPathCorner, "base/Tiles/grass_pathCorner", [Blocks] ), - ( GrassPathCrossing, "base/Tiles/grass_pathCrossing", [Blocks] ), - ( GrassPathEnd, "base/Tiles/grass_pathEnd", [Blocks] ), - ( GrassPathEndSquare, "base/Tiles/grass_pathEndSquare", [Blocks] ), - ( GrassPathSlope, "base/Tiles/grass_pathSlope", [Blocks] ), - ( GrassPathSplit, "base/Tiles/grass_pathSplit", [Blocks] ), - ( GrassRiver, "base/Tiles/grass_river", [Blocks, Water] ), - ( GrassRiverBend, "base/Tiles/grass_riverBend", [Blocks, Water] ), - ( GrassRiverBridge, "base/Tiles/grass_riverBridge", [Blocks, Water] ), - ( GrassRiverCorner, "base/Tiles/grass_riverCorner", [Blocks, Water] ), - ( GrassRiverCrossing, "base/Tiles/grass_riverCrossing", [Blocks, Water] ), - ( GrassRiverEnd, "base/Tiles/grass_riverEnd", [Blocks, Water] ), - ( GrassRiverEndSquare, "base/Tiles/grass_riverEndSquare", [Blocks, Water] ), - ( GrassRiverSlope, "base/Tiles/grass_riverSlope", [Blocks, Water] ), - ( GrassRiverSplit, "base/Tiles/grass_riverSplit", [Blocks, Water] ), - ( GrassSlope, "base/Tiles/grass_slope", [Blocks] ), - ( GrassSlopeConcave, "base/Tiles/grass_slopeConcave", [Blocks] ), - ( GrassSlopeConvex, "base/Tiles/grass_slopeConvex", [Blocks] ), - ( GrassWater, "base/Tiles/grass_water", [Blocks, Water] ), - ( GrassWaterConcave, "base/Tiles/grass_waterConcave", [Blocks, Water] ), - ( GrassWaterConvex, "base/Tiles/grass_waterConvex", [Blocks, Water] ), - ( GrassWaterRiver, "base/Tiles/grass_waterRiver", [Blocks, Water] ), - - ( RocksDirt, "base/Tiles/rocks_dirt", [Plants] ), - ( RocksGrass, "base/Tiles/rocks_grass", [Plants] ), - - ( RoofChurchBeige, "base/Tiles/roof_churchBeige", [Building, Roofs] ), - ( RoofChuchBrown, "base/Tiles/roof_churchBrown", [Building, Roofs] ), - ( RoofChurchGreen, "base/Tiles/roof_churchGreen", [Building, Roofs] ), - ( RoofChurchPurple, "base/Tiles/roof_churchPurple", [Building, Roofs] ), - ( RoofGableBeige, "base/Tiles/roof_gableBeige", [Building, Roofs] ), - ( RoofGableCornerBeige, "exp/Tiles/roof_gableCornerBeige", [Building, Roofs] ), - ( RoofGableBrown, "base/Tiles/roof_gableBrown", [Building, Roofs] ), - ( RoofGableCornerBrown, "exp/Tiles/roof_gableCornerBrown", [Building, Roofs] ), - ( RoofGableGreen, "base/Tiles/roof_gableGreen", [Building, Roofs] ), - ( RoofGableCornerGreen, "exp/Tiles/roof_gableCornerGreen", [Building, Roofs] ), - ( RoofGablePurple, "base/Tiles/roof_gablePurple", [Building, Roofs] ), - ( RoofGableCornerPurple, "exp/Tiles/roof_gableCornerPurple", [Building, Roofs] ), - ( RoofPointBeige, "base/Tiles/roof_pointBeige", [Building, Roofs] ), - ( RoofPointBrown, "base/Tiles/roof_pointBrown", [Building, Roofs] ), - ( RoofPointGreen, "base/Tiles/roof_pointGreen", [Building, Roofs] ), - ( RoofPointPurple, "base/Tiles/roof_pointPurple", [Building, Roofs] ), - ( RoofRoundBeige, "base/Tiles/roof_roundBeige", [Building, Roofs] ), - ( RoofRoundCornerBeige, "exp/Tiles/roof_roundCornerBeige", [Building, Roofs] ), - ( RoofRoundBrown, "base/Tiles/roof_roundBrown", [Building, Roofs] ), - ( RoofRoundCornerBrown, "exp/Tiles/roof_roundCornerBrown", [Building, Roofs] ), - ( RoofRoundGreen, "base/Tiles/roof_roundGreen", [Building, Roofs] ), - ( RoofRoundCornerGreen, "exp/Tiles/roof_roundCornerGreen", [Building, Roofs] ), - ( RoofRoundPurple, "base/Tiles/roof_roundPurple", [Building, Roofs] ), - ( RoofRoundCornerPurple, "exp/Tiles/roof_roundCornerPurple", [Building, Roofs] ), - ( RoofRoundedBeige, "base/Tiles/roof_roundedBeige", [Building, Roofs] ), - ( RoofRoundedBrown, "base/Tiles/roof_roundedBrown", [Building, Roofs] ), - ( RoofRoundedGreen, "base/Tiles/roof_roundedGreen", [Building, Roofs] ), - ( RoofRoundedPurple, "base/Tiles/roof_roundedPurple", [Building, Roofs] ), - ( RoofSlantBeige, "base/Tiles/roof_slantBeige", [Building, Roofs] ), - ( RoofSlantCornerBeige, "exp/Tiles/roof_slantCornerBeige", [Building, Roofs] ), - ( RoofSlantCornerInnerBeige, "exp/Tiles/roof_slantCornerInnerBeige", [Building, Roofs] ), - ( RoofSlantBrown, "base/Tiles/roof_slantBrown", [Building, Roofs] ), - ( RoofSlantCornerBrown, "exp/Tiles/roof_slantCornerBrown", [Building, Roofs] ), - ( RoofSlantCornerInnerBrown, "exp/Tiles/roof_slantCornerInnerBrown", [Building, Roofs] ), - ( RoofSlantGreen, "base/Tiles/roof_slantGreen", [Building, Roofs] ), - ( RoofSlantCornerGreen, "exp/Tiles/roof_slantCornerGreen", [Building, Roofs] ), - ( RoofSlantCornerInnerGreen, "exp/Tiles/roof_slantCornerInnerGreen", [Building, Roofs] ), - ( RoofSlantPurple, "base/Tiles/roof_slantPurple", [Building, Roofs] ), - ( RoofSlantCornerPurple, "exp/Tiles/roof_slantCornerPurple", [Building, Roofs] ), - ( RoofSlantCornerInnerPurple, "exp/Tiles/roof_slantCornerInnerPurple", [Building, Roofs] ), + ( Cliff, "exp/Tiles/cliff", [Block] ), + ( CliffCorner, "exp/Tiles/cliff", [Block] ), + ( CliffCornerInner, "exp/Tiles/cliff", [Block] ), + ( CliffEntrance, "exp/Tiles/cliff", [Block] ), + ( CliffTop, "exp/Tiles/cliff_top", [Block] ), + ( CliffTopEntrance, "exp/Tiles/cliff_topEntrance", [Block] ), + ( CliffTopCorner, "exp/Tiles/cliff_topCorner", [Block] ), + ( CliffTopCornerInner, "exp/Tiles/cliff_topCornerInner", [Block] ), + + ( DirtCenter, "base/Tiles/dirt_center", [Block] ), + ( DirtCorner, "exp/Tiles/dirt_corner", [Block] ), + ( DirtLow, "base/Tiles/dirt_low", [Block] ), + + ( Fence, "exp/Tiles/fence_wood", [Wood] ), + ( FenceCorner, "exp/Tiles/fence_woodCorner", [Wood] ), + ( FenceCurve, "exp/Tiles/fence_woodCurve", [Wood] ), + ( FenceEnd, "exp/Tiles/fence_woodEnd", [Wood] ), + ( FenceDouble, "exp/Tiles/fence_woodDouble", [Wood] ), + ( FenceDoubleCorner, "exp/Tiles/fence_woodDoubleCorner", [Wood] ), + ( FenceDoubleCurve, "exp/Tiles/fence_woodDoubleCurve", [Wood] ), + ( FenceDoubleEnd, "exp/Tiles/fence_woodDoubleEnd", [Wood]), + + ( Furrow, "exp/Tiles/furrow", [Plant] ), + ( FurrowCropWheat, "exp/Tiles/furrow_cropWheat", [Plant] ), + ( FurrowCrop, "exp/Tiles/furrow_crop", [Plant] ), + ( FurrowEnd, "exp/Tiles/furrow_end", [Plant] ), + + ( Grass, "exp/Tiles/grass_block", [Block] ), + ( GrassCenter, "base/Tiles/grass_center", [Block] ), + ( GrassCorner, "base/Tiles/grass_corner", [Block] ), + ( GrassSlope, "base/Tiles/grass_slope", [Block] ), + ( GrassSlopeConcave, "base/Tiles/grass_slopeConcave", [Block] ), + ( GrassSlopeConvex, "base/Tiles/grass_slopeConvex", [Block] ), + ( GrassPath, "base/Tiles/grass_path", [Block] ), + ( GrassPathBend, "base/Tiles/grass_pathBend", [Block] ), + ( GrassPathCorner, "base/Tiles/grass_pathCorner", [Block] ), + ( GrassPathCrossing, "base/Tiles/grass_pathCrossing", [Block] ), + ( GrassPathEnd, "base/Tiles/grass_pathEnd", [Block] ), + ( GrassPathEndSquare, "base/Tiles/grass_pathEndSquare", [Block] ), + ( GrassPathSlope, "base/Tiles/grass_pathSlope", [Block] ), + ( GrassPathSplit, "base/Tiles/grass_pathSplit", [Block] ), + ( GrassRiver, "base/Tiles/grass_river", [Block, Water] ), + ( GrassRiverBend, "base/Tiles/grass_riverBend", [Block, Water] ), + ( GrassRiverBridge, "base/Tiles/grass_riverBridge", [Block, Water] ), + ( GrassRiverCorner, "base/Tiles/grass_riverCorner", [Block, Water] ), + ( GrassRiverCrossing, "base/Tiles/grass_riverCrossing", [Block, Water] ), + ( GrassRiverEnd, "base/Tiles/grass_riverEnd", [Block, Water] ), + ( GrassRiverEndSquare, "base/Tiles/grass_riverEndSquare", [Block, Water] ), + ( GrassRiverSlope, "base/Tiles/grass_riverSlope", [Block, Water] ), + ( GrassRiverSplit, "base/Tiles/grass_riverSplit", [Block, Water] ), + ( GrassWater, "base/Tiles/grass_water", [Block, Water] ), + ( GrassWaterConcave, "base/Tiles/grass_waterConcave", [Block, Water] ), + ( GrassWaterConvex, "base/Tiles/grass_waterConvex", [Block, Water] ), + ( GrassWaterRiver, "base/Tiles/grass_waterRiver", [Block, Water] ), + + ( DesertGrass, "desert/Tiles/grass_center", [Block, Desert] ), + ( DesertGrassSlope, "desert/Tiles/grass_slope", [Block, Desert] ), + ( DesertGrassSlopeConcave, "desert/Tiles/grass_slopeConcave", [Block, Desert] ), + ( DesertGrassSlopeConvex, "desert/Tiles/grass_slopeConvex", [Block, Desert] ), + ( DesertGrassCorner, "desert/Tiles/grass_corner", [Block, Desert] ), + ( DesertGrassPath, "desert/Tiles/grass_path", [Block, Desert] ), + ( DesertGrassPathBend, "desert/Tiles/grass_pathBend", [Block, Desert] ), + ( DesertGrassPathCorner, "desert/Tiles/grass_pathCorner", [Block, Desert] ), + ( DesertGrassPathCrossing, "desert/Tiles/grass_pathCrossing", [Block, Desert] ), + ( DesertGrassPathEnd, "desert/Tiles/grass_pathEnd", [Block, Desert] ), + ( DesertGrassPathEndSquare, "desert/Tiles/grass_pathEndSquare", [Block, Desert] ), + ( DesertGrassPathSlope, "desert/Tiles/grass_pathSlope", [Block, Desert] ), + ( DesertGrassPathSplit, "desert/Tiles/grass_pathSplit", [Block, Desert] ), + ( DesertGrassRiver, "desert/Tiles/grass_river", [Block, Desert, Water] ), + ( DesertGrassRiverBend, "desert/Tiles/grass_riverBend", [Block, Desert, Water] ), + ( DesertGrassRiverBridge, "desert/Tiles/grass_riverBridge", [Block, Desert, Water] ), + ( DesertGrassRiverCorner, "desert/Tiles/grass_riverCorner", [Block, Desert, Water] ), + ( DesertGrassRiverCrossing, "desert/Tiles/grass_riverCrossing", [Block, Desert, Water] ), + ( DesertGrassRiverEnd, "desert/Tiles/grass_riverEnd", [Block, Desert, Water] ), + ( DesertGrassRiverEndSquare, "desert/Tiles/grass_riverEndSquare", [Block, Desert, Water] ), + ( DesertGrassRiverSlope, "desert/Tiles/grass_riverSlope", [Block, Desert, Water] ), + ( DesertGrassRiverSplit, "desert/Tiles/grass_riverSplit", [Block, Desert, Water] ), + ( DesertGrassWater, "desert/Tiles/grass_water", [Block, Desert, Water] ), + ( DesertGrassWaterConcave, "desert/Tiles/grass_waterConcave", [Block, Desert, Water] ), + ( DesertGrassWaterConvex, "desert/Tiles/grass_waterConvex", [Block, Desert, Water] ), + ( DesertGrassWaterRiver, "desert/Tiles/grass_waterRiver", [Block, Desert, Water] ), + + ( RocksDirt, "base/Tiles/rocks_dirt", [Plant] ), + ( RocksGrass, "base/Tiles/rocks_grass", [Plant] ), + ( RocksDesert, "desert/Tiles/rocks", [Plant, Desert] ), + + ( DesertOverhang, "desert/Tiles/overhang", [Building, Desert] ), + ( DesertOverhangSmall, "desert/Tiles/overhang_small", [Building, Desert] ), + + ( RoofChurchBeige, "base/Tiles/roof_churchBeige", [Building, Roof] ), + ( RoofChuchBrown, "base/Tiles/roof_churchBrown", [Building, Roof] ), + ( RoofChurchGreen, "base/Tiles/roof_churchGreen", [Building, Roof] ), + ( RoofChurchPurple, "base/Tiles/roof_churchPurple", [Building, Roof] ), + ( RoofGableBeige, "base/Tiles/roof_gableBeige", [Building, Roof] ), + ( RoofGableCornerBeige, "exp/Tiles/roof_gableCornerBeige", [Building, Roof] ), + ( RoofGableBrown, "base/Tiles/roof_gableBrown", [Building, Roof] ), + ( RoofGableCornerBrown, "exp/Tiles/roof_gableCornerBrown", [Building, Roof] ), + ( RoofGableGreen, "base/Tiles/roof_gableGreen", [Building, Roof] ), + ( RoofGableCornerGreen, "exp/Tiles/roof_gableCornerGreen", [Building, Roof] ), + ( RoofGablePurple, "base/Tiles/roof_gablePurple", [Building, Roof] ), + ( RoofGableCornerPurple, "exp/Tiles/roof_gableCornerPurple", [Building, Roof] ), + ( RoofPointBeige, "base/Tiles/roof_pointBeige", [Building, Roof] ), + ( RoofPointBrown, "base/Tiles/roof_pointBrown", [Building, Roof] ), + ( RoofPointGreen, "base/Tiles/roof_pointGreen", [Building, Roof] ), + ( RoofPointPurple, "base/Tiles/roof_pointPurple", [Building, Roof] ), + ( RoofRoundBeige, "base/Tiles/roof_roundBeige", [Building, Roof] ), + ( RoofRoundCornerBeige, "exp/Tiles/roof_roundCornerBeige", [Building, Roof] ), + ( RoofRoundBrown, "base/Tiles/roof_roundBrown", [Building, Roof] ), + ( RoofRoundCornerBrown, "exp/Tiles/roof_roundCornerBrown", [Building, Roof] ), + ( RoofRoundGreen, "base/Tiles/roof_roundGreen", [Building, Roof] ), + ( RoofRoundCornerGreen, "exp/Tiles/roof_roundCornerGreen", [Building, Roof] ), + ( RoofRoundPurple, "base/Tiles/roof_roundPurple", [Building, Roof] ), + ( RoofRoundCornerPurple, "exp/Tiles/roof_roundCornerPurple", [Building, Roof] ), + ( RoofRoundedBeige, "base/Tiles/roof_roundedBeige", [Building, Roof] ), + ( RoofRoundedBrown, "base/Tiles/roof_roundedBrown", [Building, Roof] ), + ( RoofRoundedGreen, "base/Tiles/roof_roundedGreen", [Building, Roof] ), + ( RoofRoundedPurple, "base/Tiles/roof_roundedPurple", [Building, Roof] ), + ( RoofSlantBeige, "base/Tiles/roof_slantBeige", [Building, Roof] ), + ( RoofSlantCornerBeige, "exp/Tiles/roof_slantCornerBeige", [Building, Roof] ), + ( RoofSlantCornerInnerBeige, "exp/Tiles/roof_slantCornerInnerBeige", [Building, Roof] ), + ( RoofSlantBrown, "base/Tiles/roof_slantBrown", [Building, Roof] ), + ( RoofSlantCornerBrown, "exp/Tiles/roof_slantCornerBrown", [Building, Roof] ), + ( RoofSlantCornerInnerBrown, "exp/Tiles/roof_slantCornerInnerBrown", [Building, Roof] ), + ( RoofSlantGreen, "base/Tiles/roof_slantGreen", [Building, Roof] ), + ( RoofSlantCornerGreen, "exp/Tiles/roof_slantCornerGreen", [Building, Roof] ), + ( RoofSlantCornerInnerGreen, "exp/Tiles/roof_slantCornerInnerGreen", [Building, Roof] ), + ( RoofSlantPurple, "base/Tiles/roof_slantPurple", [Building, Roof] ), + ( RoofSlantCornerPurple, "exp/Tiles/roof_slantCornerPurple", [Building, Roof] ), + ( RoofSlantCornerInnerPurple, "exp/Tiles/roof_slantCornerInnerPurple", [Building, Roof] ), + + ( DesertDome, "desert/Tiles/dome", [Building, Desert, Roof] ), + ( DesertDomeSmall, "desert/Tiles/dome_small", [Building, Desert, Roof] ), + + ( DesertStairs, "desert/Tiles/stairs_full", [Building, Desert] ), + ( DesertStairsLeft, "desert/Tiles/stairs_left", [Building, Desert] ), + ( DesertStairsRight, "desert/Tiles/stairs_right", [Building, Desert] ), ( StructureArch, "base/Tiles/structure_arch", [Wood] ), ( StructureHigh, "base/Tiles/structure_high", [Wood] ), ( StructureLow, "base/Tiles/structure_low", [Wood] ), - - ( Trees, "base/Tiles/tree_multiple", [Plants] ), - ( Tree, "base/Tiles/tree_single", [Plants] ), - (Pine, "exp/Tiles/tree_pine", [Plants] ), - (PineLarge, "exp/Tiles/tree_pineLarge", [Plants] ), - - ( WaterCenter, "base/Tiles/water_center", [Blocks, Water] ), - ( WaterFall, "base/Tiles/water_fall", [Blocks, Water] ), + ( StructureTent, "desert/Tiles/structure_tent", [Building, Wood, Desert] ), + ( StructureTentSlant, "desert/Tiles/structure_tentSlant", [Building, Wood, Desert] ), + + ( DesertTiles, "desert/Tiles/tiles", [Block, Desert] ), + ( DesertTilesCrumbled, "desert/Tiles/tiles_crumbled", [Block, Desert] ), + ( DesertTilesDecorated, "desert/Tiles/tiles_decorated", [Block, Desert] ), + ( DesertTilesSteps, "desert/Tiles/tiles_steps", [Block, Desert] ), + + ( Trees, "base/Tiles/tree_multiple", [Plant] ), + ( Tree, "base/Tiles/tree_single", [Plant] ), + ( Pine, "exp/Tiles/tree_pine", [Plant] ), + ( PineLarge, "exp/Tiles/tree_pineLarge", [Plant] ), + ( PalmTree, "desert/Tiles/tree", [Plant, Desert] ), + ( PalmTrees, "desert/Tiles/trees", [Plant, Desert] ), + + ( DesertWalls, "desert/Tiles/walls_square", [Desert, Building] ), + ( DesertWallsBroken, "desert/Tiles/walls_broken", [Desert, Building] ), + ( DesertWallsCorner, "desert/Tiles/walls_corner", [Desert, Building] ), + ( DesertWallsEnd, "desert/Tiles/walls_end", [Desert, Building] ), + ( DesertWallsLeft, "desert/Tiles/walls_left", [Desert, Building] ), + ( DesertWallsRight, "desert/Tiles/walls_right", [Desert, Building] ), + + ( WaterCenter, "base/Tiles/water_center", [Block, Water] ), + ( WaterFall, "base/Tiles/water_fall", [Block, Water] ), ( Well, "exp/Tiles/well", [Water] ) ); impl Default for Block { @@ -336,9 +400,10 @@ impl Category { vec![ Category::All, Category::Building, - Category::Blocks, - Category::Roofs, - Category::Plants, + Category::Block, + Category::Desert, + Category::Roof, + Category::Plant, Category::Water, Category::Wood, ] @@ -347,12 +412,13 @@ impl Category { pub fn get_name(&self) -> &str { match self { Category::Building => "Buildings", - Category::Blocks => "Blocks", - Category::Roofs => "Roofs", - Category::Plants => "Plants", + Category::Block => "Blocks", + Category::Roof => "Roofs", + Category::Plant => "Plants", Category::Water => "Water & River", Category::Wood => "Wood", - Category::All => "All" + Category::All => "All", + Category::Desert => "Desert" } } } -- 2.38.5