84 lines
2.0 KiB
GDScript
84 lines
2.0 KiB
GDScript
extends Node
|
|
|
|
|
|
# Custom Settings
|
|
var sensitivity = 0.004
|
|
var fov = 75
|
|
var music_volume = linear_to_db(0.5)
|
|
var voice_volume = linear_to_db(1.0)
|
|
|
|
# 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):
|
|
|
|
if Input.get_axis("less", "more") != 0.0:
|
|
var amount = Input.get_axis("less", "more") * delta * 2.5
|
|
fractal = clampf(fractal + amount, fractal_min, fractal_max)
|
|
if fractal != fractal_min && fractal != fractal_max:
|
|
Sounds.get_node("fractal").multiply = 1.5
|
|
else:
|
|
Sounds.get_node("fractal").multiply = 0.0
|
|
else:
|
|
Sounds.get_node("fractal").multiply = 0.0
|
|
|
|
|
|
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)
|
|
|
|
func change_fractal(base, new_min, new_max):
|
|
|
|
fractal = base
|
|
fractal_min = new_min
|
|
fractal_max = new_max
|
|
fractal = clampf(fractal, fractal_min, fractal_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)
|
|
|
|
if old_down.normalized().dot(global_down.normalized()) < 0.9:
|
|
Sounds.get_node("gravity").play()
|
|
|
|
func write_save(location, value):
|
|
var file = FileAccess.open("user://" + location + ".save", FileAccess.WRITE)
|
|
file.store_var(value)
|
|
|
|
func get_save(location, default) -> float:
|
|
if FileAccess.file_exists("user://" + location + ".save"):
|
|
print("file found: " + location)
|
|
var file = FileAccess.open("user://" + location + ".save", FileAccess.READ)
|
|
return file.get_var()
|
|
else :
|
|
print("file not found")
|
|
return default
|
|
|
|
|