Improve readable text surfaces

This commit is contained in:
2026-06-20 16:59:26 +09:00
parent c5ee403fef
commit 11242cded7
5 changed files with 182 additions and 71 deletions

View File

@@ -194,9 +194,15 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("title fullscreen toggle should be clearly named")
if scene.title_bgm_volume_slider == null or scene.title_sfx_volume_slider == null:
failures.append("title settings should expose BGM and SFX volume sliders")
if scene.title_audio_status_label == null:
failures.append("title settings should describe the current audio mix")
elif not scene.title_audio_status_label.text.contains("현재 음악: 군막의 새벽") or not scene.title_audio_status_label.text.contains("미리듣기: 확인음"):
failures.append("title audio status should name the current BGM and preview SFX: %s" % scene.title_audio_status_label.text)
scene._on_title_bgm_toggled(false)
if scene.title_bgm_enabled:
failures.append("BGM toggle should disable background music")
if scene.title_audio_status_label != null and not scene.title_audio_status_label.text.contains("음악 꺼짐"):
failures.append("title audio status should reflect disabled BGM: %s" % scene.title_audio_status_label.text)
scene._on_title_bgm_volume_changed(45.0)
if scene.title_bgm_volume_percent != 45:
failures.append("BGM volume slider should update the saved BGM volume percent")
@@ -241,6 +247,8 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("title audio recovery should restore audible volume defaults")
if scene.bgm_player == null or scene.bgm_player.stream == null or scene.current_bgm_key.is_empty():
failures.append("title audio recovery should leave a playable BGM stream selected")
if scene.title_audio_status_label != null and (not scene.title_audio_status_label.text.contains("군막의 새벽") or not scene.title_audio_status_label.text.contains("%d%%" % BattleSceneScript.DEFAULT_AUDIO_VOLUME_PERCENT)):
failures.append("title audio status should refresh after defaults preview: %s" % scene.title_audio_status_label.text)
if not scene.recent_sfx_keys.has("menu_confirm"):
failures.append("title audio preview should play an audible confirmation SFX")
if not scene.recent_sfx_keys.has("footstep"):
@@ -405,6 +413,8 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
audio_scene._start_battle_from_briefing()
if audio_scene.current_bgm_key != "battle" or audio_scene.bgm_player == null or audio_scene.bgm_player.stream == null:
failures.append("battle start should switch from menu music to an audible battle BGM stream")
if not audio_scene._format_audio_status_text().contains("영천 진군"):
failures.append("battle audio status should name the battle march: %s" % audio_scene._format_audio_status_text())
audio_scene._show_title_menu()
if audio_scene.current_bgm_key != "menu" or audio_scene.bgm_player == null or audio_scene.bgm_player.stream == null:
failures.append("returning to title should restore the menu BGM stream")
@@ -466,6 +476,10 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("in-game fullscreen toggle should be clearly named")
if scene.settings_bgm_volume_slider == null or scene.settings_sfx_volume_slider == null:
failures.append("in-game settings panel should expose BGM and SFX volume sliders")
if scene.settings_audio_status_label == null:
failures.append("in-game settings should describe the active audio mix")
elif not scene.settings_audio_status_label.text.contains("현재 음악:"):
failures.append("in-game audio status should name the current BGM: %s" % scene.settings_audio_status_label.text)
scene._on_settings_bgm_toggled(true)
scene._on_settings_sfx_toggled(true)
scene._on_settings_edge_scroll_toggled(true)
@@ -480,6 +494,8 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("in-game settings should expose a clear audio defaults preview button")
elif not scene.settings_audio_reset_button.tooltip_text.contains("현재 음악"):
failures.append("in-game audio preview should explain that it plays the current music")
if scene.settings_audio_status_label != null and (not scene.settings_audio_status_label.text.contains("군막의 새벽") or not scene.settings_audio_status_label.text.contains("효과음 60%")):
failures.append("in-game audio status should reflect battle BGM and SFX volume: %s" % scene.settings_audio_status_label.text)
scene._on_settings_bgm_toggled(false)
scene._on_settings_sfx_toggled(false)
scene._on_settings_bgm_volume_changed(20.0)
@@ -490,6 +506,8 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("in-game audio recovery should re-enable BGM and SFX")
if scene.title_bgm_volume_percent != BattleSceneScript.DEFAULT_AUDIO_VOLUME_PERCENT or scene.title_sfx_volume_percent != BattleSceneScript.DEFAULT_AUDIO_VOLUME_PERCENT:
failures.append("in-game audio recovery should restore audible volume defaults")
if scene.settings_audio_status_label != null and (not scene.settings_audio_status_label.text.contains("군막의 새벽") or not scene.settings_audio_status_label.text.contains("%d%%" % BattleSceneScript.DEFAULT_AUDIO_VOLUME_PERCENT)):
failures.append("in-game audio status should refresh after defaults preview: %s" % scene.settings_audio_status_label.text)
if not scene.recent_sfx_keys.has("menu_confirm"):
failures.append("in-game audio preview should play an audible confirmation SFX")
if not scene.recent_sfx_keys.has("footstep"):