shader_compilation.gd 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. extends Node3D
  2. var rotate = false
  3. var rotate_gun = false
  4. func _ready():
  5. if GameManager.get_user_value("settings", "shaders_compiled") == true: GameManager.goto_scene("res://Scenes/Room.tscn", true)
  6. await get_tree().create_timer(1).timeout
  7. $CanvasLayer/title.show()
  8. %shader.show()
  9. if get_tree().root.has_node("Main Menu"): queue_free()
  10. %shader.text = "shader: datamosh.glsl"
  11. if not GameManager.low_detail: %Camera3D.compositor.compositor_effects.get(0).enabled = true
  12. await get_tree().create_timer(1).timeout
  13. %shader.text = "shader: datamosh.glsl 50%"
  14. rotate = true
  15. await get_tree().create_timer(1).timeout
  16. rotate = false
  17. %Camera3D.rotation_degrees = Vector3.ZERO
  18. %shader.text = "shader: datamosh.glsl 100%"
  19. %Camera3D.compositor.compositor_effects.get(0).enabled = false
  20. await get_tree().create_timer(0.5).timeout
  21. %shader.text = "shader: weapon_shader.tres"
  22. %gun.show()
  23. await get_tree().create_timer(1).timeout
  24. %shader.text = "shader: weapon_shader.tres 50%"
  25. rotate_gun = true
  26. await get_tree().create_timer(1).timeout
  27. %shader.text = "shader: weapon_shader.tres 100%"
  28. await get_tree().create_timer(0.2).timeout
  29. %shader.text = "done"
  30. await get_tree().create_timer(0.2).timeout
  31. GameManager.set_user_value("settings", "shaders_compiled", true)
  32. GameManager.goto_scene("res://Scenes/Room.tscn", true)
  33. func _input(event: InputEvent) -> void:
  34. if event.is_action_pressed("jump"):
  35. $CanvasLayer.visible = not $CanvasLayer.visible
  36. func _physics_process(_delta):
  37. if rotate_gun:
  38. %gun.rotate_x(%gun.rotation_degrees.x + 5)
  39. if rotate:
  40. %Camera3D.rotate_x(%Camera3D.rotation_degrees.x + 5)