aboutsummaryrefslogtreecommitdiff
path: root/server/data/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/data/src')
-rw-r--r--server/data/src/book/mod.rs4
-rw-r--r--server/data/src/book/recipe_diagram.rs4
-rw-r--r--server/data/src/lib.rs22
-rw-r--r--server/data/src/registry.rs4
4 files changed, 17 insertions, 17 deletions
diff --git a/server/data/src/book/mod.rs b/server/data/src/book/mod.rs
index a0776f41..990d979c 100644
--- a/server/data/src/book/mod.rs
+++ b/server/data/src/book/mod.rs
@@ -20,7 +20,7 @@ pub mod diagram_layout;
pub mod recipe_diagram;
use crate::{
- Serverdata,
+ PrivateGamedata,
book::{diagram_layout::diagram_layout, recipe_diagram::recipe_diagram},
};
use anyhow::{Context, Result};
@@ -30,7 +30,7 @@ use hurrycurry_protocol::{
book::{Book, BookPage},
};
-pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> {
+pub fn book(data: &Gamedata, serverdata: &PrivateGamedata) -> Result<Book> {
let mut pages = Vec::new();
pages.push(BookPage::Contents {
diff --git a/server/data/src/book/recipe_diagram.rs b/server/data/src/book/recipe_diagram.rs
index 2c203f95..bef90946 100644
--- a/server/data/src/book/recipe_diagram.rs
+++ b/server/data/src/book/recipe_diagram.rs
@@ -16,7 +16,7 @@
*/
-use crate::Serverdata;
+use crate::PrivateGamedata;
use anyhow::{Result, bail};
use hurrycurry_protocol::{
Gamedata, ItemIndex, Message, Recipe, RecipeIndex,
@@ -30,7 +30,7 @@ use std::{
pub fn recipe_diagram(
data: &Gamedata,
- serverdata: &Serverdata,
+ serverdata: &PrivateGamedata,
target_items: &[ItemIndex],
) -> Result<Diagram> {
let ambient_items = serverdata
diff --git a/server/data/src/lib.rs b/server/data/src/lib.rs
index aff895fa..53b4e802 100644
--- a/server/data/src/lib.rs
+++ b/server/data/src/lib.rs
@@ -87,7 +87,7 @@ struct TileArgs {
#[derive(Debug, Clone, Default)]
#[rustfmt::skip]
-pub struct Serverdata {
+pub struct PrivateGamedata {
pub initial_map: HashMap<IVec2, (Vec<TileIndex>, Option<ItemIndex>)>,
pub chef_spawn: Vec2,
pub customer_spawn: Option<Vec2>,
@@ -98,11 +98,18 @@ pub struct Serverdata {
pub recipe_groups: BTreeMap<String, BTreeSet<ItemIndex>>,
}
-pub fn build_data(
+pub fn map_list(data_path: &Path) -> Result<Vec<(String, MapMetadata)>> {
+ let index =
+ read_to_string(data_path.join("index.yaml")).context("Failed reading data index")?;
+ let index = serde_yaml_ng::from_str::<DataIndex>(&index)?;
+ Ok(map_listing(&index))
+}
+
+pub fn build_gamedata(
data_path: &Path,
map_name: &str,
generate_book: bool,
-) -> Result<(Gamedata, Serverdata)> {
+) -> Result<(Gamedata, PrivateGamedata)> {
debug!("Preparing gamedata for {map_name}");
// Load index
@@ -234,7 +241,6 @@ pub fn build_data(
let mut data = Gamedata {
current_map: map_name.to_string(),
- maps: map_listing(&index),
tile_collide: tiles_flagged(&tile_flags, &tiles, 'c'),
tile_placeable_items: tile_placeable_items(
&initial_map,
@@ -251,15 +257,9 @@ pub fn build_data(
item_names: items,
demands,
tile_names: tiles,
- bot_algos: vec![
- "waiter".to_string(),
- "simple".to_string(),
- "dishwasher".to_string(),
- "frank".to_string(),
- ],
hand_count: map_in.hand_count.unwrap_or(1),
};
- let mut serverdata = Serverdata {
+ let mut serverdata = PrivateGamedata {
initial_map,
chef_spawn,
customer_spawn,
diff --git a/server/data/src/registry.rs b/server/data/src/registry.rs
index bf64795b..3288c037 100644
--- a/server/data/src/registry.rs
+++ b/server/data/src/registry.rs
@@ -23,7 +23,7 @@ use std::{
sync::RwLock,
};
-use crate::{Serverdata, entities::EntityDecl};
+use crate::{PrivateGamedata, entities::EntityDecl};
#[derive(Default)]
pub(crate) struct ItemTileRegistry {
@@ -57,7 +57,7 @@ impl ItemTileRegistry {
}
}
-pub(crate) fn filter_unused_tiles_and_items(data: &mut Gamedata, serverdata: &mut Serverdata) {
+pub(crate) fn filter_unused_tiles_and_items(data: &mut Gamedata, serverdata: &mut PrivateGamedata) {
debug!("running unused item/tile filter");
let mut used_items = BTreeSet::new();
let mut used_tiles = BTreeSet::new();