aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-06 21:23:04 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-06 23:03:40 +0200
commitea86b11b682500160f37b35ea8f06b081cd05036 (patch)
treeb1a2948711354b7089d507f93c04bcc3cb56c1c9
parenta0e3d80b5f444c6e9474c21da9410ae0f8603e79 (diff)
downloadhurrycurry-ea86b11b682500160f37b35ea8f06b081cd05036.tar
hurrycurry-ea86b11b682500160f37b35ea8f06b081cd05036.tar.bz2
hurrycurry-ea86b11b682500160f37b35ea8f06b081cd05036.tar.zst
translate html book + more pages
-rw-r--r--locale/en.ini8
-rw-r--r--server/tools/src/book.rs43
-rw-r--r--server/tools/src/book_html.rs16
-rw-r--r--server/tools/src/main.rs2
-rw-r--r--server/tools/src/recipe_diagram.rs2
5 files changed, 54 insertions, 17 deletions
diff --git a/locale/en.ini b/locale/en.ini
index ab2888cc..cd8d9246 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -313,3 +313,11 @@ s.tutorial.serve=Serve the meal here
s.tutorial.take_now=Take this item quickly!
s.tutorial.take=Take {0} from here
s.tutorial.wait_finish=Wait...
+b.title=Hurry Curry! Recipe Book
+b.toc.title=Table of Contents
+b.noodles.title=Noodles
+b.burger.title=Burger
+b.cheese-leek-soup.title=Cheese-Leek Soup
+b.mushroom-soup.title=Mushroom Soup
+b.tomato-soup.title=Tomato Soup
+b.pizza.title=Pizza \ No newline at end of file
diff --git a/server/tools/src/book.rs b/server/tools/src/book.rs
index 3e04b54f..bffbe836 100644
--- a/server/tools/src/book.rs
+++ b/server/tools/src/book.rs
@@ -44,19 +44,50 @@ static RECIPE_PAGES: &[RecipePageParams] = &[
},
RecipePageParams {
name: "burger",
- repr_items: &["plate:seared-patty,sliced-bun,sliced-lettuce"],
+ repr_items: &[
+ "plate:seared-patty,sliced-bun,sliced-lettuce,sliced-tomato",
+ "plate:seared-patty,sliced-bun,sliced-cheese,sliced-tomato",
+ ],
+ },
+ RecipePageParams {
+ name: "noodles",
+ repr_items: &["plate:cooked-noodles,sliced-cheese,tomato-juice"],
+ },
+ RecipePageParams {
+ name: "pizza",
+ repr_items: &["plate:baked-rolled-dough:sliced-cheese,sliced-mushroom,tomato-juice"],
+ },
+ RecipePageParams {
+ name: "curry",
+ repr_items: &["plate:cooked-rice,curry"],
+ },
+ RecipePageParams {
+ name: "drinks",
+ repr_items: &[
+ "glass:water",
+ "glass:tomato-juice",
+ "glass:strawberry-shake",
+ ],
+ },
+ RecipePageParams {
+ name: "mochi",
+ repr_items: &["plate:strawberry-mochi"],
+ },
+ RecipePageParams {
+ name: "doughnut",
+ repr_items: &["plate:doughnut"],
+ },
+ RecipePageParams {
+ name: "doughnut",
+ repr_items: &["plate:doughnut"],
},
- // RecipePageParams {
- // name: "noodles",
- // repr_items: &["plate:cooked-noodles,tomato-juice"],
- // },
];
pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> {
let mut pages = Vec::new();
pages.push(BookPage::Contents {
- title: trm!("b.toc"),
+ title: trm!("b.toc.title"),
table: vec![],
});
let mut toc = Vec::new();
diff --git a/server/tools/src/book_html.rs b/server/tools/src/book_html.rs
index f915444b..08a12e88 100644
--- a/server/tools/src/book_html.rs
+++ b/server/tools/src/book_html.rs
@@ -16,14 +16,16 @@
*/
-use hurrycurry_locale::Locale;
+use crate::diagram_svg::diagram_svg;
+use hurrycurry_locale::{
+ Locale,
+ message::{MessageDisplayExt, PLAIN},
+};
use hurrycurry_protocol::{
Gamedata, Message,
book::{Book, BookPage, Diagram},
};
-use crate::diagram_svg::diagram_svg;
-
pub fn render_html_book(data: &Gamedata, book: &Book, locale: &Locale) -> String {
BookR { book, data, locale }.to_string()
}
@@ -43,6 +45,7 @@ markup::define! {
}
}
}
+
PageR<'a>(index: usize, data: &'a Gamedata, locale: &'a Locale, page: &'a BookPage) {
section.pagegroup[id=format!("page{index}")] {
@match page {
@@ -77,12 +80,7 @@ markup::define! {
}
MessageR<'a>(data: &'a Gamedata, locale: &'a Locale, message: &'a Message) {
- @match message {
- Message::Translation { id, params } => { @format!("{:?}", (id, params)) }
- Message::Text(t) => { @t }
- Message::Item(i) => { @data.item_name(*i) }
- Message::Tile(i) => { @data.tile_name(*i) }
- }
+ @message.display_message(*locale, *data, &PLAIN)
}
DiagramR<'a>(data: &'a Gamedata, diagram: &'a Diagram) {
diff --git a/server/tools/src/main.rs b/server/tools/src/main.rs
index d7e5137a..b550dabb 100644
--- a/server/tools/src/main.rs
+++ b/server/tools/src/main.rs
@@ -107,7 +107,7 @@ fn main() -> Result<()> {
index.reload()?;
let (data, serverdata, _) = index.generate("5star")?;
let book = book(&data, &serverdata)?;
- println!("{}", render_html_book(&data, &book, &FALLBACK_LOCALE))
+ println!("{}", render_html_book(&data, &book, &FALLBACK_LOCALE));
}
Action::MapDemands { map } => {
let mut index = DataIndex::default();
diff --git a/server/tools/src/recipe_diagram.rs b/server/tools/src/recipe_diagram.rs
index a1ac7efd..0be75433 100644
--- a/server/tools/src/recipe_diagram.rs
+++ b/server/tools/src/recipe_diagram.rs
@@ -73,7 +73,7 @@ pub(crate) fn recipe_diagram(
.collect(),
index: ri,
};
- need.extend(&gr.inputs);
+ need.extend(gr.inputs.iter().filter(|i| !have.contains(&i)));
have.extend(&gr.outputs);
recipes.insert(gr);
}