saumwacht-godot/tools/menu_before_capture.gd
Martin Stickelbroeck c2b447610c Baseline: Saumwacht 0.15.0 (Phase 20A) vor dem Umbau zu Champions of Luneraria
Unveränderter Ausgangsstand inklusive Masterprompt und Konzeptbildern
unter assets/. .godot/ und docs/screenshots/ bleiben laut .gitignore
unversioniert; letztere sind unter ../backups gesichert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 20:00:36 +02:00

34 lines
1.3 KiB
GDScript

extends Node
## Baseline captures of the phase-13 menu before phase 20A (kept for comparison).
## Run: godot --path . res://tools/menu_before_capture.tscn -- --size=1920x1080
var main: Node3D
var captures := "res://docs/screenshots/phase20/before"
func _ready() -> void:
call_deferred("run")
func shot(name: String) -> void:
for n: int in range(12): await get_tree().process_frame
await RenderingServer.frame_post_draw
get_viewport().get_texture().get_image().save_png(captures + "/" + name + ".png")
print("BEFORE_SHOT: ", name, " ", get_viewport().get_texture().get_size())
func run() -> void:
var size := Vector2i(1920, 1080)
for arg: String in OS.get_cmdline_user_args():
if arg.begins_with("--size="):
var parts: PackedStringArray = arg.substr(7).split("x")
size = Vector2i(int(parts[0]), int(parts[1]))
get_window().size = size
Soundscape.enabled = false
WaveManager.set_physics_process(false)
main = preload("res://scenes/main.tscn").instantiate()
add_child(main)
var tag := "%dx%d" % [size.x, size.y]
await shot("menu-" + tag)
GameState.select_faction(0, "glutpakt")
GameState.select_faction(1, "wurzelbund")
main.hud._phase_changed(GameState.phase)
await shot("menu-glutpakt-" + tag)
main.hud.toggle_settings()
await shot("options-" + tag)
main.hud.toggle_settings()
print("BEFORE_CAPTURE_PASS")
await Soundscape.quit_game()