Removed unused tree assets

This commit is contained in:
Joshua Barretto 2021-08-31 10:15:52 +01:00
parent 2e5414d3e0
commit caebc891f8
60 changed files with 55 additions and 262 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)
- Add GPU filtering using WGPU_ADAPTER environment variable
- 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

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

@ -1,11 +1,11 @@
EntityConfig (
name: Name("Grim Salvager"),
body: RandomWith("humanoid"),
alignment: Alignment(Enemy),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.humanoids"),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")),
hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")),
meta: [
SkillSetAsset("common.skillset.village.guard"),

View File

@ -1,9 +1,9 @@
EntityConfig (
name: Name("Saurok Bandit"),
body: RandomWith("saurok_mighty"),
alignment: Alignment(Enemy),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.biped_large.saurok"),
hands: TwoHanded(Item("common.items.npc_weapons.bow.saurok_bow")),
hands: TwoHanded(Item("common.items.npc_weapons.bow.saurok_bow")),
)

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

@ -4,9 +4,9 @@
(
specifier: "world.structure.natural.saurok-altar",
center: (10, 13, 3),
custom_indices: {
custom_indices: {
105: Filled(GlowingRock, (r: 161, g: 255, b: 133)),
113: Filled(GlowingRock, (r: 139, g: 245, b: 104)),
},
},
),
]

View File

@ -1,10 +1,10 @@
#![enable(unwrap_newtypes)]
[
[
(
specifier: "world.structure.natural.witch-hut-black_0",
center: (10, 13, 16),
custom_indices: {
custom_indices: {
12: Sprite(Cauldron),
10: Sprite(WitchWindow),
44: Filled(GlowingRock, (r: 54, g: 180, b: 64)),

View File

@ -4,7 +4,7 @@
(
specifier: "world.structure.natural.dwarven_grave",
center: (20, 23, 5),
custom_indices: {
custom_indices: {
151: Filled(GlowingRock, (r: 50, g: 255, b: 210)),
152: Filled(GlowingRock, (r: 36, g: 187, b: 151)),
},

View File

@ -4,7 +4,7 @@
(
specifier: "world.structure.natural.gnarling_totem",
center: (9, 5, 5),
custom_indices: {
custom_indices: {
217: Filled(GlowingRock, (r: 0, g: 255, b: 246)),
},
),

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

@ -18,11 +18,12 @@
GreenSludge: None,
// Leaves all actually get interpolated.
TemperateLeaves: [
(start: (20, 100, 40), end: (60, 120, 0)),
//(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)),
],
(start: (20, 100, 40), end: (60, 120, 0)),
// TODO: Uncomment when we add autumnal trees
//(start: (178, 216, 0), end: (255, 185, 63)),
//(start: (142, 164, 0), end: (142, 164, 0)),
//(start: (168, 81, 0), end: (54, 150, 31)),
],
PineLeaves: [(start: (0, 60, 50), end: (30, 80, 10))],
PalmLeavesInner: [(start: (70, 140, 43), end: (55, 140, 32))],
PalmLeavesOuter: [(start: (60, 130, 38), end: (30, 130, 65))],

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -278,7 +278,7 @@ pub fn block_from_structure(
} else {
Block::air(SpriteKind::Empty)
};
if field.get(pos + structure_pos) % 16 < 8 {
if field.chance(pos + structure_pos, 0.5) {
Some(block)
} else {
Some(block.with_sprite(SpriteKind::Chest))
@ -302,7 +302,9 @@ pub fn block_from_structure(
let range = if ranges.is_empty() {
None
} 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| {

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)> + '_ {
(-1..2)
.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.
#[derive(Copy, Clone, Debug)]
pub enum Spot {
// *Themed Spots*
DwarvenGrave,
SaurokAltar,
RockCircle,
@ -56,19 +55,6 @@ pub enum Spot {
Shipwreck,
}
// Available Biomes are:
//Void
//Lake
//Grassland
//Ocean
//Mountain
//Snowland
//Desert
//Swamp
//Jungle
//Forest
//Savannah
impl Spot {
pub fn generate(world: &mut WorldSim) {
use BiomeKind::*;
@ -312,6 +298,8 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
entity_radius: f32,
// The entities that should be spawned in the spot, from closest to furthest
// (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)],
}
@ -320,7 +308,7 @@ pub fn apply_spots_to(canvas: &mut Canvas, _dynamic_rng: &mut impl Rng) {
Spot::DwarvenGrave => SpotConfig {
base_structures: Some("spots_grasslands.dwarven_grave"),
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 {
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"),
entity_radius: 1.0,
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..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 {
base_structures: Some("trees.airship_crash"),
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 {
base_structures: Some("trees.fruit_trees"),

View File

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

View File

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