chiark
/
gitweb
/
~ianmdlvl
/
otter.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5bfb29d
)
Game updates: Actually delete old aliases when resetting
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Thu, 13 May 2021 08:45:25 +0000
(09:45 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Thu, 13 May 2021 08:45:25 +0000
(09:45 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs
patch
|
blob
|
history
diff --git
a/daemon/cmdlistener.rs
b/daemon/cmdlistener.rs
index d5c16e26cea66d1f9ffc080ac7f1d7f05b57d069..2b057023b893219e98e3ca26310879db975bf7e9 100644
(file)
--- 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 });
}