65 lines
1.3 KiB
GDScript
65 lines
1.3 KiB
GDScript
extends Node
|
|
|
|
|
|
# Custom Settings
|
|
var sensitivity = 0.004
|
|
var fov = 75
|
|
|
|
# World Settings
|
|
var global_down = Vector3(0,0,0)
|
|
|
|
# Player values accessed elsewhere
|
|
var restart = false
|
|
var next = false
|
|
var fractal = 0
|
|
var fractal_min = 0
|
|
var fractal_max = 10
|
|
|
|
|
|
|
|
# Debug
|
|
var benchmark = false
|
|
|
|
func _ready():
|
|
set_global_down(Vector3(0,-1,0))
|
|
|
|
func _process(delta):
|
|
|
|
var amount = Input.get_axis("less", "more") * delta * 2.5
|
|
|
|
|
|
fractal = clampf(fractal + amount, fractal_min, fractal_max)
|
|
|
|
if Input.get_action_strength("restart") > 0.0:
|
|
restart = true
|
|
|
|
if Input.is_action_just_released("fullscreen"):
|
|
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
|
else:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
|
|
|
|
|
|
if benchmark:
|
|
var tmp = Time.get_ticks_msec() + 100
|
|
while Time.get_ticks_msec() < tmp:
|
|
pass
|
|
if Input.is_action_just_pressed("debug"):
|
|
benchmark = !benchmark
|
|
|
|
func change_fractal(base, new_min, new_max):
|
|
fractal = base
|
|
fractal_min = new_min
|
|
fractal_max = new_max
|
|
|
|
|
|
func set_global_down(new_down: Vector3):
|
|
var old_down = global_down
|
|
global_down = new_down.normalized()
|
|
# Applies jitter
|
|
global_down += old_down * 0.01
|
|
|
|
# Jitter not enough?
|
|
global_down += Vector3(0.002, 0, 0)
|
|
|