extends Node const PORTRAIT := preload("res://scripts/core/story_portrait.gd") const IDS := ["bob", "eltuna", "gab", "mld", "jay", "gars_rond", "coach", "octopus", "saule", "abominable", "guardian", "slop", "big_egg", "maloeuf", "ti_gras"] func _ready() -> void: GameState.save_locked = true var layer := CanvasLayer.new() add_child(layer) for index: int in IDS.size(): var portrait := PORTRAIT.new() layer.add_child(portrait) portrait.show_character(IDS[index]) portrait.position = Vector2(40 + index % 5 * 375, 35 + int(index / 5) * 350) var label := Label.new() label.text = IDS[index] label.position = portrait.position + Vector2(0, 265) label.add_theme_font_size_override("font_size", 24) layer.add_child(label) for i: int in 30: await get_tree().process_frame await RenderingServer.frame_post_draw for argument: String in OS.get_cmdline_user_args(): if argument.begins_with("--combat-captures="): get_viewport().get_texture().get_image().save_png(argument.trim_prefix("--combat-captures=").path_join("gallery.png")) layer.queue_free() await get_tree().process_frame VisualHolder.clear_cache() Shape3DFactory._grain = null AudioDirector.shutdown() get_tree().quit()