chiark / gitweb /
hidden: Provide per-player id map
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 30 Jan 2021 23:06:44 +0000 (23:06 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jan 2021 18:38:28 +0000 (18:38 +0000)
Not used yet...

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs
src/gamestate.rs
src/hidden.rs
src/imports.rs
src/lib.rs

index 2890dd2464e05a6b8d47b03a3ff814958213969e..21f11857fb1e615c5c1d4c5d11a5d19daa079840 100644 (file)
@@ -356,6 +356,7 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>(
       let gpl = GPlayerState {
         nick: nick.to_string(),
         layout: arecord.layout,
+        idmap: default(),
       };
       let ipl = IPlayerState {
         acctid,
index 6c1e941b286f7735001152f82ac9b0ca7f1762d4..28ef8e71df26772bedc91b8a8099ee92724d9574 100644 (file)
@@ -68,6 +68,7 @@ pub struct GameState {
 pub struct GPlayerState {
   pub nick: String,
   pub layout: PresentationLayout,
+  pub idmap: PerPlayerIdMap,
 }
 
 #[derive(Debug,Serialize,Deserialize)]
index d5fbf8a556a97f2ab55aaf475a47e28940a0d439..72f99b2027db33f644a0199612df52049e37cd73 100644 (file)
@@ -6,6 +6,7 @@ use crate::imports::*;
 
 use slotmap::secondary;
 
+#[derive(Default,Debug,Clone,Serialize,Deserialize)]
 pub struct PerPlayerIdMap {
   f: SecondarySlotMap<PieceId, VisiblePieceId>,
   r: DenseSlotMap<VisiblePieceId, PieceId>,
index b79258fdf97fca05b94a8d14f84de5031bcebaba..bbdaeb7d2d94749dffb95c38c9028d29e9bdad47 100644 (file)
@@ -90,6 +90,7 @@ pub use crate::debugreader::DebugReader;
 pub use crate::error::*;
 pub use crate::gamestate::*;
 pub use crate::global::*;
+pub use crate::hidden::PerPlayerIdMap;
 pub use crate::keydata::*;
 pub use crate::lens::*;
 pub use crate::mgmtchannel::*;
index 9da9f364e6f4f7e6ee2f6c39f10b0020df0d02e0..9d208927e7f15a77009e56f5f3efb565eb813b76 100644 (file)
@@ -12,6 +12,7 @@ pub mod debugreader;
 pub mod error;
 pub mod gamestate;
 pub mod global;
+pub mod hidden;
 pub mod imports;
 pub mod keydata;
 pub mod lens;