Add fullscreen display setting

This commit is contained in:
2026-06-20 14:37:10 +09:00
parent 9a482a1908
commit 147eba9421
2 changed files with 91 additions and 13 deletions

View File

@@ -169,13 +169,15 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("title settings panel should open from the title screen")
if scene.title_start_button != null and scene.title_start_button.visible:
failures.append("title settings should replace the main title commands while open")
if scene.title_bgm_toggle == null or scene.title_sfx_toggle == null or scene.title_edge_scroll_toggle == null:
failures.append("title settings should expose BGM, SFX, and edge-scroll toggles")
if scene.title_bgm_toggle == null or scene.title_sfx_toggle == null or scene.title_edge_scroll_toggle == null or scene.title_fullscreen_toggle == null:
failures.append("title settings should expose BGM, SFX, edge-scroll, and fullscreen toggles")
else:
if not scene.title_bgm_toggle.text.contains("군막의 새벽"):
failures.append("title BGM toggle should name the active menu theme")
if not scene.title_sfx_toggle.text.contains("클릭") or not scene.title_sfx_toggle.text.contains("발소리") or not scene.title_sfx_toggle.text.contains("전투"):
failures.append("title SFX toggle should clarify menu, movement, and battle effects")
if not scene.title_fullscreen_toggle.text.contains("전체화면"):
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")
scene._on_title_bgm_toggled(false)
@@ -195,10 +197,19 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
failures.append("edge-scroll toggle should disable edge scrolling")
if scene._update_edge_scroll(0.25):
failures.append("edge scrolling should not move while disabled in settings")
scene._on_title_fullscreen_toggled(true)
if not scene.title_fullscreen_enabled:
failures.append("fullscreen toggle should enable fullscreen state")
if scene._window_mode_for_fullscreen(false) != DisplayServer.WINDOW_MODE_WINDOWED:
failures.append("windowed display mode should map to Godot's windowed mode")
if scene._window_mode_for_fullscreen(true) != DisplayServer.WINDOW_MODE_FULLSCREEN:
failures.append("fullscreen display mode should map to Godot's fullscreen mode")
var persisted_scene = BattleSceneScript.new()
persisted_scene._ready()
if persisted_scene.title_bgm_enabled or persisted_scene.title_sfx_enabled or persisted_scene.title_edge_scroll_enabled:
failures.append("title settings toggles should persist into a new scene instance")
if not persisted_scene.title_fullscreen_enabled:
failures.append("fullscreen setting should persist into a new scene instance")
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()
@@ -426,21 +437,24 @@ func _check_title_menu_start_load_and_settings(failures: Array[String]) -> void:
scene._on_settings_pressed()
if scene.settings_panel == null or not scene.settings_panel.visible:
failures.append("top Settings icon should open the in-game settings panel")
if scene.settings_bgm_toggle == null or scene.settings_sfx_toggle == null or scene.settings_edge_scroll_toggle == null:
failures.append("in-game settings panel should expose BGM, SFX, and edge-scroll toggles")
if scene.settings_bgm_toggle == null or scene.settings_sfx_toggle == null or scene.settings_edge_scroll_toggle == null or scene.settings_fullscreen_toggle == null:
failures.append("in-game settings panel should expose BGM, SFX, edge-scroll, and fullscreen toggles")
else:
if not scene.settings_bgm_toggle.text.contains("군막") or not scene.settings_bgm_toggle.text.contains("전투"):
failures.append("in-game BGM toggle should clarify menu and battle music")
if not scene.settings_sfx_toggle.text.contains("선택") or not scene.settings_sfx_toggle.text.contains("발소리") or not scene.settings_sfx_toggle.text.contains("전투"):
failures.append("in-game SFX toggle should clarify menu, movement, and battle effects")
if not scene.settings_fullscreen_toggle.text.contains("전체화면"):
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")
scene._on_settings_bgm_toggled(true)
scene._on_settings_sfx_toggled(true)
scene._on_settings_edge_scroll_toggled(true)
scene._on_settings_fullscreen_toggled(true)
scene._on_settings_bgm_volume_changed(70.0)
scene._on_settings_sfx_volume_changed(60.0)
if not scene.title_bgm_enabled or not scene.title_sfx_enabled or not scene.title_edge_scroll_enabled:
if not scene.title_bgm_enabled or not scene.title_sfx_enabled or not scene.title_edge_scroll_enabled or not scene.title_fullscreen_enabled:
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")