From 9cd051c71ca62c0fa18aa95d39ca585b8660382b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 13 May 2021 09:45:25 +0100 Subject: [PATCH] Game updates: Actually delete old aliases when resetting Signed-off-by: Ian Jackson --- daemon/cmdlistener.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index d5c16e26..2b057023 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -549,10 +549,17 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( pieces, table_size, table_colour, pcaliases, } = toml_de::from_value(&spec) .map_err(|e: toml_de::Error| ME::TomlStructureError(e.to_string()))?; + + // Clear out old stuff let mut insns = vec![]; + for alias in ig.pcaliases.keys() { + insns.push(MGI::DeletePieceAlias(alias.clone())); + } for piece in ig.gs.pieces.keys() { insns.push(MGI::DeletePiece(piece)); } + + // Define new stuff for (alias, target) in pcaliases.into_iter() { insns.push(MGI::DefinePieceAlias{ alias, target }); } -- 2.30.2