Clarify audio preview controls
This commit is contained in:
@@ -69,6 +69,12 @@ func _capture_viewport_set(spec: Dictionary, output_dir: String, captures: Array
|
||||
|
||||
await _capture_frame(scene, output_dir, label, "01_title", captures, failures)
|
||||
|
||||
scene._on_title_settings_pressed()
|
||||
await _settle()
|
||||
await _capture_frame(scene, output_dir, label, "01b_title_settings", captures, failures)
|
||||
scene._on_title_settings_back_pressed()
|
||||
await _settle()
|
||||
|
||||
scene._show_opening_prologue()
|
||||
await _settle()
|
||||
await _capture_frame(scene, output_dir, label, "02_opening_rebellion", captures, failures)
|
||||
|
||||
@@ -196,7 +196,7 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
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("미리듣기: 확인음"):
|
||||
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:
|
||||
@@ -233,12 +233,29 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
if persisted_scene.title_bgm_volume_percent != 45 or persisted_scene.title_sfx_volume_percent != 35:
|
||||
failures.append("title settings volume values should persist into a new scene instance")
|
||||
persisted_scene.free()
|
||||
if scene.title_audio_reset_button == null or scene.title_audio_reset_button.text != "기본값 듣기":
|
||||
failures.append("title settings should expose a clear audio defaults preview button")
|
||||
if scene.title_audio_preview_button == null or scene.title_audio_preview_button.text != "소리 확인":
|
||||
failures.append("title settings should expose a clear sound preview button")
|
||||
else:
|
||||
_check_title_menu_button_art(failures, scene.title_audio_preview_button, "status", "title audio preview")
|
||||
if not scene.title_audio_preview_button.tooltip_text.contains("확인음") or not scene.title_audio_preview_button.tooltip_text.contains("발소리") or not scene.title_audio_preview_button.tooltip_text.contains("타격음") or not scene.title_audio_preview_button.tooltip_text.contains("퇴각음") or not scene.title_audio_preview_button.tooltip_text.contains("보급음"):
|
||||
failures.append("title audio preview should explain the confirmation, movement, strike, defeat, and supply samples")
|
||||
if scene.title_audio_reset_button == null or scene.title_audio_reset_button.text != "기본값":
|
||||
failures.append("title settings should expose a separate audio defaults button")
|
||||
else:
|
||||
_check_title_menu_button_art(failures, scene.title_audio_reset_button, "status", "title audio reset")
|
||||
if not scene.title_audio_reset_button.tooltip_text.contains("확인음") or not scene.title_audio_reset_button.tooltip_text.contains("발소리") or not scene.title_audio_reset_button.tooltip_text.contains("타격음") or not scene.title_audio_reset_button.tooltip_text.contains("퇴각음") or not scene.title_audio_reset_button.tooltip_text.contains("보급음"):
|
||||
failures.append("title audio preview should explain the confirmation, movement, strike, defeat, and supply samples")
|
||||
if not scene.title_audio_reset_button.tooltip_text.contains("75%") or not scene.title_audio_reset_button.tooltip_text.contains("소리"):
|
||||
failures.append("title audio defaults should explain that it restores audible defaults")
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._on_title_audio_preview_pressed()
|
||||
if not scene.title_bgm_enabled or not scene.title_sfx_enabled:
|
||||
failures.append("title audio preview should re-enable BGM and SFX")
|
||||
if scene.title_bgm_volume_percent != 45 or scene.title_sfx_volume_percent != 35:
|
||||
failures.append("title audio preview should preserve non-zero custom volumes")
|
||||
if scene.bgm_player == null or scene.bgm_player.stream == null or scene.current_bgm_key.is_empty():
|
||||
failures.append("title audio preview should leave a playable BGM stream selected")
|
||||
for preview_key in ["menu_confirm", "footstep", "slash", "defeat_sting", "item_pickup"]:
|
||||
if not scene.recent_sfx_keys.has(preview_key):
|
||||
failures.append("title audio preview should play %s" % preview_key)
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._on_title_audio_reset_pressed()
|
||||
if not scene.title_bgm_enabled or not scene.title_sfx_enabled:
|
||||
@@ -249,16 +266,9 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
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"):
|
||||
failures.append("title audio preview should play a movement footstep SFX")
|
||||
if not scene.recent_sfx_keys.has("slash"):
|
||||
failures.append("title audio preview should play a strike SFX")
|
||||
if not scene.recent_sfx_keys.has("defeat_sting"):
|
||||
failures.append("title audio preview should play a defeat SFX")
|
||||
if not scene.recent_sfx_keys.has("item_pickup"):
|
||||
failures.append("title audio preview should play a supply SFX")
|
||||
for reset_preview_key in ["menu_confirm", "footstep", "slash", "defeat_sting", "item_pickup"]:
|
||||
if not scene.recent_sfx_keys.has(reset_preview_key):
|
||||
failures.append("title audio defaults should play %s" % reset_preview_key)
|
||||
scene._on_title_settings_back_pressed()
|
||||
if scene.title_settings_panel != null and scene.title_settings_panel.visible:
|
||||
failures.append("settings back should hide the title settings panel")
|
||||
@@ -494,10 +504,14 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
failures.append("in-game settings toggles should update the shared settings state")
|
||||
if scene.title_bgm_volume_percent != 70 or scene.title_sfx_volume_percent != 60:
|
||||
failures.append("in-game settings sliders should update the shared volume state")
|
||||
if scene.settings_audio_reset_button == null or scene.settings_audio_reset_button.text != "기본값 듣기":
|
||||
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_preview_button == null or scene.settings_audio_preview_button.text != "소리 확인":
|
||||
failures.append("in-game settings should expose a clear sound preview button")
|
||||
elif not scene.settings_audio_preview_button.tooltip_text.contains("확인음") or not scene.settings_audio_preview_button.tooltip_text.contains("타격음"):
|
||||
failures.append("in-game audio preview should explain audible SFX samples")
|
||||
if scene.settings_audio_reset_button == null or scene.settings_audio_reset_button.text != "기본값":
|
||||
failures.append("in-game settings should expose a separate audio defaults button")
|
||||
elif not scene.settings_audio_reset_button.tooltip_text.contains("75%") or not scene.settings_audio_reset_button.tooltip_text.contains("소리"):
|
||||
failures.append("in-game audio defaults should explain audible recovery")
|
||||
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)
|
||||
@@ -505,6 +519,19 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
scene._on_settings_bgm_volume_changed(20.0)
|
||||
scene._on_settings_sfx_volume_changed(15.0)
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._on_settings_audio_preview_pressed()
|
||||
if not scene.title_bgm_enabled or not scene.title_sfx_enabled:
|
||||
failures.append("in-game audio preview should re-enable BGM and SFX")
|
||||
if scene.title_bgm_volume_percent != 20 or scene.title_sfx_volume_percent != 15:
|
||||
failures.append("in-game audio preview should preserve non-zero custom volumes")
|
||||
for settings_preview_key in ["menu_confirm", "footstep", "slash", "defeat_sting", "item_pickup"]:
|
||||
if not scene.recent_sfx_keys.has(settings_preview_key):
|
||||
failures.append("in-game audio preview should play %s" % settings_preview_key)
|
||||
scene._on_settings_bgm_toggled(false)
|
||||
scene._on_settings_sfx_toggled(false)
|
||||
scene._on_settings_bgm_volume_changed(20.0)
|
||||
scene._on_settings_sfx_volume_changed(15.0)
|
||||
scene.recent_sfx_keys.clear()
|
||||
scene._on_settings_audio_reset_pressed()
|
||||
if not scene.title_bgm_enabled or not scene.title_sfx_enabled:
|
||||
failures.append("in-game audio recovery should re-enable BGM and SFX")
|
||||
@@ -512,16 +539,9 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
|
||||
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"):
|
||||
failures.append("in-game audio preview should play a movement footstep SFX")
|
||||
if not scene.recent_sfx_keys.has("slash"):
|
||||
failures.append("in-game audio preview should play a strike SFX")
|
||||
if not scene.recent_sfx_keys.has("defeat_sting"):
|
||||
failures.append("in-game audio preview should play a defeat SFX")
|
||||
if not scene.recent_sfx_keys.has("item_pickup"):
|
||||
failures.append("in-game audio preview should play a supply SFX")
|
||||
for settings_reset_preview_key in ["menu_confirm", "footstep", "slash", "defeat_sting", "item_pickup"]:
|
||||
if not scene.recent_sfx_keys.has(settings_reset_preview_key):
|
||||
failures.append("in-game audio defaults should play %s" % settings_reset_preview_key)
|
||||
scene._hide_settings_panel()
|
||||
scene._on_new_campaign_pressed()
|
||||
if not scene._is_opening_prologue_visible():
|
||||
|
||||
Reference in New Issue
Block a user