Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
table_size,
pieces,
table_colour,
+ pcaliases,
} = read_spec(&ma, &args.game_file)?;
let mut insns = vec![];
insns.push(MgmtGameInstruction::DeletePieceAlias(p));
}
+ for (alias, target) in pcaliases.into_iter() {
+ insns.push(MGI::DefinePieceAlias{ alias, target });
+ }
+
if let Some(table_size) = table_size {
insns.push(MGI::SetTableSize(table_size));
}
pub table_size: Option<Pos>,
pub pieces: Vec<PiecesSpec>,
pub table_colour: Option<ColourSpec>,
+ #[serde(default)] pub pcaliases: HashMap<String, Box<dyn PieceSpec>>,
}
#[derive(Debug, Serialize, Deserialize)]