diff options
| author | nokoe <nokoe@mailbox.org> | 2026-02-26 05:15:54 +0100 |
|---|---|---|
| committer | nokoe <nokoe@mailbox.org> | 2026-02-27 19:31:14 +0100 |
| commit | a859bceeddc8e746bba630b3cc197532b68adbcb (patch) | |
| tree | f8e033595d21e4de34774e4caed8b483c7eba5c6 /server/replaytool | |
| parent | 6419d8c8139d697af309b7db2e698effa8290582 (diff) | |
| download | hurrycurry-a859bceeddc8e746bba630b3cc197532b68adbcb.tar hurrycurry-a859bceeddc8e746bba630b3cc197532b68adbcb.tar.bz2 hurrycurry-a859bceeddc8e746bba630b3cc197532b68adbcb.tar.zst | |
use stable rust toolchainstable-rust
Diffstat (limited to 'server/replaytool')
| -rw-r--r-- | server/replaytool/Cargo.toml | 1 | ||||
| -rw-r--r-- | server/replaytool/src/main.rs | 1 | ||||
| -rw-r--r-- | server/replaytool/src/render.rs | 16 |
3 files changed, 11 insertions, 7 deletions
diff --git a/server/replaytool/Cargo.toml b/server/replaytool/Cargo.toml index cc13b4a9..b3055704 100644 --- a/server/replaytool/Cargo.toml +++ b/server/replaytool/Cargo.toml @@ -19,3 +19,4 @@ async-compression = { version = "0.4.30", features = ["zstd", "tokio"] } rustls = { version = "0.23.31", features = ["ring"] } hurrycurry-protocol = { path = "../protocol" } +rand = "0.10.0" diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs index 7f60287f..8dde133d 100644 --- a/server/replaytool/src/main.rs +++ b/server/replaytool/src/main.rs @@ -15,7 +15,6 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -#![feature(exit_status_error, random)] pub mod record; pub mod render; diff --git a/server/replaytool/src/render.rs b/server/replaytool/src/render.rs index b3290e07..9654256d 100644 --- a/server/replaytool/src/render.rs +++ b/server/replaytool/src/render.rs @@ -17,9 +17,9 @@ */ use crate::replay::replay; -use anyhow::{Context, Result, anyhow}; +use anyhow::{Context, Result, anyhow, bail}; use log::info; -use std::{path::PathBuf, random::random, str::FromStr}; +use std::{path::PathBuf, str::FromStr}; use tokio::{ fs::{File, create_dir_all, remove_dir, remove_file}, io::AsyncWriteExt, @@ -58,9 +58,10 @@ pub struct RenderArgs { pub async fn render(a: RenderArgs) -> Result<()> { let ws_listener = TcpListener::bind(("127.0.0.1", a.port)).await?; - let cwd = PathBuf::from_str("/tmp") - .unwrap() - .join(format!("hurrycurry-render-cfg-{:016x}", random::<u64>(..))); + let cwd = PathBuf::from_str("/tmp").unwrap().join(format!( + "hurrycurry-render-cfg-{:016x}", + rand::random::<u64>() + )); let config = { let (width, height) = a @@ -130,7 +131,10 @@ window/size/viewport_height={height} info!("listening for websockets on {}", ws_listener.local_addr()?); replay(&ws_listener, &a.input).await?; - client.wait().await?.exit_ok()?; + let e = client.wait().await?; + if !e.success() { + bail!("failed with code {:?}", e.code()) + } remove_file(cwd.join("override.cfg")).await?; remove_file(cwd.join("client.pck")).await?; |