diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-30 15:38:43 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-30 15:38:43 +0200 |
commit | 17c5cfee80090726ef9500b3a0c259145348878a (patch) | |
tree | 00c2312031e98e3a942b05c6acba82f6091ccd90 /server/replaytool/src/main.rs | |
parent | 961db5a406979eb85166bb04a6d9be4befb43551 (diff) | |
download | hurrycurry-17c5cfee80090726ef9500b3a0c259145348878a.tar hurrycurry-17c5cfee80090726ef9500b3a0c259145348878a.tar.bz2 hurrycurry-17c5cfee80090726ef9500b3a0c259145348878a.tar.zst |
pausable replays
Diffstat (limited to 'server/replaytool/src/main.rs')
-rw-r--r-- | server/replaytool/src/main.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs index 51076994..e9fa8003 100644 --- a/server/replaytool/src/main.rs +++ b/server/replaytool/src/main.rs @@ -106,6 +106,7 @@ async fn main() -> anyhow::Result<()> { let mut next_event = serde_json::from_str::<Event>(&file.next_line().await?.ok_or(anyhow!("eof"))?)?; let mut time = 0.; + let mut paused = false; info!("ready"); let (sock, addr) = ws_listener.accept().await?; @@ -145,7 +146,14 @@ async fn main() -> anyhow::Result<()> { )) .await?; } + PacketS::Idle { paused: pause } => { + // Cannot display server hint like in main server because cant address them to spectators. + paused = pause; + } PacketS::ReplayTick { dt } => { + if paused { + continue; + } time += dt; while next_event.ts < time { debug!("<- {:?}", next_event.packet); |