aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2025-12-13 22:11:05 +0100
committernokoe <nokoe@mailbox.org>2025-12-13 22:11:05 +0100
commitcced89ecbe80123ad8f9776f663fe34e8f681c2c (patch)
treea2d5cafd1ed1e6feceb706c43738c2b838efa5a4
parent285608d79b3e635b37c6155a6165a26668431bcd (diff)
downloadhurrycurry-cced89ecbe80123ad8f9776f663fe34e8f681c2c.tar
hurrycurry-cced89ecbe80123ad8f9776f663fe34e8f681c2c.tar.bz2
hurrycurry-cced89ecbe80123ad8f9776f663fe34e8f681c2c.tar.zst
deprecate old crate format
-rw-r--r--locale/en.ini3
-rw-r--r--server/tools/src/map_linter.rs23
2 files changed, 25 insertions, 1 deletions
diff --git a/locale/en.ini b/locale/en.ini
index 89277895..20c5f4ce 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -304,7 +304,6 @@ s.error.customer_interact=You shall not interact with customers directly.
s.error.interacting_too_far=interacting too far from player
s.error.item_not_found=The item "{0}" does not exist.
s.error.map_load=Map failed to load: {0}
-s.error.scoreboard_disabled=This map has no scoreboard.
s.error.must_be_alone=You must be alone in this server to reload
s.error.no_hand=Hand does not exist.
s.error.no_info=No information available.
@@ -314,6 +313,7 @@ s.error.not_editor_session=Not within an editing session.
s.error.packet_not_supported=Packet not supported in this session.
s.error.packet_sender_invalid=Packet sent to a player that is not owned by this connection.
s.error.quoting_invalid=Command quoting invalid
+s.error.scoreboard_disabled=This map has no scoreboard.
s.error.self_interact=Interacting with yourself. This is impossible.
s.error.too_many_players=Too many players joined
s.error.tutorial_already_running=Tutorial already running
@@ -328,6 +328,7 @@ s.state.paused.all_idle=Game paused
s.state.paused.any_not_ready=Waiting for {0} players…
s.tool.map_linter.chair_no_customer_access=Chair at {0} is not accessible by customers.
s.tool.map_linter.chair_no_table=Chair at {0} has no interactable tile around.
+s.tool.map_linter.deprecated_tile=Tile {0} is deprecated. Use `crate:...` instead.
s.tool.map_linter.exclusive_no_recipe=Tile {0} is exclusive but is missing recipes.
s.tool.map_linter.exclusive=Tile {0} is recipe exclusive.
s.tool.map_linter.missing_tile=Map has no {0} tile.
diff --git a/server/tools/src/map_linter.rs b/server/tools/src/map_linter.rs
index 9e99dadc..0f5e3364 100644
--- a/server/tools/src/map_linter.rs
+++ b/server/tools/src/map_linter.rs
@@ -69,11 +69,29 @@ static EXCLUSIVE: &[&str] = &[
"lettuce-crate",
"cheese-crate",
"mushroom-crate",
+ "noodles-crate",
"potato-crate",
"bun-crate",
"trash",
"deep-fryer",
+ "crate",
];
+static DEPRECATED_TILE: &[&str] = &[
+ "steak-crate",
+ "coconut-crate",
+ "strawberry-crate",
+ "fish-crate",
+ "rice-crate",
+ "tomato-crate",
+ "flour-crate",
+ "leek-crate",
+ "lettuce-crate",
+ "cheese-crate",
+ "mushroom-crate",
+ "potato-crate",
+ "bun-crate",
+];
+
static COLLIDER: &[&str] = &[
"wall",
"wall-window",
@@ -166,6 +184,11 @@ pub fn check_map(map: &str) -> Result<()> {
warnings.push(trm!("s.tool.map_linter.unknown_tile", t = tile));
continue;
};
+
+ if DEPRECATED_TILE.contains(&tile_name) {
+ warnings.push(trm!("s.tool.map_linter.deprecated_tile", t = tile));
+ }
+
match mode {
Normal => {
if data.tile_walkable.contains(&tile) {