From 6d1cfa725cb2f6aaf8a1a1973da3d25525ebf208 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 10 Apr 2026 21:11:48 -0700 Subject: [PATCH] =?UTF-8?q?feat(settings-manager):=20=E2=9C=A8=20Add=20AI?= =?UTF-8?q?=20arena=20mode=20settings=20keys=20and=20validation=20logic=20?= =?UTF-8?q?for=20game=20engine=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/src/autoloads/settings_manager.gd | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/game/engine/src/autoloads/settings_manager.gd b/src/game/engine/src/autoloads/settings_manager.gd index 5c97d679..f92aab94 100644 --- a/src/game/engine/src/autoloads/settings_manager.gd +++ b/src/game/engine/src/autoloads/settings_manager.gd @@ -175,6 +175,14 @@ func _apply_setting(section: String, key: String, value: Variant) -> void: func _apply_display(key: String, value: Variant) -> void: match key: "window_mode": + # Arena mode runs in multiple tiled windows positioned by the + # orchestrator via --windowed / --resolution / --position. If + # we applied the saved window_mode (default: exclusive + # fullscreen) here, we'd stomp all three CLI flags and every + # arena match would be a fullscreen window on top of the + # others. Leave the OS window state alone in arena mode. + if EnvConfig.get_bool("AI_ARENA"): + return var mode_idx: int = int(value) match mode_idx: 0: