48 lines
1.6 KiB
GDScript
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()
|