-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathglobal.gd
66 lines (51 loc) · 1.5 KB
/
global.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
extends Node
var character: RigidBody3D
var camera: Camera3D
var enemy: Boat3D
var camera_path: Path3D
var main_scene: Control
var grab_joint: Generic6DOFJoint3D
var grab_kayak: Generic6DOFJoint3D
var grab_kayak2: Generic6DOFJoint3D
var log_text: String = ""
var mouse_sensibility := 0.5
var master_volume := 0.5
var voice_volume := 0.5
var is_near_carpincho:bool
var carpincho_near:Node3D
var eibriel_logo = false
var force_demo = false
# NOTE Needed for datamosh_compositior
var refresh_frame: bool
var datamosh_mount: float = 0.0
var force_datamosh:float = 0.0
#
func is_demo():
var _is_demo:bool = OS.has_feature("demo")
# Editor counts as demo
if OS.has_feature("editor"):
_is_demo = force_demo
#if not is_demo:
# if not FileAccess.file_exists("res://not_demo.gd"):
# print("Not demo")
# quit_game()
return _is_demo
func quit_game():
# See https://docs.godotengine.org/en/stable/tutorials/inputs/handling_quit_requests.html
# get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST)
get_tree().quit()
func get_datamosh_amount() -> float:
return max(datamosh_mount, force_datamosh)
func array_to_vector3(array: Array) -> Vector3:
return Vector3(array[0], array[1], array[2])
func tri_to_bi(tri:Vector3) -> Vector2:
return Vector2(tri.x, tri.z)
func bi_to_tri(bi:Vector2, z_value:float=0.0) -> Vector3:
return Vector3(bi.x, z_value, bi.y)
# TODO: check if it exists in Godot
func pi_2_pi(theta):
while theta > PI:
theta -= 2.0 * PI
while theta < -PI:
theta += 2.0 * PI
return theta