From bb52acc8b7ad073068c9a2dc656d4fecf935d710 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Tue, 16 Jun 2026 18:16:18 +0200 Subject: Adds final tweaks to data client/server --- salis.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'salis.py') diff --git a/salis.py b/salis.py index 34795db..4e0044e 100755 --- a/salis.py +++ b/salis.py @@ -61,6 +61,7 @@ options = { (("C", "clones"), (new,), fmt_id): {"metavar": "N", "help": "number of ancestor clones on each core", "default": 1, "required": False, "type": nat}, (("c", "cores"), (new,), fmt_id): {"metavar": "N", "help": "number of simulator cores", "default": 2, "required": False, "type": nat}, (("d", "data-push-pow"), (new,), fmt_id): {"metavar": "POW", "help": "data aggregation interval exponent; interval = 2^{POW} >= {sync-pow}", "default": 28, "required": False, "type": nat}, + (("F", "font"), (client,), fmt_id): {"metavar": "FILE", "help": "font face to use", "default": "/usr/share/fonts/droid/DroidSansMono.ttf", "required": False}, (("f", "force"), (new,), fmt_id): {"action": "store_true", "help": "overwrite existing simulation of given name", "required": False}, (("F", "muta-flip"), (new,), fmt_id): {"action": "store_true", "help": "cosmic rays flip bits instead of randomizing whole bytes", "required": False}, (("g", "c-compiler"), (new, load, server, client), fmt_id): {"metavar": "CC", "help": "C compiler to use", "default": "gcc", "required": False, "type": str}, @@ -256,6 +257,10 @@ if args.command == "server": # Data client if args.command == "client": + # Check provided font file exists + if not os.path.isfile(args.font): + raise RuntimeError(f"Font file {args.font} does not exist; please provide a valid font") + # Pull basic information from the server # Required to build the client with correct flags args.name = request_from_server({"request": "name"})["name"] @@ -273,7 +278,7 @@ if args.command == "client": client_hash = subprocess.check_output(["git", "rev-parse", "HEAD"]).decode("utf-8").strip() if server_hash != client_hash: - raise RuntimeError(f"Server hash '{server_hash}' and client hash '{client_hash}' don't match") + raise RuntimeError(f"Server hash '{server_hash}' and client hash '{client_hash}' do not match") log.info(f"Confirmed server and client are running against the same git hash: {server_hash}") @@ -417,6 +422,7 @@ if args.command == "client": if not args.no_vsync: ns.b.defines.add("-DVSYNC") + ns.b.defines.add(f"-DFONT_SOURCE=\"{args.font}\"") ns.b.defines.add(f"-DIP=\"{args.ip}\"") ns.b.links.add("-lGL") ns.b.links.add("-lglfw") -- cgit v1.2.1