Sensory-friendly: soft sine sounds, pentatonic ball tones, gentle errors, Zen mode

This commit is contained in:
enne2
2026-08-10 19:35:10 +02:00
parent e20482676f
commit f9837153a0
3 changed files with 86 additions and 25 deletions
+24
View File
@@ -5,6 +5,8 @@ extends CanvasLayer
var rows := {} # key -> {slider, spin}
var curve_option: OptionButton
var zen_cb: CheckButton
var gentle_cb: CheckButton
func _ready() -> void:
@@ -53,6 +55,7 @@ func _build() -> void:
["time_ramp", "Rampa tempo (s)", 30.0, 600.0, 10.0],
["score_ramp", "Rampa punteggio", 100.0, 10000.0, 100.0],
["points_per_combo", "Punti per combo", 1.0, 50.0, 1.0],
["max_combo", "Combo massimo", 1.0, 20.0, 1.0],
["combo_decay_threshold", "Soglia decay combo", 0.0, 30.0, 1.0],
["combo_decay_rate", "Rate decay combo", 0.0, 0.5, 0.01],
["difficulty_decay_rate", "Rate decay difficoltà", 0.0, 2.0, 0.05],
@@ -78,6 +81,19 @@ func _build() -> void:
curve_option.item_selected.connect(func(idx: int): Settings.score_curve = idx)
ccurve.add_child(curve_option)
# opzioni accessibilità / neurodivergenza
zen_cb = CheckButton.new()
zen_cb.text = "Modalità Zen (senza tempo)"
zen_cb.button_pressed = Settings.zen_mode
zen_cb.toggled.connect(func(on: bool): Settings.zen_mode = on)
vb.add_child(zen_cb)
gentle_cb = CheckButton.new()
gentle_cb.text = "Errori gentili (combo -1)"
gentle_cb.button_pressed = Settings.gentle_errors
gentle_cb.toggled.connect(func(on: bool): Settings.gentle_errors = on)
vb.add_child(gentle_cb)
# pulsanti
var hb := HBoxContainer.new()
hb.add_theme_constant_override("separation", 8)
@@ -142,6 +158,10 @@ func show_menu() -> void:
rows[key].spin.value = val
if curve_option:
curve_option.select(Settings.score_curve)
if zen_cb:
zen_cb.button_pressed = Settings.zen_mode
if gentle_cb:
gentle_cb.button_pressed = Settings.gentle_errors
visible = true
get_tree().paused = true
@@ -165,6 +185,10 @@ func _on_reset() -> void:
rows[key].spin.value = val
if curve_option:
curve_option.select(Settings.score_curve)
if zen_cb:
zen_cb.button_pressed = Settings.zen_mode
if gentle_cb:
gentle_cb.button_pressed = Settings.gentle_errors
func _on_cancel() -> void: