Files

48 lines
1.6 KiB
GDScript

extends SceneTree
## Deterministic visual review in the real Compatibility renderer.
const Boss = preload("res://scripts/alien_grunt.gd")
func _initialize() -> void:
call_deferred("run_test")
func run_test() -> void:
root.size = Vector2i(1280, 720)
var world = load("res://scenes/main.tscn").instantiate()
root.add_child(world)
world.start_screen.hide()
world.spawning = true
world.player.set_physics_process(false)
world.player.position = Vector3(0, 0.1, 3.5)
world.player.camera.look_at(Vector3(0, 1.2, -3))
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
await physics_frame
var actor := Boss.new()
actor.configure(10)
actor.player = world.player
actor.navigation = world.navigation
actor.position = Vector3(0, 0.05, -3)
actor.rotation.y = PI
world.add_child(actor)
actor.set_physics_process(false)
world.boss = actor
world.wave = 10
var portal = load("res://scripts/boss_teleport.gd").new()
portal.position = actor.position
portal.materialized.connect(actor.materialize)
world.add_child(portal)
await create_timer(1.0).timeout
await RenderingServer.frame_post_draw
root.get_texture().get_image().save_png("/tmp/zombie-boss-portal.png")
await create_timer(0.8).timeout
await RenderingServer.frame_post_draw
root.get_texture().get_image().save_png("/tmp/zombie-boss-arrival.png")
await create_timer(1.8).timeout
actor.anim.play("hornetattack")
await create_timer(0.3).timeout
actor._fire_hornet()
await RenderingServer.frame_post_draw
root.get_texture().get_image().save_png("/tmp/zombie-boss-combat.png")
print("SHOT: /tmp/zombie-boss-{portal,arrival,combat}.png")
world.queue_free()
await process_frame
quit()