From 345f0135a798a25d0ae6197b81050702524fdfdf Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 11 Mar 2021 11:23:13 +0000 Subject: [PATCH] occult ilks: Wrap in some structures This will help with future-proofing savefiles. Signed-off-by: Ian Jackson --- src/global.rs | 9 +++++++-- src/occultilks.rs | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/global.rs b/src/global.rs index b2fe85d9..2e093a59 100644 --- a/src/global.rs +++ b/src/global.rs @@ -46,7 +46,7 @@ pub struct Instance { pub name: Arc, pub gs: GameState, pub ipieces: IPieces, - pub ioccults: OccultIlks, + pub ioccults: IOccults, pub clients: DenseSlotMap, pub iplayers: SecondarySlotMap, pub tokens_players: TokenRegistry, @@ -81,6 +81,11 @@ pub type ActualIPieces = SecondarySlotMap; #[derive(Copy,Clone,Debug)] pub struct ModifyingPieces(()); +#[derive(Debug,Serialize,Deserialize,Default)] +pub struct IOccults { + pub ilks: OccultIlks, +} + #[derive(Debug,Serialize,Deserialize,Default)] #[serde(transparent)] pub struct GPieces(pub(in crate::global) ActualGPieces); @@ -1019,7 +1024,7 @@ impl InstanceGuard<'_> { fn load_game(accounts: &AccountsGuard, games: &mut GamesGuard, name: InstanceName) -> Option { - let InstanceSaveAccesses:: + let InstanceSaveAccesses:: { tokens_players, mut ipieces, ioccults, mut aplayers, acl, links } = match Self::load_something(&name, "a-") { Ok(data) => data, diff --git a/src/occultilks.rs b/src/occultilks.rs index 44a108eb..81d912b8 100644 --- a/src/occultilks.rs +++ b/src/occultilks.rs @@ -16,10 +16,15 @@ pub struct OccultIlkOwningId(Id); #[serde(transparent)] pub struct OccultIlkName(pub String); +#[derive(Debug,Serialize,Deserialize)] +pub struct OccultIlkData { + pub p_occ: Box, +} + type Id = OccultIlkId; type OId = OccultIlkOwningId; type K = OccultIlkName; -type V = Box; +type V = OccultIlkData; type Refcount = u32; #[derive(Debug,Serialize,Deserialize,Default)] -- 2.30.2