extends Node func _ready() -> void: GameState.system_seed = 8428159 var game := preload("res://scenes/game/game.tscn").instantiate() add_child(game) await get_tree().process_frame var manager := game.get_node("PlanetExpeditions") for enemy in get_tree().get_nodes_in_group("enemies"): enemy.position = Vector2(9000,9000) game.player.position = game.protected_planet.position manager.scan_nearby() manager.land_nearby() var surface: Control = manager.screen var audio: AudioStreamPlayer = surface.get_node("EngineAudio") var engine: Node2D = surface.lander.get_node("EngineVisual") assert(audio.get_script() == preload("res://scripts/game/ship_engine_audio.gd")) assert(audio.stream is AudioStreamMP3 and audio.stream.loop and audio.playing) assert(engine.nozzle_positions.size() == 2 and engine.nozzle_positions[0].x < 0 and engine.nozzle_positions[1].x > 0) Input.action_press("ship_thrust") audio._process(1.0) engine._process(0.25) assert(surface.engine_thrust_active() and engine._strength == 1 and audio.volume_db == -11) await get_tree().process_frame await RenderingServer.frame_post_draw get_viewport().get_texture().get_image().save_png("res://artifacts/lander_engines_normal.png") Input.action_press("ship_mini_boost") surface._physics_process(1.0/60) engine._process(0.1) assert(engine._boost) await get_tree().process_frame await RenderingServer.frame_post_draw get_viewport().get_texture().get_image().save_png("res://artifacts/lander_engines_boost.png") surface._dialog.show() assert(not surface.engine_thrust_active()) audio._process(1) engine._process(0.3) assert(audio.volume_db == -60 and engine._strength == 0) surface._dialog.hide() Input.action_release("ship_thrust") Input.action_release("ship_mini_boost") surface._physics_process(1.0/60) assert(not surface.engine_thrust_active()) surface._ending = true assert(not surface.engine_thrust_active()) var instance := audio.get_instance_id() manager.finish_surface(true) await get_tree().process_frame await get_tree().process_frame assert(not is_instance_id_valid(instance)) game.queue_free() await get_tree().process_frame print("LANDER ENGINE PASS: ship MP3, twin nozzle positions, thrust, boost, POI silence, coast silence, shutdown cleanup") get_tree().quit()