Randoloot/tests/previews/hermit_grounding_preview.gd
2026-10-26 21:06:32 +01:00

28 lines
1.4 KiB
GDScript

extends Node2D
func _ready() -> void:
GameState.start_new_run()
var profile := {"id":"hermit-preview","name":"Asteria","seed":8428159,"difficulty":0.4,"landing_damage":5,"oxygen":55,"temperature":55,"flora":10,"easy":false,"system_level":7}
assert(GameState.captain.expedition.begin_visit(profile))
var data: Dictionary = preload("res://scripts/planets/surface_generator.gd").generate(8428159,profile)
var kind := "time_engineer" if "--engineer" in OS.get_cmdline_user_args() else "hermit"
data.pois[0].kind = kind
data.pois[0].position = Vector2.ZERO
var world := Node2D.new()
world.set_script(preload("res://scripts/planets/surface_world.gd"))
world.data = data
add_child(world)
var camera := Camera2D.new()
camera.zoom = Vector2.ONE*3.0
camera.position = Vector2(0,8)
add_child(camera)
world.refresh_pois(Vector2.ZERO)
var building: Sprite2D = world._poi_sprites[data.pois[0].id]
assert(building.material != null and building.has_node("GroundContact"))
assert(building.texture.get_image().detect_alpha() != Image.ALPHA_NONE)
for frame in 12: await get_tree().process_frame
await RenderingServer.frame_post_draw
assert(get_viewport().get_texture().get_image().save_png("res://artifacts/%s_grounded_preview.png" % kind) == OK)
print("HERMIT GROUNDING PREVIEW PASS: replacement sprite, alpha, biome material, contact shadow and service marker")
get_tree().quit()