feat: add main-menu difficulty picker for Match mode

Replace the raw checkpoint dropdown with curated Easy/Medium/Hard presets
that drive GameSettings' bot model/reaction_ticks/action_noise overrides.
Move raw-checkpoint testing and Spectate mode into a dev-only section
hidden via OS.is_debug_build() so they disappear from release exports.
This commit is contained in:
Josh Creek
2026-08-03 14:31:39 +01:00
parent 20f6be7e28
commit 4507b6dc1b
5 changed files with 125 additions and 31 deletions
+12
View File
@@ -5,6 +5,18 @@ extends Node
# Opponent policy chosen in the main menu; empty = use the mode's own export.
var selected_bot_path: String = ""
# Difficulty handicaps chosen alongside selected_bot_path; -1/-1.0 = use the
# mode's own export.
var selected_bot_reaction_ticks: int = -1
var selected_bot_action_noise: float = -1.0
# Name of the chosen difficulty tier, kept only to reselect the right
# dropdown item when returning to the menu.
var selected_difficulty_name: String = ""
# Dev-only: raw checkpoint override for Match's opponent; empty = use the
# difficulty tier above instead. Kept separate from selected_bot_path so the
# dev dropdown's own selection survives independently of which difficulty is
# picked.
var dev_bot_override_path: String = ""
# Spectate (bot vs bot) policies chosen in the main menu; empty = mode export.
var spectate_bot_a_path: String = ""