Removed unused tree assets

This commit is contained in:
Joshua Barretto 2021-08-31 10:15:52 +01:00
parent 13c15b3840
commit b646aae2a4
60 changed files with 55 additions and 379 deletions

View File

@ -32,6 +32,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Experimental terrain persistence (see server documentation) - Experimental terrain persistence (see server documentation)
- Add GPU filtering using WGPU_ADAPTER environment variable - Add GPU filtering using WGPU_ADAPTER environment variable
- Explosions no longer change block colours within safe zones - Explosions no longer change block colours within safe zones
- The 'spot' system, which generates smaller site-like structures and scenarios
- Chestnut and cedar tree varieties
### Changed ### Changed

View File

@ -1,24 +0,0 @@
EntityConfig (
name: Name("Witch"),
body: Exact(Humanoid(Body(
species: Human,
body_type: Female,
hair_style: 2,
beard: 0,
eyes: 0,
accessory: 0,
hair_color: 0,
skin: 0,
eye_color: 0,
))),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
meta: [
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
LoadoutAsset("common.loadout.spots.witch"),
],
)

View File

@ -0,0 +1,24 @@
EntityConfig (
name: Name("Witch"),
body: Exact(Humanoid(Body(
species: Human,
body_type: Female,
hair_style: 2,
beard: 0,
eyes: 0,
accessory: 0,
hair_color: 0,
skin: 0,
eye_color: 0,
))),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.sceptre.belzeshrub")),
meta: [
SkillSetAsset("common.skillset.dungeon.tier-5.sceptre"),
LoadoutAsset("common.loadout.spots.witch"),
],
)

View File

@ -1,24 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.acacia.1",
center: (17, 18, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
(
specifier: "world.tree.acacia.4",
center: (12, 14, 4)
),
(
specifier: "world.tree.acacia.5",
center: (19, 19, 4)
),
]

View File

@ -1,56 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.baobab.0",
center: (22, 28, 10)
),
(
specifier: "world.tree.baobab.1",
center: (18, 18, 6)
),
(
specifier: "world.tree.baobab.2",
center: (18, 218, 6)
),
(
specifier: "world.tree.baobab.3",
center: (18, 16, 10)
),
(
specifier: "world.tree.baobab.4",
center: (15, 16, 5)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.5",
center: (11, 12, 4)
),
(
specifier: "world.tree.baobab.6",
center: (17, 17, 4)
),
(
specifier: "world.tree.acacia.2",
center: (5, 5, 4)
),
(
specifier: "world.tree.acacia.3",
center: (6, 6, 3)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.mangroves.1",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.2",
center: (16, 17, 7)
),
(
specifier: "world.tree.mangroves.3",
center: (18, 19, 8)
),
(
specifier: "world.tree.mangroves.4",
center: (19, 18, 8)
),
(
specifier: "world.tree.mangroves.5",
center: (19, 20, 9)
),
(
specifier: "world.tree.mangroves.6",
center: (18, 21, 9)
),
(
specifier: "world.tree.mangroves.7",
center: (20, 17, 9)
),
(
specifier: "world.tree.mangroves.8",
center: (18, 19, 9)
),
]

View File

@ -1,40 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.oak_green.1",
center: (15, 17, 14)
),
(
specifier: "world.tree.oak_green.2",
center: (18, 17, 14)
),
(
specifier: "world.tree.oak_green.3",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.4",
center: (19, 20, 14)
),
(
specifier: "world.tree.oak_green.5",
center: (18, 18, 14)
),
(
specifier: "world.tree.oak_green.6",
center: (18, 21, 14)
),
(
specifier: "world.tree.oak_green.7",
center: (20, 21, 14)
),
(
specifier: "world.tree.oak_green.8",
center: (22, 21, 14)
),
(
specifier: "world.tree.oak_green.9",
center:(21, 21, 14)
),
]

View File

@ -1,36 +0,0 @@
#![enable(unwrap_newtypes)]
[
(
specifier: "world.tree.pine_green.1",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.2",
center: (15, 15, 14)
),
(
specifier: "world.tree.pine_green.3",
center: (17, 15, 12)
),
(
specifier: "world.tree.pine_green.4",
center: (10, 8, 12)
),
(
specifier: "world.tree.pine_green.5",
center: (12, 12, 12)
),
(
specifier: "world.tree.pine_green.6",
center: (11, 10, 12)
),
(
specifier: "world.tree.pine_green.7",
center: (16, 15, 12)
),
(
specifier: "world.tree.pine_green.8",
center: (12, 10, 12)
),
]

View File

@ -19,6 +19,7 @@
// Leaves all actually get interpolated. // Leaves all actually get interpolated.
TemperateLeaves: [ TemperateLeaves: [
(start: (20, 100, 40), end: (60, 120, 0)), (start: (20, 100, 40), end: (60, 120, 0)),
// TODO: Uncomment when we add autumnal trees
//(start: (178, 216, 0), end: (255, 185, 63)), //(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)), //(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)), //(start: (168, 81, 0), end: (54, 150, 31)),

BIN
assets/world/tree/acacia/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_2/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/acacia_3/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/0.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/baobab/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/7.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/mangroves/8.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/1.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/2.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/3.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/4.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/5.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/6.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/7.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/8.vox (Stored with Git LFS)

Binary file not shown.

BIN
assets/world/tree/oak_green/9.vox (Stored with Git LFS)

Binary file not shown.

View File

@ -278,7 +278,7 @@ pub fn block_from_structure(
} else { } else {
Block::air(SpriteKind::Empty) Block::air(SpriteKind::Empty)
}; };
if field.get(pos + structure_pos) % 16 < 8 { if field.chance(pos + structure_pos, 0.5) {
Some(block) Some(block)
} else { } else {
Some(block.with_sprite(SpriteKind::Chest)) Some(block.with_sprite(SpriteKind::Chest))
@ -302,7 +302,9 @@ pub fn block_from_structure(
let range = if ranges.is_empty() { let range = if ranges.is_empty() {
None None
} else { } else {
ranges.get(RandomPerm::new(structure_seed).get(13) as usize % ranges.len()) ranges.get(
RandomPerm::new(structure_seed).get(structure_seed) as usize % ranges.len(),
)
}; };
range.map(|range| { range.map(|range| {

View File

@ -57,6 +57,8 @@ impl<'a> CanvasInfo<'a> {
}) })
} }
/// Find all spots within range of this canvas's chunk. Returns `(wpos,
/// spot, seed)`.
pub fn nearby_spots(&self) -> impl Iterator<Item = (Vec2<i32>, Spot, u32)> + '_ { pub fn nearby_spots(&self) -> impl Iterator<Item = (Vec2<i32>, Spot, u32)> + '_ {
(-1..2) (-1..2)
.map(|x| (-1..2).map(move |y| Vec2::new(x, y))) .map(|x| (-1..2).map(move |y| Vec2::new(x, y)))

View File

@ -31,7 +31,6 @@ use vek::*;
/// that composes the spot and the entities that should be spawned there. /// that composes the spot and the entities that should be spawned there.
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub enum Spot { pub enum Spot {
// *Themed Spots*
DwarvenGrave, DwarvenGrave,
SaurokAltar, SaurokAltar,
RockCircle, RockCircle,
@ -56,19 +55,6 @@ pub enum Spot {
Shipwreck, Shipwreck,
} }
// Available Biomes are:
//Void
//Lake
//Grassland
//Ocean
//Mountain
//Snowland
//Desert
//Swamp
//Jungle
//Forest
//Savannah
impl Spot { impl Spot {
pub fn generate(world: &mut WorldSim) { pub fn generate(world: &mut WorldSim) {
use BiomeKind::*; use BiomeKind::*;
@ -312,6 +298,8 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
entity_radius: f32, entity_radius: f32,
// The entities that should be spawned in the spot, from closest to furthest // The entities that should be spawned in the spot, from closest to furthest
// (count_range, spec) // (count_range, spec)
// count_range = number of entities, chosen randomly within this range
// spec = Manifest spec for the entity kind
entities: &'a [(Range<u32>, &'a str)], entities: &'a [(Range<u32>, &'a str)],
} }
@ -320,7 +308,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
Spot::DwarvenGrave => SpotConfig { Spot::DwarvenGrave => SpotConfig {
base_structures: Some("spots_grasslands.dwarven_grave"), base_structures: Some("spots_grasslands.dwarven_grave"),
entity_radius: 60.0, entity_radius: 60.0,
entities: &[(6..12, "common.entity.spot.bandit_camp.dwarf_grave_robber")], entities: &[(6..12, "common.entity.spot.dwarf_grave_robber")],
}, },
Spot::SaurokAltar => SpotConfig { Spot::SaurokAltar => SpotConfig {
base_structures: Some("spots.jungle.saurok-altar"), base_structures: Some("spots.jungle.saurok-altar"),
@ -349,7 +337,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
base_structures: Some("spots_general.witch_hut"), base_structures: Some("spots_general.witch_hut"),
entity_radius: 1.0, entity_radius: 1.0,
entities: &[ entities: &[
(1..2, "common.entity.spot.bandit_camp.witch_dark"), (1..2, "common.entity.spot.witch_dark"),
(0..4, "common.entity.wild.peaceful.cat"), (0..4, "common.entity.wild.peaceful.cat"),
(0..3, "common.entity.wild.peaceful.frog"), (0..3, "common.entity.wild.peaceful.frog"),
], ],
@ -382,7 +370,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
Spot::AirshipCrash => SpotConfig { Spot::AirshipCrash => SpotConfig {
base_structures: Some("trees.airship_crash"), base_structures: Some("trees.airship_crash"),
entity_radius: 20.0, entity_radius: 20.0,
entities: &[(4..9, "common.entity.spot.bandit_camp.grim_salvager")], entities: &[(4..9, "common.entity.spot.grim_salvager")],
}, },
Spot::FruitTree => SpotConfig { Spot::FruitTree => SpotConfig {
base_structures: Some("trees.fruit_trees"), base_structures: Some("trees.fruit_trees"),

View File

@ -20,17 +20,11 @@ use std::{f32, ops::Range};
use vek::*; use vek::*;
lazy_static! { lazy_static! {
static ref OAKS: AssetHandle<StructuresGroup> = Structure::load_group("trees.oaks");
static ref OAK_STUMPS: AssetHandle<StructuresGroup> = Structure::load_group("trees.oak_stumps"); static ref OAK_STUMPS: AssetHandle<StructuresGroup> = Structure::load_group("trees.oak_stumps");
static ref PINES: AssetHandle<StructuresGroup> = Structure::load_group("trees.pines");
static ref PALMS: AssetHandle<StructuresGroup> = Structure::load_group("trees.palms"); static ref PALMS: AssetHandle<StructuresGroup> = Structure::load_group("trees.palms");
static ref ACACIAS: AssetHandle<StructuresGroup> = Structure::load_group("trees.acacias");
static ref BAOBABS: AssetHandle<StructuresGroup> = Structure::load_group("trees.baobabs");
static ref FRUIT_TREES: AssetHandle<StructuresGroup> = static ref FRUIT_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.fruit_trees"); Structure::load_group("trees.fruit_trees");
static ref BIRCHES: AssetHandle<StructuresGroup> = Structure::load_group("trees.birch"); static ref BIRCHES: AssetHandle<StructuresGroup> = Structure::load_group("trees.birch");
static ref MANGROVE_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.mangrove_trees");
static ref SWAMP_TREES: AssetHandle<StructuresGroup> = static ref SWAMP_TREES: AssetHandle<StructuresGroup> =
Structure::load_group("trees.swamp_trees"); Structure::load_group("trees.swamp_trees");
} }
@ -104,7 +98,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Acacia, StructureBlock::Acacia,
); );
}, },
// ForestKind::Acacia => *ACACIAS,
ForestKind::Baobab => { ForestKind::Baobab => {
break 'model TreeModel::Procedural( break 'model TreeModel::Procedural(
ProceduralTree::generate( ProceduralTree::generate(
@ -114,8 +107,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Baobab, StructureBlock::Baobab,
); );
}, },
// ForestKind::Baobab => *BAOBABS,
// ForestKind::Oak => *OAKS,
ForestKind::Oak => { ForestKind::Oak => {
break 'model TreeModel::Procedural( break 'model TreeModel::Procedural(
ProceduralTree::generate( ProceduralTree::generate(
@ -134,7 +125,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
StructureBlock::Chestnut, StructureBlock::Chestnut,
); );
}, },
//ForestKind::Pine => *PINES,
ForestKind::Pine => { ForestKind::Pine => {
break 'model TreeModel::Procedural( break 'model TreeModel::Procedural(
ProceduralTree::generate( ProceduralTree::generate(
@ -154,7 +144,6 @@ pub fn apply_trees_to(canvas: &mut Canvas, dynamic_rng: &mut impl Rng) {
); );
}, },
ForestKind::Birch => *BIRCHES, ForestKind::Birch => *BIRCHES,
// ForestKind::Mangrove => *MANGROVE_TREES,
ForestKind::Mangrove => { ForestKind::Mangrove => {
break 'model TreeModel::Procedural( break 'model TreeModel::Procedural(
ProceduralTree::generate( ProceduralTree::generate(
@ -449,7 +438,7 @@ impl TreeConfig {
branch_child_radius_lerp: true, branch_child_radius_lerp: true,
leaf_radius: 4.5 * log_scale..5.5 * log_scale, leaf_radius: 4.5 * log_scale..5.5 * log_scale,
leaf_radius_scaled: 0.0, leaf_radius_scaled: 0.0,
straightness: 0.3, straightness: 0.4,
max_depth: 5, max_depth: 5,
splits: 1.75..2.25, splits: 1.75..2.25,
split_range: 1.0..1.25, split_range: 1.0..1.25,

View File

@ -2068,6 +2068,7 @@ impl WorldSim {
near_water: if chunk.river.is_lake() near_water: if chunk.river.is_lake()
|| chunk.river.near_river() || chunk.river.near_river()
|| chunk.alt < CONFIG.sea_level + 6.0 || chunk.alt < CONFIG.sea_level + 6.0
// Close to sea in altitude
{ {
1.0 1.0
} else { } else {