Sync project with 3.2

This commit is contained in:
Rafał Mikrut 2021-03-27 15:53:32 +01:00
parent 24d7edd8f9
commit 963ebf67a0
41 changed files with 1874 additions and 2508 deletions

4
.gitignore vendored
View File

@ -1,6 +1,6 @@
.DS_Store
*~
.import/
#.import/
logs/
.~lock.*#
.mono/
@ -8,4 +8,6 @@ logs/
TEMP/
#export_presets.cfg
logs/
.godot/
.godot/imported/
.godot/editor

File diff suppressed because one or more lines are too long

View File

@ -1,105 +1,103 @@
[gd_scene load_steps=34 format=2]
[gd_scene load_steps=37 format=2]
[ext_resource path="res://icon.png" type="Texture" id=50]
[ext_resource path="res://icon.png" type="Texture2D" id=50]
[sub_resource type="SpriteFrames" id=1]
[sub_resource type="StandardMaterial3D" id=1]
[sub_resource type="SpriteFrames" id=2]
animations = [ {
"frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 50 ) ],
"loop": true,
"name": "default",
"name": @"default",
"speed": 5.0
} ]
[sub_resource type="CubeMesh" id=2]
[sub_resource type="StandardMaterial3D" id=3]
[sub_resource type="BoxMesh" id=3]
[sub_resource type="StandardMaterial3D" id=4]
[sub_resource type="StandardMaterial3D" id=5]
[sub_resource type="CapsuleMesh" id=6]
material = SubResource( 5 )
[sub_resource type="StandardMaterial3D" id=6]
[sub_resource type="CapsuleMesh" id=7]
material = SubResource( 6 )
radius = 1.272
mid_height = 0.001
radial_segments = 4
rings = 2
[sub_resource type="CameraTexture" id=7]
[sub_resource type="CameraTexture" id=8]
camera_feed_id = 1
which_feed = 1
[sub_resource type="StandardMaterial3D" id=8]
roughness_texture = SubResource( 7 )
[sub_resource type="StandardMaterial3D" id=9]
roughness_texture = SubResource( 8 )
roughness_texture_channel = 1
[sub_resource type="StandardMaterial3D" id=9]
[sub_resource type="StandardMaterial3D" id=10]
vertex_color_use_as_albedo = true
[sub_resource type="StandardMaterial3D" id=11]
vertex_color_use_as_albedo = true
[sub_resource type="StandardMaterial3D" id=12]
[sub_resource type="StandardMaterial3D" id=13]
params_diffuse_mode = 1
params_specular_mode = 1
params_blend_mode = 1
params_cull_mode = 1
params_depth_draw_mode = 1
[sub_resource type="CubeMesh" id=14]
material = SubResource( 13 )
[sub_resource type="StandardMaterial3D" id=14]
blend_mode = 1
cull_mode = 1
diffuse_mode = 1
specular_mode = 1
[sub_resource type="BoxMesh" id=15]
material = SubResource( 14 )
size = Vector3( 2.25, 1.56, 2.49 )
[sub_resource type="Skin" id=15]
[sub_resource type="Skin" id=16]
bind_count = 10
bind/0/name = ""
bind/0/name = @""
bind/0/bone = -1
bind/0/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/1/name = ""
bind/1/name = @""
bind/1/bone = -1
bind/1/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/2/name = ""
bind/2/name = @""
bind/2/bone = -1
bind/2/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/3/name = ""
bind/3/name = @""
bind/3/bone = -1
bind/3/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/4/name = ""
bind/4/name = @""
bind/4/bone = -1
bind/4/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/5/name = ""
bind/5/name = @""
bind/5/bone = -1
bind/5/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/6/name = ""
bind/6/name = @""
bind/6/bone = -1
bind/6/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/7/name = ""
bind/7/name = @""
bind/7/bone = -1
bind/7/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/8/name = ""
bind/8/name = @""
bind/8/bone = -1
bind/8/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
bind/9/name = ""
bind/9/name = @""
bind/9/bone = -1
bind/9/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
[sub_resource type="CubeMesh" id=16]
[sub_resource type="StandardMaterial3D" id=17]
[sub_resource type="MultiMesh" id=17]
color_format = 2
[sub_resource type="BoxMesh" id=18]
[sub_resource type="MultiMesh" id=19]
transform_format = 1
custom_data_format = 2
instance_count = 15
visible_instance_count = 121212
mesh = SubResource( 16 )
transform_array = PoolVector3Array( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
color_array = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 )
custom_data_array = PoolColorArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
instance_count = 3
mesh = SubResource( 18 )
buffer = PackedFloat32Array( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 )
[sub_resource type="ParticlesMaterial" id=18]
[sub_resource type="ParticlesMaterial" id=20]
render_priority = 127
emission_shape = 2
emission_box_extents = Vector3( 1, 1, 1 )
@ -108,35 +106,45 @@ radial_accel_random = 1.0
tangential_accel = 3.1
tangential_accel_random = 1.0
[sub_resource type="BakedLightmapData" id=19]
energy = 5.7
[sub_resource type="BoxMesh" id=21]
[sub_resource type="BoxShape" id=20]
[sub_resource type="BakedLightmapData" id=22]
user_data = [ ]
probe_data = {
"bounds": AABB( 0, 0, 0, 0, 0, 0 ),
"bsp": PackedInt32Array( ),
"interior": false,
"points": PackedVector3Array( ),
"sh": PackedColorArray( ),
"tetrahedra": PackedInt32Array( )
}
[sub_resource type="BoxShape3D" id=23]
margin = 0.5
extents = Vector3( 1, 26.5038, 3.22286 )
[sub_resource type="PhysicsMaterial" id=21]
[sub_resource type="PhysicsMaterial" id=24]
[sub_resource type="PhysicsMaterial" id=22]
[sub_resource type="PhysicsMaterial" id=25]
[sub_resource type="PhysicsMaterial" id=23]
[sub_resource type="PhysicsMaterial" id=26]
friction = 0.53
[sub_resource type="AudioStreamGenerator" id=24]
[sub_resource type="AudioStreamGenerator" id=27]
[sub_resource type="ConcavePolygonShape" id=25]
[sub_resource type="ConcavePolygonShape3D" id=28]
margin = 0.067
[sub_resource type="CapsuleMesh" id=26]
[sub_resource type="CapsuleMesh" id=29]
[sub_resource type="MeshLibrary" id=27]
[sub_resource type="MeshLibrary" id=30]
item/0/name = ""
item/0/mesh = SubResource( 26 )
item/0/mesh = SubResource( 29 )
item/0/mesh_transform = null
item/0/shapes = [ ]
item/0/navmesh_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
[sub_resource type="NavigationMesh" id=28]
[sub_resource type="NavigationMesh" id=31]
polygons = [ ]
sample_partition_type/sample_partition_type = 2
geometry/parsed_geometry_type = 1
geometry/collision_mask = 2147483647
@ -157,152 +165,188 @@ filter/low_hanging_obstacles = true
filter/ledge_spans = true
filter/filter_walkable_low_height_spans = true
[sub_resource type="Curve3D" id=29]
[sub_resource type="Curve3D" id=32]
bake_interval = 10.0
_data = {
"points": PoolVector3Array( 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007, 0, 0, 0, 0, 0, 0, -18.4839, 0.381447, -2.2567, 0, 0, 0, 0, 0, 0, -9.25256, -1.66295, 1.34504, 0, 0, 0, 0, 0, 0, 14.3498, 1.51124, -0.660617, 0, 0, 0, 0, 0, 0, 16.5666, 7.48303, -8.42252, 0, 0, 0, 0, 0, 0, 5.21951, 11.8408, -15.3123, 0, 0, 0, 0, 0, 0, -6.34309, 13.0513, -18.0214, 0, 0, 0, 0, 0, 0, -22.2367, 9.90402, -15.3228, 0, 0, 0, 0, 0, 0, -5.97389, 1.40365, -2.43845, 0, 0, 0, 0, 0, 0, 1.22511, 4.12054, -5.38451, 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007 ),
"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
"points": PackedVector3Array( 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007, 0, 0, 0, 0, 0, 0, -18.4839, 0.381447, -2.2567, 0, 0, 0, 0, 0, 0, -9.25256, -1.66295, 1.34504, 0, 0, 0, 0, 0, 0, 14.3498, 1.51124, -0.660617, 0, 0, 0, 0, 0, 0, 16.5666, 7.48303, -8.42252, 0, 0, 0, 0, 0, 0, 5.21951, 11.8408, -15.3123, 0, 0, 0, 0, 0, 0, -6.34309, 13.0513, -18.0214, 0, 0, 0, 0, 0, 0, -22.2367, 9.90402, -15.3228, 0, 0, 0, 0, 0, 0, -5.97389, 1.40365, -2.43845, 0, 0, 0, 0, 0, 0, 1.22511, 4.12054, -5.38451, 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007 ),
"tilts": PackedFloat32Array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
}
[sub_resource type="BoxShape" id=30]
[sub_resource type="BoxShape3D" id=33]
margin = 1.21
extents = Vector3( 1, 1.77, 1.71 )
[sub_resource type="CapsuleShape" id=31]
[sub_resource type="CapsuleShape3D" id=34]
[sub_resource type="CubeMesh" id=32]
[sub_resource type="BoxMesh" id=35]
[node name="3DALL" type="Node3D"]
script = null
[node name="ARVROrigin" type="ARVROrigin" parent="."]
[node name="ARVROrigin" type="XROrigin3D" parent="."]
world_scale = 1.01
script = null
[node name="ARVRAnchor" type="ARVRAnchor" parent="ARVROrigin"]
[node name="ARVRAnchor" type="XRAnchor3D" parent="ARVROrigin"]
anchor_id = 32
script = null
[node name="ARVRCamera3D_NOTHING" type="ARVRCamera" parent="ARVROrigin"]
size = 16004.7
[node name="ARVRCamera_NOTHING" type="XRCamera3D" parent="ARVROrigin"]
h_offset = 0.159
v_offset = -0.909
doppler_tracking = 1
projection = 1
size = 91.71
near = 2235.15
far = 1.1
script = null
[node name="ARVRController" type="ARVRController" parent="ARVROrigin"]
[node name="ARVRController" type="XRController3D" parent="ARVROrigin"]
controller_id = 3
script = null
[node name="Camera3D" type="Camera" parent="."]
[node name="Camera" type="Camera3D" parent="."]
h_offset = 0.032
v_offset = 0.03
doppler_tracking = 1
projection = 1
fov = 75.7
size = 1.23
near = 0.42
far = 1134.3
far = 356.3
script = null
[node name="ClippedCamera3D" type="ClippedCamera" parent="."]
[node name="ClippedCamera" type="ClippedCamera3D" parent="."]
h_offset = 0.038
v_offset = -0.146
fov = 64.8
size = 15954.2
near = 0.45
margin = 23.09
script = null
[node name="InterpolatedCamera3D" type="InterpolatedCamera" parent="."]
size = 16384.0
target = NodePath("../ARVROrigin/ARVRController")
speed = 1.06
[node name="InterpolatedCamera" type="Node" parent="."]
script = null
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
material_override = SubResource( 1 )
offset = Vector2( 0.026, 0 )
flip_h = true
frames = SubResource( 1 )
flip_v = true
modulate = Color( 0.454902, 0.25098, 0.25098, 1 )
opacity = 0.74
pixel_size = 0.0526
billboard = 1
shaded = true
frames = SubResource( 2 )
frame = 2
playing = true
script = null
[node name="Sprite3D" type="Sprite3D" parent="."]
flip_h = true
flip_v = true
texture = ExtResource( 50 )
hframes = 13
frame = 2
script = null
[node name="CPUParticles" type="CPUParticles" parent="."]
mesh = SubResource( 2 )
[node name="CPUParticles" type="CPUParticles3D" parent="."]
emitting = false
amount = 5
lifetime = 1.83
speed_scale = 2.68
explosiveness = 0.24
randomness = 0.87
lifetime_randomness = 0.75
mesh = SubResource( 3 )
emission_shape = 1
emission_sphere_radius = 1.0
script = null
[node name="CSGBox" type="CSGBox" parent="."]
[node name="CSGBox" type="CSGBox3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 25.6943 )
operation = 1
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
material = SubResource( 4 )
script = null
[node name="CSGCylinder" type="CSGCylinder" parent="."]
transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, 0, 0 )
[node name="CSGCylinder" type="CSGCylinder3D" parent="."]
transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, -21.0098, 0 )
invert_faces = true
radius = 123.75
height = 45.8309
sides = 3
cone = true
material = SubResource( 4 )
material = SubResource( 5 )
script = null
[node name="CSGMesh" type="CSGMesh" parent="."]
[node name="CSGMesh" type="CSGMesh3D" parent="."]
transform = Transform( 1, 0, 0, 0, 3.78, 0, 0, 0, 7.64, 5.27772, 5.196, 0 )
invert_faces = true
mesh = SubResource( 6 )
material = SubResource( 8 )
[node name="CSGPolygon" type="CSGPolygon" parent="."]
polygon = PoolVector2Array( 1.3, 0.59, 1, 0.06, 1, -6.56, 0, 0, 0, 0, 0, 0 )
depth = 1.123
mesh = SubResource( 7 )
material = SubResource( 9 )
script = null
[node name="CSGSphere" type="CSGSphere" parent="."]
[node name="CSGPolygon" type="CSGPolygon3D" parent="."]
polygon = PackedVector2Array( 1.3, 0.59, 1, 0.06, 1, -6.56, 0, 0, 0, 0, 0, 0 )
depth = 1.123
material = SubResource( 10 )
script = null
[node name="CSGSphere" type="CSGSphere3D" parent="."]
invert_faces = true
radius = 19.668
radial_segments = 4
rings = 4
rings = 3
smooth_faces = false
material = SubResource( 10 )
material = SubResource( 11 )
script = null
[node name="CSGTorus" type="CSGTorus" parent="."]
[node name="CSGTorus" type="CSGTorus3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.71423, -3.42086 )
invert_faces = true
inner_radius = 0.001
outer_radius = 19.109
sides = 5
material = SubResource( 11 )
sides = 4
ring_sides = 5
material = SubResource( 12 )
script = null
[node name="CSGCombiner_NOTHING" type="CSGCombiner" parent="."]
[node name="CSGCombiner_NOTHING" type="CSGCombiner3D" parent="."]
operation = 1
script = null
[node name="CSGBox" type="CSGBox" parent="CSGCombiner_NOTHING"]
[node name="CSGBox" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
material = SubResource( 4 )
script = null
[node name="CSGBox2" type="CSGBox" parent="CSGCombiner_NOTHING"]
[node name="CSGBox2" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
material = SubResource( 4 )
script = null
[node name="CSGBox3" type="CSGBox" parent="CSGCombiner_NOTHING"]
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
[node name="CSGBox4" type="CSGBox" parent="CSGCombiner_NOTHING"]
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
[node name="CSGBox5" type="CSGBox" parent="CSGCombiner_NOTHING"]
invert_faces = true
width = 44.173
height = 19.604
material = SubResource( 3 )
[node name="ImmediateGeometry" type="ImmediateGeometry" parent="."]
material_override = SubResource( 12 )
[node name="ImmediateGeometry" type="ImmediateGeometry3D" parent="."]
material_override = SubResource( 13 )
extra_cull_margin = 0.08
use_in_baked_light = true
gi_mode = 1
script = null
[node name="MeshInstance" type="MeshInstance" parent="."]
mesh = SubResource( 14 )
skin = SubResource( 15 )
material/0 = null
[node name="MeshInstance" type="MeshInstance3D" parent="."]
mesh = SubResource( 15 )
skin = SubResource( 16 )
material/0 = SubResource( 17 )
script = null
[node name="MultiMeshInstance" type="MultiMeshInstance" parent="."]
multimesh = SubResource( 17 )
[node name="MultiMeshInstance" type="MultiMeshInstance3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.9485, 0 )
multimesh = SubResource( 19 )
script = null
[node name="Particles" type="Particles" parent="."]
[node name="Particles" type="GPUParticles3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -27.0754 )
emitting = false
amount = 4
lifetime = 1.42
preprocess = 0.5
speed_scale = 1.3
@ -310,290 +354,226 @@ explosiveness = 0.41
randomness = 0.34
fract_delta = false
local_coords = false
process_material = SubResource( 18 )
process_material = SubResource( 20 )
draw_pass_1 = SubResource( 21 )
script = null
[node name="BakedLightmap" type="BakedLightmap" parent="."]
bake_cell_size = 1.94
bake_propagation = 0.0
bake_energy = 1.58
image_path = "res://file.jpg"
light_data = SubResource( 19 )
light_data = SubResource( 22 )
script = null
[node name="DirectionalLight3D" type="DirectionalLight" parent="."]
[node name="DirectionalLight" type="DirectionalLight3D" parent="."]
transform = Transform( 1, 0, 0, 0, 0.639291, -0.768965, 0, 0.768965, 0.639291, 0, 21.5838, 0 )
light_energy = 7.54
shadow_enabled = true
script = null
[node name="SpotLight3D" type="SpotLight" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16.2155 )
light_energy = 1.11
[node name="SpotLight" type="SpotLight3D" parent="."]
transform = Transform( 1, 0, 0, 0, -0.171431, -0.985196, 0, 0.985196, -0.171431, 0, 0, -16.2155 )
light_energy = 4.05
light_negative = true
shadow_enabled = true
shadow_bias = 0.4
script = null
[node name="GIProbe" type="GIProbe" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.945391, 1.15135, 1.78806 )
extents = Vector3( 10, 10, 22.3077 )
energy = 1.89
propagation = 1.0
bias = 1.58
normal_bias = 0.061
interior = true
compress = true
script = null
[node name="ReflectionProbe" type="ReflectionProbe" parent="."]
update_mode = 1
intensity = 0.51
max_distance = 1.7
extents = Vector3( 1, 1.583, 1 )
box_projection = true
script = null
[node name="RootMotionView" type="RootMotionView" parent="."]
script = null
[node name="Area" type="Area" parent="."]
[node name="Area" type="Area3D" parent="."]
gravity = 22.39
linear_damp = 0.126
monitoring = false
script = null
[node name="CollisionShape" type="CollisionShape" parent="Area"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="Area"]
shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="Area"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="Area"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="Area"]
shape = SubResource( 20 )
[node name="KinematicBody" type="KinematicBody" parent="."]
[node name="KinematicBody" type="KinematicBody3D" parent="."]
collision/safe_margin = 0.033
script = null
[node name="CollisionShape" type="CollisionShape" parent="KinematicBody"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="KinematicBody"]
shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="KinematicBody"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="KinematicBody"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="KinematicBody"]
shape = SubResource( 20 )
[node name="PhysicalBone" type="PhysicalBone" parent="."]
[node name="PhysicalBone" type="PhysicalBone3D" parent="."]
mass = 1.21
weight = 11.858
script = null
[node name="CollisionShape" type="CollisionShape" parent="PhysicalBone"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="PhysicalBone"]
shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="PhysicalBone"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="PhysicalBone"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="PhysicalBone"]
shape = SubResource( 20 )
[node name="RigidBody" type="RigidBody" parent="."]
[node name="RigidBody" type="RigidBody3D" parent="."]
mass = 1.19
physics_material_override = SubResource( 21 )
physics_material_override = SubResource( 24 )
gravity_scale = 1.12
axis_lock_linear_x = true
script = null
[node name="CollisionShape" type="CollisionShape" parent="RigidBody"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="RigidBody"]
shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="RigidBody"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="RigidBody"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="RigidBody"]
shape = SubResource( 20 )
[node name="VehicleBody" type="VehicleBody" parent="."]
physics_material_override = SubResource( 22 )
[node name="VehicleBody" type="VehicleBody3D" parent="."]
physics_material_override = SubResource( 25 )
engine_force = 16.41
brake = 0.46
steering = 0.17
script = null
[node name="CollisionShape" type="CollisionShape" parent="VehicleBody"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="VehicleBody"]
shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="VehicleBody"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="VehicleBody"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="VehicleBody"]
shape = SubResource( 20 )
[node name="VehicleWheel" type="VehicleWheel" parent="VehicleBody"]
[node name="VehicleWheel4" type="VehicleWheel3D" parent="VehicleBody"]
engine_force = 5.60519e-45
brake = 0.46
script = null
[node name="VehicleWheel2" type="VehicleWheel" parent="VehicleBody"]
engine_force = 5.60519e-45
brake = 0.46
[node name="StaticBody" type="StaticBody3D" parent="."]
physics_material_override = SubResource( 26 )
constant_linear_velocity = Vector3( 0.049, 0, 0 )
script = null
[node name="VehicleWheel3" type="VehicleWheel" parent="VehicleBody"]
engine_force = 5.60519e-45
brake = 0.46
[node name="VehicleWheel4" type="VehicleWheel" parent="VehicleBody"]
engine_force = 5.60519e-45
brake = 0.46
[node name="StaticBody" type="StaticBody" parent="."]
physics_material_override = SubResource( 23 )
[node name="CollisionShape" type="CollisionShape" parent="StaticBody"]
shape = SubResource( 20 )
[node name="CollisionShape2" type="CollisionShape" parent="StaticBody"]
shape = SubResource( 20 )
[node name="CollisionShape3" type="CollisionShape" parent="StaticBody"]
shape = SubResource( 20 )
[node name="CollisionShape4" type="CollisionShape" parent="StaticBody"]
shape = SubResource( 20 )
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBody"]
shape = SubResource( 23 )
script = null
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = SubResource( 24 )
stream = SubResource( 27 )
attenuation_model = 1
unit_db = 0.031
unit_size = 5.5
max_db = 2.953
pitch_scale = 1.42
script = null
[node name="BoneAttachment" type="BoneAttachment" parent="."]
[node name="BoneAttachment" type="BoneAttachment3D" parent="."]
script = null
[node name="CollisionPolygon" type="CollisionPolygon" parent="."]
polygon = PoolVector2Array( 66.9045, 31.0067, 286.784, -62.3473, 22.8219, -35.2817, -25.9028, -19.5722, -43.33, 5.94586, -43.7357, 15.5874, -36.475, 6.06905, -45.3994, 19.6661 )
[node name="CollisionPolygon" type="CollisionPolygon3D" parent="."]
polygon = PackedVector2Array( 66.9045, 31.0067, 286.784, -62.3473, 22.8219, -35.2817, -25.9028, -19.5722, -43.33, 5.94586, -43.7357, 15.5874, -36.475, 6.06905, -45.3994, 19.6661 )
script = null
[node name="CollisionShape" type="CollisionShape" parent="."]
[node name="CollisionShape" type="CollisionShape3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -26.583 )
shape = SubResource( 25 )
shape = SubResource( 28 )
script = null
[node name="GridMap" type="GridMap" parent="."]
mesh_library = SubResource( 27 )
mesh_library = SubResource( 30 )
cell_size = Vector3( 2, 1.14, 3.08 )
data = {
"cells": PoolIntArray( 26, 0, 0, 27, 0, 0, 21, 1, 0, 23, 1, 0, 25, 1, 0, 26, 1, 0, 18, 2, 0, 19, 2, 0, 65523, 5, 0, 65524, 5, 0, 65516, 65524, 0, 65523, 65524, 0, 65514, 65531, 0, 65515, 65531, 0, 65513, 65532, 0, 65514, 65532, 0, 65513, 65533, 0 )
"cells": PackedInt32Array( 23, 1, 0, 25, 1, 0, 26, 1, 0, 18, 2, 0, 65523, 5, 0, 65524, 5, 0, 65530, 65515, 0, 65520, 65520, 0, 65519, 65521, 0, 65520, 65521, 0, 65519, 65522, 0, 65518, 65523, 0, 65523, 65524, 0, 65526, 65528, 0, 65513, 65533, 0 )
}
script = null
__meta__ = {
"_editor_clip_": 0
}
[node name="Listener" type="Listener" parent="."]
[node name="Listener" type="Listener3D" parent="."]
current = true
script = null
[node name="Navigation_LEAK" type="Navigation" parent="."]
up_vector = Vector3( 0, 1.228, 0 )
[node name="Navigation" type="Node" parent="."]
script = null
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="Navigation_LEAK"]
navmesh = SubResource( 28 )
[node name="NavigationMeshInstance" type="NavigationRegion3D" parent="Navigation"]
navmesh = SubResource( 31 )
script = null
[node name="NavigationMeshInstance2" type="NavigationMeshInstance" parent="Navigation_LEAK"]
navmesh = SubResource( 28 )
[node name="NavigationMeshInstance" type="NavigationRegion3D" parent="."]
navmesh = SubResource( 31 )
script = null
[node name="NavigationMeshInstance3" type="NavigationMeshInstance" parent="Navigation_LEAK"]
navmesh = SubResource( 28 )
[node name="Path" type="Path3D" parent="."]
curve = SubResource( 32 )
script = null
[node name="NavigationMeshInstance4" type="NavigationMeshInstance" parent="Navigation_LEAK"]
navmesh = SubResource( 28 )
[node name="PathFollow" type="PathFollow3D" parent="Path"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.21835, 8.31693, -11.5007 )
script = null
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 28 )
[node name="Path" type="Path" parent="."]
curve = SubResource( 29 )
[node name="PathFollow" type="PathFollow" parent="Path"]
[node name="PathFollow2" type="PathFollow" parent="Path"]
[node name="PathFollow3" type="PathFollow" parent="Path"]
[node name="PathFollow4" type="PathFollow" parent="Path"]
[node name="PathFollow" type="PathFollow" parent="."]
offset = 0.28
[node name="PathFollow" type="PathFollow3D" parent="."]
offset = 2.09
h_offset = 0.101
script = null
[node name="Position3D_NOTHING" type="Position3D" parent="."]
script = null
[node name="Camera3D_DEFAULT_CAMERA" type="Camera" parent="."]
[node name="Camera_DEFAULT_CAMERA" type="Camera3D" parent="."]
current = true
script = null
[node name="ProximityGroup" type="ProximityGroup" parent="."]
[node name="ProximityGroup" type="ProximityGroup3D" parent="."]
dispatch_mode = 1
script = null
[node name="RayCast" type="RayCast" parent="."]
enabled = true
[node name="RayCast" type="RayCast3D" parent="."]
script = null
[node name="RemoteTransform" type="RemoteTransform" parent="."]
remote_path = NodePath("../Camera3D")
[node name="RemoteTransform" type="RemoteTransform3D" parent="."]
remote_path = NodePath("../Camera")
script = null
[node name="Skeleton" type="Skeleton" parent="."]
[node name="Skeleton" type="Skeleton3D" parent="."]
script = null
[node name="PhysicalBone" type="PhysicalBone" parent="Skeleton"]
[node name="PhysicalBone" type="PhysicalBone3D" parent="Skeleton"]
script = null
[node name="BoneAttachment" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
[node name="BoneAttachment" type="BoneAttachment3D" parent="Skeleton/PhysicalBone"]
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
script = null
[node name="BoneAttachment2" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
[node name="CollisionShape4" type="CollisionShape3D" parent="Skeleton/PhysicalBone"]
shape = SubResource( 33 )
script = null
[node name="BoneAttachment3" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
[node name="BoneAttachment4" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone"]
shape = SubResource( 30 )
[node name="CollisionShape2" type="CollisionShape" parent="Skeleton/PhysicalBone"]
shape = SubResource( 30 )
[node name="CollisionShape3" type="CollisionShape" parent="Skeleton/PhysicalBone"]
shape = SubResource( 30 )
[node name="CollisionShape4" type="CollisionShape" parent="Skeleton/PhysicalBone"]
shape = SubResource( 30 )
[node name="PhysicalBone 3" type="PhysicalBone" parent="Skeleton"]
[node name="PhysicalBone 3" type="PhysicalBone3D" parent="Skeleton"]
mass = 0.958163
weight = 9.39
friction = 0.62
bounce = 0.3
gravity_scale = 0.6
script = null
[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 30 )
[node name="CollisionShape" type="CollisionShape3D" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 33 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 30 )
[node name="SpringArm" type="SpringArm3D" parent="."]
shape = SubResource( 34 )
script = null
[node name="CollisionShape3" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 30 )
[node name="CollisionShape4" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 30 )
[node name="SpringArm" type="SpringArm" parent="."]
shape = SubResource( 31 )
[node name="VehicleWheel" type="VehicleWheel" parent="."]
[node name="VehicleWheel" type="VehicleWheel3D" parent="."]
engine_force = 0.49
brake = 0.74
steering = -0.63
script = null
[node name="VisibilityNotifier" type="VisibilityNotifier" parent="."]
[node name="VisibilityNotifier" type="VisibilityNotifier3D" parent="."]
aabb = AABB( -1, -0.982, -1, 2, 2.078, 2 )
script = null
[node name="VisibilityEnabler" type="VisibilityEnabler" parent="."]
[node name="VisibilityEnabler" type="VisibilityEnabler3D" parent="."]
script = null
[node name="Generic6DOFJoint" type="Generic6DOFJoint" parent="."]
[node name="Generic6DOFJoint" type="Generic6DOFJoint3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.63619, -0.392871, 2.48948 )
nodes/node_a = NodePath("../StaticBody")
nodes/node_b = NodePath("../PhysicalBone")
@ -607,8 +587,9 @@ angular_spring_z/enabled = true
angular_spring_z/stiffness = 0.5
angular_spring_z/damping = 0.64
angular_spring_z/equilibrium_point = -0.9
script = null
[node name="HingeJoint" type="HingeJoint" parent="."]
[node name="HingeJoint" type="HingeJoint3D" parent="."]
nodes/node_a = NodePath("../StaticBody")
nodes/node_b = NodePath("../PhysicalBone")
params/bias = 0.99
@ -621,8 +602,9 @@ angular_limit/relaxation = 3.6
motor/enable = true
motor/target_velocity = -1.3
motor/max_impulse = 30.2
script = null
[node name="SliderJoint" type="SliderJoint" parent="."]
[node name="SliderJoint" type="SliderJoint3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17785, 0.25203, 4.6063 )
nodes/node_a = NodePath("../VehicleBody")
nodes/node_b = NodePath("../StaticBody")
@ -642,15 +624,17 @@ angular_limit/lower_angle = 38.8
angular_motion/softness = 2.18
angular_motion/restitution = 1.77
angular_motion/damping = 4.88
script = null
[node name="PinJoint" type="PinJoint" parent="."]
nodes/node_a = NodePath("../Area")
[node name="PinJoint" type="PinJoint3D" parent="."]
nodes/node_a = NodePath("../KinematicBody")
nodes/node_b = NodePath("../StaticBody")
params/bias = 0.99
params/damping = 7.3
params/impulse_clamp = 7.2
script = null
[node name="ConeTwistJoint" type="ConeTwistJoint" parent="."]
[node name="ConeTwistJoint" type="ConeTwistJoint3D" parent="."]
nodes/node_a = NodePath("../PhysicalBone")
nodes/node_b = NodePath("../RigidBody")
solver/priority = 8
@ -658,31 +642,19 @@ twist_span = 9500.4
bias = 0.46
softness = 0.95
relaxation = 0.83
script = null
[node name="OmniLight3D" type="OmniLight" parent="."]
[node name="OmniLight" type="OmniLight3D" parent="."]
light_energy = 1.61
light_indirect_energy = 1.35
light_specular = 0.68
omni_range = 118.9
omni_attenuation = 1.51572
omni_shadow_mode = 0
omni_shadow_detail = 0
[node name="Generic6DOFJoint2" type="Generic6DOFJoint" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.63619, -0.392871, 2.48948 )
nodes/node_a = NodePath("../StaticBody")
nodes/node_b = NodePath("../PhysicalBone")
solver/priority = 5
collision/exclude_nodes = false
linear_limit_x/upper_distance = 0.18
linear_limit_x/lower_distance = 0.059
linear_limit_x/softness = 2.62
linear_limit_x/restitution = 1.54
angular_motor_z/enabled = true
angular_motor_z/target_velocity = 0.11
angular_motor_z/force_limit = 300.5
angular_spring_z/enabled = true
angular_spring_z/stiffness = 0.5
angular_spring_z/damping = 0.64
angular_spring_z/equilibrium_point = -0.9
script = null
[node name="SoftBody" type="SoftBody3D" parent="."]
mesh = SubResource( 35 )
material/0 = null
pinned_points = [ ]
script = null

View File

@ -1,8 +1,7 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=5 format=2]
[ext_resource path="res://AIO/AllNodes/OtherALL.tscn" type="PackedScene" id=1]
[ext_resource path="res://AIO/AllNodes/2DALL.tscn" type="PackedScene" id=2]
[ext_resource path="res://AIO/AllNodes/ResourcesALL.tscn" type="PackedScene" id=3]
[ext_resource path="res://AIO/AllNodes/ControlALL.tscn" type="PackedScene" id=4]
[ext_resource path="res://AIO/AllNodes/3DALL.tscn" type="PackedScene" id=5]
@ -15,5 +14,3 @@
[node name="ControlALL" parent="." instance=ExtResource( 4 )]
[node name="OtherALL" parent="." instance=ExtResource( 1 )]
[node name="ResourcesALL" parent="." instance=ExtResource( 3 )]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://icon.png" type="Texture2D" id=1]
[sub_resource type="Theme" id=1]
@ -8,468 +8,440 @@
anchor_right = 1.0
anchor_bottom = 1.0
columns = 9
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Popup" type="Popup" parent="."]
visible = true
modulate = Color( 0.607843, 0.4, 0.4, 1 )
self_modulate = Color( 0.835294, 0.717647, 0.717647, 1 )
show_behind_parent = true
light_mask = 16387
margin_left = 80.0
margin_right = 80.0
margin_bottom = 130.0
grow_horizontal = 0
grow_vertical = 2
hint_tooltip = "dfadfasf"
focus_neighbour_left = NodePath("../Button_ALL")
focus_neighbour_top = NodePath("../ToolButton")
focus_neighbour_right = NodePath("../LinkButton")
focus_neighbour_bottom = NodePath("../Container")
focus_next = NodePath("../TextureButton")
focus_previous = NodePath("../CheckBox")
focus_mode = 2
mouse_filter = 1
mouse_default_cursor_shape = 4
size_flags_horizontal = 14
size_flags_vertical = 15
size_flags_stretch_ratio = 121.49
theme = SubResource( 1 )
popup_exclusive = true
script = null
[node name="WindowDialog" type="WindowDialog" parent="."]
visible = true
margin_left = 84.0
margin_right = 167.0
margin_bottom = 130.0
popup_exclusive = true
window_title = "wfaas"
resizable = true
[node name="WindowDialog" type="Node" parent="."]
script = null
[node name="AcceptDialog" type="AcceptDialog" parent="."]
visible = true
margin_left = 171.0
margin_right = 251.0
margin_bottom = 130.0
window_title = "asfas"
resizable = true
position = Vector2i( 0, 64 )
dialog_text = "fqwfqwfqwf"
dialog_hide_on_ok = false
dialog_autowrap = true
script = null
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."]
visible = true
margin_left = 255.0
margin_right = 461.0
margin_bottom = 130.0
rect_min_size = Vector2( 138, 48.3 )
window_title = "Please Confirm...asfasfas"
resizable = true
position = Vector2i( 0, 64 )
dialog_text = "fas"
dialog_hide_on_ok = false
dialog_autowrap = true
script = null
[node name="FileDialog" type="FileDialog" parent="."]
visible = true
margin_left = 465.0
margin_right = 681.0
margin_bottom = 130.0
rect_min_size = Vector2( 138, 48.3 )
window_title = "Open File(s)"
position = Vector2i( 0, 64 )
size = Vector2i( 371, 122 )
dialog_text = "sffasfasf"
dialog_hide_on_ok = true
dialog_autowrap = true
mode_overrides_title = false
mode = 1
access = 1
filters = PoolStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" )
filters = PackedStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" )
show_hidden_files = true
current_dir = "user://"
current_file = "asf"
current_path = "user://asf"
script = null
[node name="PopupDialog_NOTHING" type="PopupDialog" parent="."]
visible = true
margin_left = 685.0
margin_right = 737.0
margin_bottom = 130.0
popup_exclusive = true
[node name="PopupDialog_NOTHING" type="Node" parent="."]
script = null
[node name="PopupMenu" type="PopupMenu" parent="."]
margin_top = 923.0
margin_right = 308.0
margin_bottom = 943.0
items = [ ]
hide_on_item_selection = false
hide_on_checkable_item_selection = false
hide_on_state_item_selection = true
submenu_popup_delay = 5.32352e+07
allow_search = true
script = null
[node name="PopupPanel_NOTHING" type="PopupPanel" parent="."]
visible = true
margin_left = 741.0
margin_right = 753.0
margin_bottom = 130.0
popup_exclusive = true
script = null
[node name="Button" type="Button" parent="."]
margin_left = 757.0
margin_right = 815.0
margin_bottom = 130.0
offset_right = 58.0
offset_bottom = 40.0
text = "asfasf"
flat = true
clip_text = true
align = 0
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="CheckBox_NOTHING" type="CheckBox" parent="."]
margin_left = 819.0
margin_right = 1127.0
margin_bottom = 130.0
offset_left = 62.0
offset_right = 370.0
offset_bottom = 40.0
text = "safasf"
flat = true
clip_text = true
align = 2
script = null
[node name="CheckButton_NOTHING" type="CheckButton" parent="."]
margin_top = 134.0
margin_right = 80.0
margin_bottom = 546.0
offset_left = 374.0
offset_right = 454.0
offset_bottom = 40.0
text = "asfq"
flat = true
clip_text = true
align = 1
script = null
[node name="ColorPickerButton" type="ColorPickerButton" parent="."]
margin_left = 84.0
margin_top = 134.0
margin_right = 167.0
margin_bottom = 546.0
offset_left = 458.0
offset_right = 532.0
offset_bottom = 40.0
text = "asfasf"
flat = true
clip_text = true
align = 2
color = Color( 0.639216, 0.576471, 0.576471, 1 )
edit_alpha = false
script = null
[node name="MenuButton" type="MenuButton" parent="."]
margin_left = 171.0
margin_top = 134.0
margin_right = 251.0
margin_bottom = 546.0
offset_left = 536.0
offset_right = 580.0
offset_bottom = 40.0
icon = ExtResource( 1 )
items = [ ]
switch_on_hover = true
script = null
[node name="OptionButton" type="OptionButton" parent="."]
margin_left = 255.0
margin_top = 134.0
margin_right = 461.0
margin_bottom = 546.0
offset_left = 584.0
offset_right = 645.0
offset_bottom = 40.0
icon = ExtResource( 1 )
items = [ ]
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ToolButton_NOTHING" type="ToolButton" parent="."]
margin_left = 465.0
margin_top = 134.0
margin_right = 681.0
margin_bottom = 546.0
[node name="ToolButton_NOTHING" type="Button" parent="."]
offset_left = 649.0
offset_right = 695.0
offset_bottom = 40.0
text = "asfasf"
icon = ExtResource( 1 )
flat = false
clip_text = true
align = 2
script = null
[node name="LinkButton" type="LinkButton" parent="."]
margin_left = 685.0
margin_top = 134.0
margin_right = 737.0
margin_bottom = 546.0
offset_left = 699.0
offset_right = 751.0
offset_bottom = 40.0
text = "asfqfqwf"
underline = 2
structured_text_bidi_override_options = [ ]
script = null
[node name="TextureButton" type="TextureButton" parent="."]
margin_left = 741.0
margin_top = 134.0
margin_right = 753.0
margin_bottom = 546.0
offset_left = 755.0
offset_right = 767.0
offset_bottom = 40.0
expand = true
stretch_mode = 5
script = null
[node name="Container" type="Container" parent="."]
margin_left = 757.0
margin_top = 134.0
margin_right = 815.0
margin_bottom = 546.0
offset_top = 44.0
offset_right = 58.0
offset_bottom = 454.0
script = null
[node name="Control" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
script = null
[node name="Control2" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
[node name="Control3" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
[node name="Control4" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
[node name="Control5" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
[node name="Control6" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
[node name="Control7" type="Control" parent="Container"]
margin_right = 40.0
margin_bottom = 40.0
script = null
[node name="ColorPicker" type="ColorPicker" parent="."]
margin_left = 819.0
margin_top = 134.0
margin_right = 1127.0
margin_bottom = 546.0
offset_left = 62.0
offset_top = 44.0
offset_right = 370.0
offset_bottom = 454.0
alignment = 1
edit_alpha = false
raw_mode = true
deferred_mode = true
presets_enabled = false
presets_visible = false
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HBoxContainer_NOTHING" type="HBoxContainer" parent="."]
margin_top = 550.0
margin_right = 80.0
margin_bottom = 580.0
offset_left = 374.0
offset_top = 44.0
offset_right = 454.0
offset_bottom = 454.0
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VBoxContainer_NOTHING" type="VBoxContainer" parent="."]
margin_left = 84.0
margin_top = 550.0
margin_right = 167.0
margin_bottom = 580.0
offset_left = 458.0
offset_top = 44.0
offset_right = 532.0
offset_bottom = 454.0
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="CenterContainer" type="CenterContainer" parent="."]
margin_left = 171.0
margin_top = 550.0
margin_right = 251.0
margin_bottom = 580.0
offset_left = 536.0
offset_top = 44.0
offset_right = 580.0
offset_bottom = 454.0
use_top_left = true
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ScrollContainer" type="ScrollContainer" parent="."]
margin_left = 255.0
margin_top = 550.0
margin_right = 461.0
margin_bottom = 580.0
offset_left = 584.0
offset_top = 44.0
offset_right = 645.0
offset_bottom = 454.0
script = null
[node name="GraphNode" type="GraphNode" parent="."]
margin_left = 465.0
margin_top = 550.0
margin_right = 681.0
margin_bottom = 580.0
offset_left = 649.0
offset_top = 44.0
offset_right = 695.0
offset_bottom = 454.0
script = null
[node name="GridContainer" type="GridContainer" parent="."]
margin_left = 685.0
margin_top = 550.0
margin_right = 737.0
margin_bottom = 580.0
offset_left = 699.0
offset_top = 44.0
offset_right = 751.0
offset_bottom = 454.0
script = null
[node name="HSplitContainer_NOTHING" type="HSplitContainer" parent="."]
margin_left = 741.0
margin_top = 550.0
margin_right = 753.0
margin_bottom = 580.0
offset_left = 755.0
offset_top = 44.0
offset_right = 767.0
offset_bottom = 454.0
script = null
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VSplitContainer_NOTHING" type="VSplitContainer" parent="."]
margin_left = 757.0
margin_top = 550.0
margin_right = 815.0
margin_bottom = 580.0
offset_top = 458.0
offset_right = 58.0
offset_bottom = 490.0
script = null
[node name="MarginContainer_NOTHING" type="MarginContainer" parent="."]
margin_left = 819.0
margin_top = 550.0
margin_right = 1127.0
margin_bottom = 580.0
offset_left = 62.0
offset_top = 458.0
offset_right = 370.0
offset_bottom = 490.0
script = null
[node name="PanelContainer_NOTHING" type="PanelContainer" parent="."]
margin_top = 584.0
margin_right = 80.0
margin_bottom = 620.0
offset_left = 374.0
offset_top = 458.0
offset_right = 454.0
offset_bottom = 490.0
script = null
[node name="TabContainer" type="TabContainer" parent="."]
margin_left = 84.0
margin_top = 584.0
margin_right = 167.0
margin_bottom = 620.0
offset_left = 458.0
offset_top = 458.0
offset_right = 532.0
offset_bottom = 490.0
script = null
[node name="ViewportContainer" type="ViewportContainer" parent="."]
margin_left = 171.0
margin_top = 584.0
margin_right = 251.0
margin_bottom = 620.0
[node name="ViewportContainer" type="SubViewportContainer" parent="."]
offset_left = 536.0
offset_top = 458.0
offset_right = 580.0
offset_bottom = 490.0
script = null
[node name="ColorRect" type="ColorRect" parent="."]
margin_left = 255.0
margin_top = 584.0
margin_right = 461.0
margin_bottom = 620.0
offset_left = 584.0
offset_top = 458.0
offset_right = 645.0
offset_bottom = 490.0
script = null
[node name="GraphEdit" type="GraphEdit" parent="."]
margin_left = 465.0
margin_top = 584.0
margin_right = 681.0
margin_bottom = 620.0
scroll_offset = Vector2( -102, 0 )
offset_left = 649.0
offset_top = 458.0
offset_right = 695.0
offset_bottom = 490.0
script = null
[node name="HScrollBar_NOTHING" type="HScrollBar" parent="."]
margin_left = 685.0
margin_top = 584.0
margin_right = 737.0
margin_bottom = 596.0
offset_left = 699.0
offset_top = 458.0
offset_right = 751.0
offset_bottom = 470.0
script = null
[node name="VScrollBar_NOTHING" type="VScrollBar" parent="."]
margin_left = 741.0
margin_top = 584.0
margin_right = 753.0
margin_bottom = 620.0
offset_left = 755.0
offset_top = 458.0
offset_right = 767.0
offset_bottom = 490.0
script = null
[node name="HSlider_NOTHING" type="HSlider" parent="."]
margin_left = 757.0
margin_top = 584.0
margin_right = 815.0
margin_bottom = 600.0
offset_top = 494.0
offset_right = 58.0
offset_bottom = 510.0
script = null
[node name="VSlider_NOTHING" type="VSlider" parent="."]
margin_left = 819.0
margin_top = 584.0
margin_right = 835.0
margin_bottom = 620.0
offset_left = 62.0
offset_top = 494.0
offset_right = 78.0
offset_bottom = 518.0
script = null
[node name="ProgressBar" type="ProgressBar" parent="."]
margin_top = 624.0
margin_right = 80.0
margin_bottom = 638.0
offset_left = 374.0
offset_top = 494.0
offset_right = 454.0
offset_bottom = 508.0
script = null
[node name="SpinBox" type="SpinBox" parent="."]
margin_left = 84.0
margin_top = 624.0
margin_right = 167.0
margin_bottom = 648.0
offset_left = 458.0
offset_top = 494.0
offset_right = 532.0
offset_bottom = 518.0
script = null
[node name="TextureProgress" type="TextureProgress" parent="."]
margin_left = 171.0
margin_top = 624.0
margin_right = 251.0
margin_bottom = 648.0
[node name="TextureProgress" type="TextureProgressBar" parent="."]
offset_left = 536.0
offset_top = 494.0
offset_right = 580.0
offset_bottom = 518.0
script = null
[node name="HSeparator" type="HSeparator" parent="."]
margin_left = 255.0
margin_top = 624.0
margin_right = 461.0
margin_bottom = 648.0
offset_left = 584.0
offset_top = 494.0
offset_right = 645.0
offset_bottom = 518.0
script = null
[node name="VSeparator" type="VSeparator" parent="."]
margin_left = 465.0
margin_top = 624.0
margin_right = 681.0
margin_bottom = 648.0
offset_left = 649.0
offset_top = 494.0
offset_right = 695.0
offset_bottom = 518.0
script = null
[node name="ItemList" type="ItemList" parent="."]
margin_left = 685.0
margin_top = 624.0
margin_right = 737.0
margin_bottom = 648.0
offset_left = 699.0
offset_top = 494.0
offset_right = 751.0
offset_bottom = 518.0
items = [ ]
script = null
[node name="Label" type="Label" parent="."]
margin_left = 741.0
margin_top = 629.0
margin_right = 753.0
margin_bottom = 643.0
offset_left = 755.0
offset_top = 499.0
offset_right = 767.0
offset_bottom = 513.0
structured_text_bidi_override_options = [ ]
script = null
[node name="LineEdit" type="LineEdit" parent="."]
margin_left = 757.0
margin_top = 624.0
margin_right = 815.0
margin_bottom = 648.0
offset_top = 522.0
offset_right = 58.0
offset_bottom = 546.0
structured_text_bidi_override_options = [ ]
caret_blink = true
script = null
[node name="NinePatchRect" type="NinePatchRect" parent="."]
margin_left = 819.0
margin_top = 624.0
margin_right = 1127.0
margin_bottom = 648.0
offset_left = 62.0
offset_top = 522.0
offset_right = 370.0
offset_bottom = 546.0
script = null
[node name="Panel_NOTHING" type="Panel" parent="."]
margin_top = 652.0
margin_right = 80.0
margin_bottom = 676.0
offset_left = 374.0
offset_top = 522.0
offset_right = 454.0
offset_bottom = 546.0
script = null
[node name="ReferenceRect" type="ReferenceRect" parent="."]
margin_left = 84.0
margin_top = 652.0
margin_right = 167.0
margin_bottom = 676.0
offset_left = 458.0
offset_top = 522.0
offset_right = 532.0
offset_bottom = 546.0
script = null
[node name="RichTextLabel" type="RichTextLabel" parent="."]
margin_left = 171.0
margin_top = 652.0
margin_right = 251.0
margin_bottom = 676.0
offset_left = 536.0
offset_top = 522.0
offset_right = 580.0
offset_bottom = 546.0
custom_effects = [ ]
structured_text_bidi_override_options = [ ]
script = null
[node name="Tabs" type="Tabs" parent="."]
margin_left = 255.0
margin_top = 652.0
margin_right = 461.0
margin_bottom = 676.0
offset_left = 584.0
offset_top = 522.0
offset_right = 645.0
offset_bottom = 546.0
script = null
[node name="TextEdit" type="TextEdit" parent="."]
margin_left = 465.0
margin_top = 652.0
margin_right = 681.0
margin_bottom = 676.0
offset_left = 649.0
offset_top = 522.0
offset_right = 695.0
offset_bottom = 546.0
structured_text_bidi_override_options = [ ]
script = null
[node name="TextureRect" type="TextureRect" parent="."]
margin_left = 685.0
margin_top = 652.0
margin_right = 737.0
margin_bottom = 676.0
offset_left = 699.0
offset_top = 522.0
offset_right = 751.0
offset_bottom = 546.0
script = null
[node name="Tree" type="Tree" parent="."]
margin_left = 741.0
margin_top = 652.0
margin_right = 753.0
margin_bottom = 676.0
offset_left = 755.0
offset_top = 522.0
offset_right = 767.0
offset_bottom = 546.0
script = null
[node name="VideoPlayer" type="VideoPlayer" parent="."]
margin_left = 757.0
margin_top = 652.0
margin_right = 815.0
margin_bottom = 676.0
offset_top = 550.0
offset_right = 58.0
offset_bottom = 550.0
script = null
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -9,9 +9,18 @@ tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( ),
"transitions": PoolRealArray( ),
"values": [ ]
"times": PackedFloat32Array( 1.4, 4.6, 8.1 ),
"transitions": PackedFloat32Array( 1, 1, 1 ),
"values": [ {
"args": [ ],
"method": @"stop_all"
}, {
"args": [ ],
"method": @"resume_all"
}, {
"args": [ ],
"method": @"is_active"
} ]
}
[sub_resource type="AnimationNodeBlendSpace1D" id=2]
@ -21,48 +30,66 @@ tracks/0/keys = {
[sub_resource type="Environment" id=4]
[node name="OtherALL" type="Node"]
script = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../AudioStreamPlayer")
"anims/New Anim" = SubResource( 1 )
blend_times = [ ]
script = null
[node name="AnimationTree" type="AnimationTree" parent="."]
tree_root = SubResource( 2 )
anim_player = NodePath("../AnimationPlayer")
parameters/blend_position = 0
script = null
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource( 3 )
volume_db = 0.066
pitch_scale = 2.48
script = null
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 55
offset = Vector2( 0.019, 0 )
transform = Transform2D( 1, 0, 0, 1, 0.019, 0 )
follow_viewport_enable = true
script = null
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
scroll_offset = Vector2( 0.026, 0 )
scroll_base_offset = Vector2( 0.038, 0 )
scroll_base_scale = Vector2( 1, 1.045 )
script = null
[node name="HTTPRequest" type="HTTPRequest" parent="."]
use_threads = true
script = null
[node name="ResourcePreloader" type="ResourcePreloader" parent="."]
resources = [ PackedStringArray( ), [ ] ]
script = null
[node name="SkeletonIK" type="SkeletonIK" parent="."]
[node name="SkeletonIK" type="SkeletonIK3D" parent="."]
process_priority = 1
interpolation = 0.942
target = Transform( 2.49, 1.02, -0.07, 1.15, 1, -1.97, -0.7, -1.01, 2.42, -0.7, -0.59, -0.29 )
magnet = Vector3( 2.8, -3.69, -0.95 )
target_node = NodePath("../ResourcePreloader")
script = null
[node name="Timer" type="Timer" parent="."]
script = null
[node name="Tween" type="Tween" parent="."]
repeat = true
playback/repeat = true
script = null
[node name="Viewport" type="Viewport" parent="."]
[node name="Viewport" type="SubViewport" parent="."]
script = null
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource( 4 )
script = null

View File

@ -1,918 +0,0 @@
[gd_scene format=2]
[node name="Resources" type="Node2D"]
[node name="Reference_LEAK" type="Node2D" parent="."]
[node name="ARVRInterface_CHILD" type="Node2D" parent="."]
[node name="ARVRInterfaceGDNative" type="Node2D" parent="."]
[node name="MobileVRInterface" type="Node2D" parent="."]
[node name="AStar" type="Node2D" parent="."]
[node name="AStar2D" type="Node2D" parent="."]
[node name="Resource" type="Node2D" parent="."]
[node name="Texture_CHILD" type="Node2D" parent="."]
[node name="AnimatedTexture" type="Node2D" parent="."]
[node name="AtlasTexture" type="Node2D" parent="."]
[node name="CameraTexture" type="Node2D" parent="."]
[node name="CurveTexture" type="Node2D" parent="."]
[node name="GradientTexture" type="Node2D" parent="."]
[node name="ImageTexture" type="Node2D" parent="."]
[node name="LargeTexture" type="Node2D" parent="."]
[node name="MeshTexture" type="Node2D" parent="."]
[node name="NoiseTexture" type="Node2D" parent="."]
[node name="ProxyTexture" type="Node2D" parent="."]
[node name="StreamTexture" type="Node2D" parent="."]
[node name="ViewportTexture" type="Node2D" parent="."]
[node name="Animation" type="Node2D" parent="."]
[node name="AnimationNode" type="Node2D" parent="."]
[node name="AnimationNodeAdd2" type="Node2D" parent="."]
[node name="AnimationNodeAdd3" type="Node2D" parent="."]
[node name="AnimationRootNode" type="Node2D" parent="."]
[node name="AnimationNodeAnimation" type="Node2D" parent="."]
[node name="AnimationNodeBlendSpace1D" type="Node2D" parent="."]
[node name="AnimationNodeBlendSpace2D" type="Node2D" parent="."]
[node name="AnimationNodeBlendTree" type="Node2D" parent="."]
[node name="AnimationNodeBlendMachine" type="Node2D" parent="."]
[node name="AnimationNodeBlendBlend2" type="Node2D" parent="."]
[node name="AnimationNodeBlendBlend3" type="Node2D" parent="."]
[node name="AnimationNodeOneShot" type="Node2D" parent="."]
[node name="AnimationNodeOutput" type="Node2D" parent="."]
[node name="AnimationNodeTimeScale" type="Node2D" parent="."]
[node name="AnimationNodeTimeSeek" type="Node2D" parent="."]
[node name="AnimationNodeTransition" type="Node2D" parent="."]
[node name="AnimationNodeBlendStateMachinePlayback" type="Node2D" parent="."]
[node name="AnimationNodeBlendStateMachineTransition" type="Node2D" parent="."]
[node name="Mesh" type="Node2D" parent="."]
[node name="ArrayMesh" type="Node2D" parent="."]
[node name="PrimitiveMesh_CHILD" type="Node2D" parent="."]
[node name="CapsuleMesh" type="Node2D" parent="."]
[node name="CubeMesh" type="Node2D" parent="."]
[node name="CylinderMesh" type="Node2D" parent="."]
[node name="PlaneMesh" type="Node2D" parent="."]
[node name="PointMesh" type="Node2D" parent="."]
[node name="PrismMesh" type="Node2D" parent="."]
[node name="QuadMesh" type="Node2D" parent="."]
[node name="SphereMesh" type="Node2D" parent="."]
[node name="AudioBusLayout" type="Node2D" parent="."]
[node name="AudioEffect_CHILD" type="Node2D" parent="."]
[node name="AudioEffectAmplify" type="Node2D" parent="."]
[node name="AudioEffectFilter" type="Node2D" parent="."]
[node name="AudioEffectBandLimitFilter" type="Node2D" parent="."]
[node name="AudioEffectBandPassFilter" type="Node2D" parent="."]
[node name="AudioEffectHighPassFilter" type="Node2D" parent="."]
[node name="AudioEffectHighShelfFilter" type="Node2D" parent="."]
[node name="AudioEffectLowPassFilter" type="Node2D" parent="."]
[node name="AudioEffectLowShelfFilter" type="Node2D" parent="."]
[node name="AudioEffectNotchFilter" type="Node2D" parent="."]
[node name="AudioEffectChorus" type="Node2D" parent="."]
[node name="AudioEffectCompressor" type="Node2D" parent="."]
[node name="AudioEffectDelay" type="Node2D" parent="."]
[node name="AudioEffectDistortion" type="Node2D" parent="."]
[node name="AudioEffectEQ" type="Node2D" parent="."]
[node name="AudioEffectEQ10" type="Node2D" parent="."]
[node name="AudioEffectEQ21" type="Node2D" parent="."]
[node name="AudioEffectEQ6" type="Node2D" parent="."]
[node name="AudioEffectLimiter" type="Node2D" parent="."]
[node name="AudioEffectPanner" type="Node2D" parent="."]
[node name="AudioEffectPhaser" type="Node2D" parent="."]
[node name="AudioEffectPitchShift" type="Node2D" parent="."]
[node name="AudioEffectRecord" type="Node2D" parent="."]
[node name="AudioEffectReverb" type="Node2D" parent="."]
[node name="AudioEffectSpectrumAnalyzer" type="Node2D" parent="."]
[node name="AudioEffectStereoEnhance" type="Node2D" parent="."]
[node name="AudioStream_CHILD" type="Node2D" parent="."]
[node name="AudioStreamGenerator" type="Node2D" parent="."]
[node name="AudioStreamMicrophone" type="Node2D" parent="."]
[node name="AudioStreamOGGVorbis" type="Node2D" parent="."]
[node name="AudioStreamRandomPitch" type="Node2D" parent="."]
[node name="AudioStreamSample" type="Node2D" parent="."]
[node name="BakedLightmapData" type="Node2D" parent="."]
[node name="BitMap" type="Node2D" parent="."]
[node name="Font_CHILD" type="Node2D" parent="."]
[node name="BitmapFont" type="Node2D" parent="."]
[node name="DynamicFont" type="Node2D" parent="."]
[node name="Shape_CHILD" type="Node2D" parent="."]
[node name="BoxShape" type="Node2D" parent="."]
[node name="CapsuleShape" type="Node2D" parent="."]
[node name="ConcavePolygonShape" type="Node2D" parent="."]
[node name="ConvexPolygonShape" type="Node2D" parent="."]
[node name="CylinderShape" type="Node2D" parent="."]
[node name="HeightMapShape" type="Node2D" parent="."]
[node name="PlaneShape" type="Node2D" parent="."]
[node name="RayShape" type="Node2D" parent="."]
[node name="SphereShape" type="Node2D" parent="."]
[node name="ButtonGroup" type="Node2D" parent="."]
[node name="Material_CHILD" type="Node2D" parent="."]
[node name="CanvasItemMaterial" type="Node2D" parent="."]
[node name="ParticlesMaterial" type="Node2D" parent="."]
[node name="ShaderMaterial" type="Node2D" parent="."]
[node name="StandardMaterial3D" type="Node2D" parent="."]
[node name="Shape2D_CHILD" type="Node2D" parent="."]
[node name="CapsuleShape2D" type="Node2D" parent="."]
[node name="CircleShape2D" type="Node2D" parent="."]
[node name="ConcavePolygonShape2D" type="Node2D" parent="."]
[node name="ConvexPolygonShape2D" type="Node2D" parent="."]
[node name="LineShape2D" type="Node2D" parent="."]
[node name="RayShape2D" type="Node2D" parent="."]
[node name="RectangleShape2D" type="Node2D" parent="."]
[node name="SegmentShape2D" type="Node2D" parent="."]
[node name="CryptoKey" type="Node2D" parent="."]
[node name="CubeMap" type="Node2D" parent="."]
[node name="Curve" type="Node2D" parent="."]
[node name="Curve2D" type="Node2D" parent="."]
[node name="Curve3D" type="Node2D" parent="."]
[node name="DynamicFontData" type="Node2D" parent="."]
[node name="EditorSettings_JUST_DONT" type="Node2D" parent="."]
[node name="EditorNode3DGizmoPlugin_CANT" type="Node2D" parent="."]
[node name="Environment" type="Node2D" parent="."]
[node name="GDNativeLibrary" type="Node2D" parent="."]
[node name="Script_CHILD" type="Node2D" parent="."]
[node name="GDScript_WORKAROUND" type="Node2D" parent="."]
[node name="NativeScript_CANT" type="Node2D" parent="."]
[node name="PluginScript_CANT" type="Node2D" parent="."]
[node name="VisualScript" type="Node2D" parent="."]
[node name="GIProbeData" type="Node2D" parent="."]
[node name="Gradient" type="Node2D" parent="."]
[node name="Image" type="Node2D" parent="."]
[node name="InputEvent_CHILD" type="Node2D" parent="."]
[node name="InputEventAction" type="Node2D" parent="."]
[node name="InputEventWithModifiers_CHILD" type="Node2D" parent="."]
[node name="InputEventGesture_CHILD" type="Node2D" parent="."]
[node name="InputEventMagnifyGesture" type="Node2D" parent="."]
[node name="InputEventPanGesture" type="Node2D" parent="."]
[node name="InputEventKey" type="Node2D" parent="."]
[node name="InputEventMouse_CHILD" type="Node2D" parent="."]
[node name="InputEventMouseButton" type="Node2D" parent="."]
[node name="InputEventMouseMotion" type="Node2D" parent="."]
[node name="InputEventJoypadButton" type="Node2D" parent="."]
[node name="InputEventJoypadMotion" type="Node2D" parent="."]
[node name="InputEventMIDI" type="Node2D" parent="."]
[node name="InputEventScreenDrag" type="Node2D" parent="."]
[node name="InputEventScreenTouch" type="Node2D" parent="."]
[node name="MeshLibrary" type="Node2D" parent="."]
[node name="MultiMesh" type="Node2D" parent="."]
[node name="NavigationMesh" type="Node2D" parent="."]
[node name="NavigationPolygon" type="Node2D" parent="."]
[node name="OccluderPolygon2D" type="Node2D" parent="."]
[node name="OpenSimplexNoise" type="Node2D" parent="."]
[node name="Translation" type="Node2D" parent="."]
[node name="PHashTranslation" type="Node2D" parent="."]
[node name="PackedDataContainer" type="Node2D" parent="."]
[node name="PackedScene" type="Node2D" parent="."]
[node name="Sky_CHILD" type="Node2D" parent="."]
[node name="PanoramaSky" type="Node2D" parent="."]
[node name="ProceduralSky" type="Node2D" parent="."]
[node name="PhysicsMaterial" type="Node2D" parent="."]
[node name="PolygonPathFinder" type="Node2D" parent="."]
[node name="RichTextEffect" type="Node2D" parent="."]
[node name="Shader" type="Node2D" parent="."]
[node name="VisualShader" type="Node2D" parent="."]
[node name="ShortCut" type="Node2D" parent="."]
[node name="Skin" type="Node2D" parent="."]
[node name="SpriteFrames" type="Node2D" parent="."]
[node name="StyleBox_CHILD" type="Node2D" parent="."]
[node name="StyleBoxEmpty_CANT" type="Node2D" parent="."]
[node name="StyleBoxFlat" type="Node2D" parent="."]
[node name="StyleBoxLine" type="Node2D" parent="."]
[node name="StyleBoxTexture" type="Node2D" parent="."]
[node name="TextFile_CANT" type="Node2D" parent="."]
[node name="TextureLayered_CANT" type="Node2D" parent="."]
[node name="Texture3D_CANT" type="Node2D" parent="."]
[node name="TextureArray_CANT" type="Node2D" parent="."]
[node name="Theme" type="Node2D" parent="."]
[node name="TileSet" type="Node2D" parent="."]
[node name="VideoStream_CHILD" type="Node2D" parent="."]
[node name="VideoStreamGDNative" type="Node2D" parent="."]
[node name="VideoStreamTheora" type="Node2D" parent="."]
[node name="VideoStreamWebm" type="Node2D" parent="."]
[node name="VisualScriptNode_CHILD" type="Node2D" parent="."]
[node name="VisualScriptBasicTypeConstant" type="Node2D" parent="."]
[node name="VisualScriptBuiltinFunc" type="Node2D" parent="."]
[node name="VisualScriptClassConstant" type="Node2D" parent="."]
[node name="VisualScriptComment" type="Node2D" parent="."]
[node name="VisualScriptLists_CANT" type="Node2D" parent="."]
[node name="VisualScriptComposeArray_CANT" type="Node2D" parent="."]
[node name="VisualScriptCondition_CANT" type="Node2D" parent="."]
[node name="VisualScriptConstant" type="Node2D" parent="."]
[node name="VisualScriptConstructor" type="Node2D" parent="."]
[node name="VisualScriptCustomNode_CANT" type="Node2D" parent="."]
[node name="VisualScriptDeconstruct" type="Node2D" parent="."]
[node name="VisualScriptEmitSignal" type="Node2D" parent="."]
[node name="VisualScriptEngineSingleton" type="Node2D" parent="."]
[node name="VisualScriptExpression_CANT" type="Node2D" parent="."]
[node name="VisualScriptFunction_CANT" type="Node2D" parent="."]
[node name="VisualScriptFunctionCall" type="Node2D" parent="."]
[node name="VisualScriptGlobalConstant" type="Node2D" parent="."]
[node name="VisualScriptIndexGet_CANT" type="Node2D" parent="."]
[node name="VisualScriptIndexSet_CANT" type="Node2D" parent="."]
[node name="VisualScriptInputAction" type="Node2D" parent="."]
[node name="VisualScriptIterator_CANT" type="Node2D" parent="."]
[node name="VisualScriptLocalVar" type="Node2D" parent="."]
[node name="VisualScriptLocalVarSet" type="Node2D" parent="."]
[node name="VisualScriptMathConstant" type="Node2D" parent="."]
[node name="VisualScriptOperator" type="Node2D" parent="."]
[node name="VisualScriptPreload" type="Node2D" parent="."]
[node name="VisualScriptPropertyGet" type="Node2D" parent="."]
[node name="VisualScriptPropertySet" type="Node2D" parent="."]
[node name="VisualScriptResourcePath" type="Node2D" parent="."]
[node name="VisualScriptReturn" type="Node2D" parent="."]
[node name="VisualScriptSceneNode" type="Node2D" parent="."]
[node name="VisualScriptSceneTree_CANT" type="Node2D" parent="."]
[node name="VisualScriptSelect" type="Node2D" parent="."]
[node name="VisualScriptSelf_CANT" type="Node2D" parent="."]
[node name="VisualScriptSequence" type="Node2D" parent="."]
[node name="VisualScriptSubCall_CANT" type="Node2D" parent="."]
[node name="VisualScriptSwitch_CANT" type="Node2D" parent="."]
[node name="VisualScriptTypeCast" type="Node2D" parent="."]
[node name="VisualScriptVariableGet" type="Node2D" parent="."]
[node name="VisualScriptWhile_CANT" type="Node2D" parent="."]
[node name="VisualScriptYield" type="Node2D" parent="."]
[node name="VisualScriptYieldSignal" type="Node2D" parent="."]
[node name="VisualShaderNode_CHILD" type="Node2D" parent="."]
[node name="VisualShaderNodeBooleanConstant" type="Node2D" parent="."]
[node name="VisualShaderNodeUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeBooleanUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeColorUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeTextureUniform" type="Node2D" parent="."]
[node name="VisualShaderNodeTextureUniformTriplanar_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVec3Uniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeColorConstant" type="Node2D" parent="."]
[node name="VisualShaderNodeColorFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeColorOp" type="Node2D" parent="."]
[node name="VisualShaderNodeCompare" type="Node2D" parent="."]
[node name="VisualScriptVariableSet" type="Node2D" parent="."]
[node name="VisualShaderNodeCubeMap" type="Node2D" parent="."]
[node name="VisualShaderNodeCubeMapUniform_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeCustom_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeDeterminant_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeDotProduct_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeGroupBase" type="Node2D" parent="."]
[node name="VisualShaderNodeExpression" type="Node2D" parent="."]
[node name="VisualShaderNodeGlobalExpression" type="Node2D" parent="."]
[node name="VisualShaderNodeFaceForward_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeFresnel_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeIf_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeInput" type="Node2D" parent="."]
[node name="VisualShaderNodeIs" type="Node2D" parent="."]
[node name="VisualShaderNodeOuterProduct_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeOutput_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarClamp_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarConstant" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarDerivativeFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarInterp_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarOp" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarSmoothStep_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeSwitch_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeScalarSwitch_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeTexture" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformCompose_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformConstant" type="Node2D" parent="."]
[node name="VisualShaderNodeDecompose_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformMult" type="Node2D" parent="."]
[node name="VisualShaderNodeTransformVecMult" type="Node2D" parent="."]
[node name="VisualShaderNodeVec3Constant" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorClamp_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorCompose_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorDecompose_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorDerivativeFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorDistance_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorFunc" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorInterp_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorLen_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorOp" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorRefract_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorScalarMix_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorScalarSmoothStep_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorScalarStep_CANT" type="Node2D" parent="."]
[node name="VisualShaderNodeVectorSmoothStep_CANT" type="Node2D" parent="."]
[node name="World" type="Node2D" parent="."]
[node name="World2D" type="Node2D" parent="."]
[node name="X509Certificate" type="Node2D" parent="."]
[node name="AnimationTrackEditPlugin_CANT" type="Node2D" parent="."]
[node name="AudioEffectInstance_CANT" type="Node2D" parent="."]
[node name="AudioEffectAmplifyInstance_CANT" type="Node2D" parent="."]
[node name="AudioEffectEQInstance_CANT" type="Node2D" parent="."]
[node name="AudioEffectPannerInstance_CANT" type="Node2D" parent="."]
[node name="AudioEffectSpectrumAnalyzerInstance_CANT" type="Node2D" parent="."]
[node name="AudioStreamPlayback_CANT" type="Node2D" parent="."]
[node name="AudioStreamPlaybackResampled_CANT" type="Node2D" parent="."]
[node name="AudioStreamGeneratorPlayback_CANT" type="Node2D" parent="."]
[node name="Camera3DFeed" type="Node2D" parent="."]
[node name="CharFXTransform" type="Node2D" parent="."]
[node name="ConfigFile" type="Node2D" parent="."]
[node name="Crypto" type="Node2D" parent="."]
[node name="Directory" type="Node2D" parent="."]
[node name="EditorExportPlugin_CANT" type="Node2D" parent="."]
[node name="EditorFeatureProfile_CANT" type="Node2D" parent="."]
[node name="ResourceImporter_CANT2" type="Node2D" parent="."]
[node name="EditorImportPlugin_CANT" type="Node2D" parent="."]
[node name="ResourceImporterOGGVorbis_CANT" type="Node2D" parent="."]
[node name="EditorInspectorPlugin_CANT" type="Node2D" parent="."]
[node name="EditorResourceConversionPlugin_CANT" type="Node2D" parent="."]
[node name="EditorResourcePreviewGenerator_CANT" type="Node2D" parent="."]
[node name="EditorSceneImporter_CANT" type="Node2D" parent="."]
[node name="EditorSceneImporterAssimp_CANT" type="Node2D" parent="."]
[node name="EditorScenePostImport_CANT" type="Node2D" parent="."]
[node name="EditorScript_CANT" type="Node2D" parent="."]
[node name="Node3DGizmo_CANT" type="Node2D" parent="."]
[node name="EditorNode3DGizmo_CANT" type="Node2D" parent="."]
[node name="EncodedObjectAsID" type="Node2D" parent="."]
[node name="Expression" type="Node2D" parent="."]
[node name="File" type="Node2D" parent="."]
[node name="FuncRef_CANT" type="Node2D" parent="."]
[node name="GDNative" type="Node2D" parent="."]
[node name="GDScriptFunctionState_CANT" type="Node2D" parent="."]
[node name="GDScriptNativeClass_CANT" type="Node2D" parent="."]
[node name="HTTPClient" type="Node2D" parent="."]
[node name="HashingContext" type="Node2D" parent="."]
[node name="JSONParseResult" type="Node2D" parent="."]
[node name="KinematicCollision" type="Node2D" parent="."]
[node name="KinematicCollision2D" type="Node2D" parent="."]
[node name="Marshalls_CANT" type="Node2D" parent="."]
[node name="MeshDataTool" type="Node2D" parent="."]
[node name="MultiplayerAPI" type="Node2D" parent="."]
[node name="PacketPeer_CHILD" type="Node2D" parent="."]
[node name="NetworkedMultiplayerPeer_CHILD" type="Node2D" parent="."]
[node name="MultiplayerPeerGDNative_CANT" type="Node2D" parent="."]
[node name="NetworkedMultiplayerENet" type="Node2D" parent="."]
[node name="WebRTCMultiplayer" type="Node2D" parent="."]
[node name="WebSocketMultiplayerPeer_CHILD" type="Node2D" parent="."]
[node name="WebSocketClient" type="Node2D" parent="."]
[node name="WebSocketServer_SPAM" type="Node2D" parent="."]
[node name="PacketPeerGDNative_CANT" type="Node2D" parent="."]
[node name="PacketPeerStream" type="Node2D" parent="."]
[node name="PacketPeerUDP" type="Node2D" parent="."]
[node name="WebRTCDataChannel_CANT" type="Node2D" parent="."]
[node name="WebRTCDataChannelGDNative_CANT" type="Node2D" parent="."]
[node name="WebSocketPeer" type="Node2D" parent="."]
[node name="Mutex" type="Node2D" parent="."]
[node name="PCKPacker" type="Node2D" parent="."]
[node name="PackerDatacontainerRef_CANT" type="Node2D" parent="."]
[node name="Physics2DShapeQueryParameters" type="Node2D" parent="."]
[node name="Physics2DShapeQueryResult_CANT" type="Node2D" parent="."]
[node name="Physics2DTestMotionResult" type="Node2D" parent="."]
[node name="PhysicsShapeQueryParameters" type="Node2D" parent="."]
[node name="PhysicsShapeQueryResult_CANT" type="Node2D" parent="."]
[node name="RandomNumberGenerator" type="Node2D" parent="."]
[node name="RegEx" type="Node2D" parent="."]
[node name="RegExMatch" type="Node2D" parent="."]
[node name="ResourceFormatLoader_CANT" type="Node2D" parent="."]
[node name="ResourceFormatLoaderCrypto_CANT" type="Node2D" parent="."]
[node name="ResourceFormatSaver_CANT" type="Node2D" parent="."]
[node name="ResourceFormatSaverCrypto_CANT" type="Node2D" parent="."]
[node name="ResourceImporter_CANT" type="Node2D" parent="."]
[node name="ResourveInteractiveLoader_CANT" type="Node2D" parent="."]
[node name="SceneState_CANT" type="Node2D" parent="."]
[node name="SceneTreeTimer_CANT" type="Node2D" parent="."]
[node name="Semaphore_DONT_USE" type="Node2D" parent="."]
[node name="SkinReference_CANT" type="Node2D" parent="."]
[node name="Node3DVelocityTracker" type="Node2D" parent="."]
[node name="StreamPeer_CHILD" type="Node2D" parent="."]
[node name="StreamPeerBuffer" type="Node2D" parent="."]
[node name="StreamPeerGDNative_CANT" type="Node2D" parent="."]
[node name="StreamPeerSSL" type="Node2D" parent="."]
[node name="StreamPeerTCP" type="Node2D" parent="."]
[node name="SurfaceTool" type="Node2D" parent="."]
[node name="TCP_Server" type="Node2D" parent="."]
[node name="Thread" type="Node2D" parent="."]
[node name="TriangleMesh_CANT" type="Node2D" parent="."]
[node name="UPNP" type="Node2D" parent="."]
[node name="UPNPDevice" type="Node2D" parent="."]
[node name="VisualScriptFunctionState" type="Node2D" parent="."]
[node name="WeakRef" type="Node2D" parent="."]
[node name="WebRTCPeerConnection" type="Node2D" parent="."]
[node name="WebRTCPeerConnectionGDNative_CANT" type="Node2D" parent="."]
[node name="XMLParser" type="Node2D" parent="."]
[node name="ARVRPositionalTracker_LEAK" type="Node2D" parent="."]
[node name="ARVRServer_CANT" type="Node2D" parent="."]
[node name="AudioServer_CANT" type="Node2D" parent="."]
[node name="PhysicsDirectBodyState_CANT" type="Node2D" parent="."]
[node name="BulletPhysicsDirectBodyState_CANT" type="Node2D" parent="."]
[node name="PhysicsDirectSpaceState_CANT" type="Node2D" parent="."]
[node name="BulletPhysicsDirectSpaceState_CANT" type="Node2D" parent="."]
[node name="PhysicsServer_CANT" type="Node2D" parent="."]
[node name="BulletPhysicsServer_CANT" type="Node2D" parent="."]
[node name="Camera3DServer_CANT" type="Node2D" parent="."]
[node name="ClassDB_CANT" type="Node2D" parent="."]
[node name="EditorFileSystemDirectory_CANT" type="Node2D" parent="."]
[node name="EditorNavigationMeshGenerator_LEAK" type="Node2D" parent="."]
[node name="EditorSelection_CANT" type="Node2D" parent="."]
[node name="EditorVCSInterface_CANT" type="Node2D" parent="."]
[node name="Engine_CANT" type="Node2D" parent="."]
[node name="Geometry_CANT" type="Node2D" parent="."]
[node name="IP_CANT" type="Node2D" parent="."]
[node name="IP_Unix_CANT" type="Node2D" parent="."]
[node name="Input_CANT" type="Node2D" parent="."]
[node name="InputDefault_CANT" type="Node2D" parent="."]
[node name="InputMap_CANT" type="Node2D" parent="."]
[node name="JSON_CANT" type="Node2D" parent="."]
[node name="JSONRPC_LEAK" type="Node2D" parent="."]
[node name="JavaScript_CANT" type="Node2D" parent="."]
[node name="MainLoop_LEAK" type="Node2D" parent="."]
[node name="SceneTree\?" type="Node2D" parent="."]
[node name="OS_CANT" type="Node2D" parent="."]
[node name="Performance_CANT" type="Node2D" parent="."]
[node name="Physics2DDirectBodyState_CANT" type="Node2D" parent="."]
[node name="Physics2DDirectBodyStateSW_CANT" type="Node2D" parent="."]
[node name="Physics2DDirectSpaceState_CANT" type="Node2D" parent="."]
[node name="Physics2DDirectSpaceStateSW_CANT" type="Node2D" parent="."]
[node name="Physics2DServer_CANT" type="Node2D" parent="."]
[node name="Physics2DServerSW_CANT" type="Node2D" parent="."]
[node name="ProjectSettings_JUST_DONT" type="Node2D" parent="."]
[node name="ResourceLoader_CANT" type="Node2D" parent="."]
[node name="ResourceSaver_CANT" type="Node2D" parent="."]
[node name="TranslationServer_SERVER" type="Node2D" parent="."]
[node name="TreeItem_CANT" type="Node2D" parent="."]
[node name="UndoRedo_LEAK" type="Node2D" parent="."]
[node name="VisualScriptEditor_CANT" type="Node2D" parent="."]
[node name="VisualServer_CANT" type="Node2D" parent="."]
[node name="AABB_MOVED" type="Node2D" parent="."]
[node name="Array" type="Node2D" parent="."]
[node name="Basis" type="Node2D" parent="."]
[node name="Color" type="Node2D" parent="."]
[node name="Dictionary" type="Node2D" parent="."]
[node name="Nil_CANT" type="Node2D" parent="."]
[node name="NodePath" type="Node2D" parent="."]
[node name="Plane" type="Node2D" parent="."]
[node name="PoolByteArray" type="Node2D" parent="."]
visible = false
[node name="PoolColorArray" type="Node2D" parent="."]
visible = false
[node name="PoolIntArray" type="Node2D" parent="."]
visible = false
[node name="PoolRealArray" type="Node2D" parent="."]
visible = false
[node name="PoolStringArray" type="Node2D" parent="."]
visible = false
[node name="PoolVector2Array" type="Node2D" parent="."]
visible = false
[node name="PoolVector3Array" type="Node2D" parent="."]
visible = false
[node name="Quat" type="Node2D" parent="."]
[node name="RID" type="Node2D" parent="."]
[node name="Rect2" type="Node2D" parent="."]
[node name="String" type="Node2D" parent="."]
[node name="Transform" type="Node2D" parent="."]
[node name="Transform2D" type="Node2D" parent="."]
[node name="Variant_CANT" type="Node2D" parent="."]
[node name="Vector2" type="Node2D" parent="."]
[node name="Vector3" type="Node2D" parent="."]
[node name="bool" type="Node2D" parent="."]
[node name="float" type="Node2D" parent="."]
[node name="int" type="Node2D" parent="."]

View File

@ -1,9 +1,6 @@
[gd_scene load_steps=12 format=2]
[gd_scene load_steps=10 format=2]
[ext_resource path="res://MainScenes/Control.tscn" type="PackedScene" id=1]
[ext_resource path="res://MainScenes/Node3D.tscn" type="PackedScene" id=2]
[ext_resource path="res://MainScenes/Node2D.tscn" type="PackedScene" id=3]
[ext_resource path="res://MainScenes/Other.tscn" type="PackedScene" id=4]
[ext_resource path="res://Nodes/Nodes.tscn" type="PackedScene" id=1]
[ext_resource path="res://AIO/Operators/Operators.tscn" type="PackedScene" id=5]
[ext_resource path="res://Physics/2D/Physics2D.tscn" type="PackedScene" id=6]
[ext_resource path="res://Rendering/Lights3D/Lights3D.tscn" type="PackedScene" id=7]
@ -11,19 +8,10 @@
[ext_resource path="res://Physics/3D/Physics3D.tscn" type="PackedScene" id=9]
[ext_resource path="res://Text/Text.tscn" type="PackedScene" id=10]
[ext_resource path="res://AIO/AllNodes/ALL.tscn" type="PackedScene" id=11]
[ext_resource path="res://ReparentingDeleting/ReparentingDeleting.tscn" type="PackedScene" id=12]
[node name="All" type="Node"]
[node name="MainScenes" type="Node" parent="."]
[node name="Node3D" parent="MainScenes" instance=ExtResource( 2 )]
[node name="Node2D" parent="MainScenes" instance=ExtResource( 3 )]
[node name="Other" parent="MainScenes" instance=ExtResource( 4 )]
[node name="Control" parent="MainScenes" instance=ExtResource( 1 )]
[node name="Physics" type="Node" parent="."]
[node name="Physics2D" parent="Physics" instance=ExtResource( 6 )]
@ -38,8 +26,12 @@
[node name="Text" parent="." instance=ExtResource( 10 )]
[node name="ReparentingDeleting" parent="." instance=ExtResource( 12 )]
[node name="AIO" type="Node" parent="."]
[node name="ALL" parent="AIO" instance=ExtResource( 11 )]
[node name="Node2D" parent="AIO" instance=ExtResource( 5 )]
[node name="MainScenes" parent="." instance=ExtResource( 1 )]

View File

@ -8,20 +8,17 @@ var last_time : int
const PRINT_TIME_EVERY_MILISECONDS : int = 5000
var time_to_print_next_time : int = PRINT_TIME_EVERY_MILISECONDS
var time_to_show: int = 30 * 1000 # How long test works in miliseconds
var time_to_show: int = 25 * 1000 # How long test works in miliseconds
var time_for_each_step : int = -1
# Each scene runs alone
const alone_steps : Array = [
"res://MainScenes/Control.tscn",
"res://MainScenes/Node2D.tscn",
"res://MainScenes/Other.tscn",
"res://MainScenes/Node3D.tscn",
"res://Physics/2D/Physics2D.tscn",
"res://Physics/3D/Physics3D.tscn",
"res://Rendering/Lights2D/Lights2D.tscn",
"res://Rendering/Lights3D/Lights3D.tscn",
"res://Nodes/Nodes.tscn",
"res://ReparentingDeleting/ReparentingDeleting.tscn",
"res://Text/Text.tscn",
]
@ -30,27 +27,33 @@ const alone_steps : Array = [
# This should be put regression scripts which needs to run only once
const all_in_one : Array = [
"res://AIO/Operators/Operators.tscn",
#"res://AIO/AllNodes/ALL.tscn",
"res://AutomaticBugs/FunctionExecutor.tscn",
#"res://AIO/AllNodes/ALL.tscn", # Take too much time - opens ~ 20 seconds in CI inside xvfb-run
]
func _init():
func _ready():
start_time = OS.get_ticks_msec()
# In case when user doesn't provide time
time_for_each_step = time_to_show / (alone_steps.size() + 1)
var time_set : bool = false
for argument in OS.get_cmdline_args():
if argument.is_valid_float(): # Ignore all non numeric arguments
time_set = true
time_to_show = int(argument.to_float() * 1000)
time_for_each_step = time_to_show / (alone_steps.size() + 1)
print("Time set to: " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size() + 1) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
time_for_each_step = time_to_show / (alone_steps.size())
print("Time set to: " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size()) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
break # We only need to take first argument
# In case when user doesn't provide time
if !time_set:
time_for_each_step = time_to_show / (alone_steps.size())
print("Default time - " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size()) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
func _process(delta: float) -> void:
var current_run_time : int = OS.get_ticks_msec() - start_time
if current_run_time > time_to_print_next_time:
while current_run_time > time_to_print_next_time: # This will allow to properly regulate time under heavy operations(e.g. Thread sanitizer)
print("Test is running now " + str(int(time_to_print_next_time / 1000)) + " seconds")
time_to_print_next_time += PRINT_TIME_EVERY_MILISECONDS

303
AutomaticBugs/BasicData.gd Normal file
View File

@ -0,0 +1,303 @@
extends Node
var properties_exceptions : Array = [
"user_data",
"config_file",
"",
"",
]
var function_exceptions : Array = [
"play",
#GODOT 4.0
"create_from_image",
"set_point_position",
"connect", # OTHER THINGS
"set_base",
"particles_collision_set_height_field_resolution",
"set_deconstruct_type",
"set_constant_type",
"set_enabled_inputs",
"load_threaded_request",
"get_sdfgi_max_distance",
"draw_multiline_string",
"draw_font",
"create",
"add_string",
"draw_string",
"set_dropcap",
"set_sdfgi_max_distance",
"get_inverse_inertia_tensor",
"generate_lod",
"optimize_indices_for_cache",
"add_file",
"set_texture",
"_activate",
"add_node", #GH 46012
"_set_user_data",
"create_from_mesh",
# They exists without assigment like Class.method, because they may be a parent of other objects and children also should have disabled child.method, its children also etc. which is too much to do
"_editor_settings_changed",# GH 45979
"_submenu_timeout", # GH 45981
"set_config_file", # GH 45997
"_gui_input", # GH 45998
"_unhandled_key_input", # GH 45998
"navpoly_add", #GH 43288
"_thread_done", #GH 46000
"generate", #GH 46001
"_proximity_group_broadcast", #GH 46002
"_direct_state_changed", #GH 46003
"create_from", #GH 46004
"create_from_blend_shape", #GH 46004
"append_from", #GH 46004
"get_column_width", #GH 46005
"_unhandled_input", # TODO
"_input", # TODO
"_set_tile_data", #GH 46015
"_edit_set_state", #GH 46017
"_edit_set_position", #GH 46018
"_edit_set_rect", #GH 46018
"get", #GH 46019
"instance_has", #GH 46020
"get_var", #GH 46096
"force_drag", #GH 46114
"set_script", #GH 46120
"getvar", #GH 46019
"get_available_chars", #GH 46118
"set_primary_interface", #GH 46180
"add_feed", #GH 46181
"open_midi_inputs", #GH 46183
"get_unix_time_from_datetime", #GH 46188
"set_icon", #GH 46189
"get_latin_keyboard_variant", #GH TODO Memory Leak
"set_editor_hint", #GH 46252
"get_item_at_position", #TODO hard to find
"set_probe_data", #GH 46570
"_range_click_timeout",
"draw", #GH 46648
"get_indexed", #GH 46019
"set_RGB_img", #GH 46724
"_set_RGB_img", #GH 46724
"_set_YCbCr_img", #GH 46724
"set_YCbCr_img", #GH 46724
"set_YCbCr_imgs", #GH 46724
"_set_YCbCr_imgs", #GH 46724
"_vp_input", # TODO
"_vp_unhandled_input", # TODO
"remove_joy_mapping", #GH 46754
"add_joy_mapping", #GH 46754
"add_vertex", #GH 47066
"collide", #GH 46137
"collide_and_get_contacts", #GH 46137
"collide_with_motion", #GH 46137
"collide_with_motion_and_get_contacts", #GH 46137
# TODO Check this later
"propagate_notification",
"notification",
# TODO Adds big spam when i>100 - look for possiblity to
"add_sphere",
"_update_inputs", # Cause big spam with add_input
# Spam when i~1000 - change to specific
"update_bitmask_region",
# Slow Function
"_update_sky",
# Undo/Redo function which doesn't provide enough information about types of objects, probably due vararg(variable size argument)
"add_do_method",
"add_undo_method",
# Do not save files and create files and folders
"pck_start",
"save",
"save_png",
"save_to_wav",
"save_to_file",
"make_dir",
"make_dir_recursive",
"save_encrypted",
"save_encrypted_pass",
"save_exr",
"dump_resources_to_file",
"dump_memory_to_file",
# This also allow to save files
"open",
"open_encrypted",
"open_encrypted_with_pass",
"open_compressed",
# Do not warp mouse
"warp_mouse",
"warp_mouse_position",
# OS
"kill",
"shell_open",
"execute",
"delay_usec",
"delay_msec",
"alert", # Stupid alert window opens
# Godot Freeze
"wait_to_finish",
"accept_stream",
"connect_to_stream",
"discover",
"wait",
"debug_bake",
"bake",
"_create", # TODO Check
"set_gizmo", # Stupid function, needs as parameter an object which can't be instanced # TODO, create issue to hide it
# Spams Output
"print_tree",
"print_stray_nodes",
"print_tree_pretty",
"print_all_textures_by_size",
"print_all_resources",
"print_resources_in_use",
# Do not call other functions
"_call_function",
"call",
"call_deferred",
"callv",
# Looks like a bug in FuncRef, probably but not needed, because it call other functions
"call_func",
# Too dangerous, because add, mix and remove randomly nodes and objects
"replace_by",
"create_instance",
"set_owner",
"set_root_node",
"instance",
"init_ref",
"reference",
"unreference",
"new",
"duplicate",
"queue_free",
"free",
"remove_and_skip",
"remove_child",
"move_child",
"raise",
"add_child",
"add_child_below_node",
]
# List of slow functions, which may frooze project(not simple executing each function alone)
var slow_functions : Array = [
"interpolate_baked",
"get_baked_length",
"get_baked_points",
"get_closest_offset",
"get_closest_point", # Only Curve, but looks that a lot of other classes uses this
"get_baked_up_vectors",
"interpolate_baked_up_vector",
"tessellate",
"get_baked_tilts",
"set_enabled_inputs",
"grow_mask",
"force_update_transform",
# In 3d view some options are really slow, needs to be limited
"set_rings",
"set_amount", # Particles
# Just a little slow functions
"is_enabler_enabled",
"set_enabler",
"get_aabb",
"set_aabb",
"is_on_screen"
]
# Specific classes which are initialized in specific way e.g. var undo_redo = get_undo_redo() instead var undo_redo = UndoRedo.new()
var only_instance : Array = [
"UndoRedo",
"Object",
"JSONRPC",
"MainLoop",
"SceneTree",
"ARVRPositionalTracker",
]
var invalid_signals : Array = [
"multi_selected",
"item_collapsed",
"button_pressed",
"",
"",
"",
# Probably Vararg
"tween_step",
"tween_completed",
"tween_started",
"data_channel_received",
"",
]
# Used only in ValueCreator
var disabled_classes : Array = [
"ProjectSettings", # Don't mess with project settings, because they can broke entire your workflow
"EditorSettings", # Also don't mess with editor settings
"_OS", # This may sometimes crash compositor, but it should be tested manually sometimes
# Godot 4.0 Leaks, crashes etc.
"World3D",
"GPUParticlesCollisionHeightField", #4.0 Crash
"NavigationAgent2D",
"NavigationAgent3D",
"Image",
"GIProbe",
# Just don't use these because they are not normal things
"_Thread",
"_Semaphore",
"_Mutex",
"Image",
"PhysicalSkyMaterial", # Slow
"ProceduralSkyMaterial", # Slow
"PanoramaSkyMaterial", # Slow
]
# Return all available classes to instance and test
func get_list_of_available_classes(must_be_instantable : bool = true) -> Array:
var full_class_list : Array = Array(ClassDB.get_class_list())
var classes : Array = []
full_class_list.sort()
var c = 0
var rr = 0
for name_of_class in full_class_list:
rr += 1
if name_of_class in disabled_classes:
continue
# if rr < 550:
# continue
if name_of_class.find("Server") != -1 && !ClassDB.is_parent_class(name_of_class,"Reference"):
continue
if name_of_class.find("Editor") != -1 || name_of_class == "GLTFMesh": # TODO not sure about it, GLTFMesh is Editor node
continue
# Enable This for RegressionTestProject, to get visual info about what is going on the screen, because without it different nodes can broke view
if !ClassDB.is_parent_class(name_of_class, "Node") && !ClassDB.is_parent_class(name_of_class, "Reference"):
continue
if !must_be_instantable || ClassDB.can_instance(name_of_class):
classes.push_back(name_of_class)
c+= 1
print(str(c) + " choosen classes from all " + str(full_class_list.size()) + " classes.")
return classes

View File

@ -0,0 +1,157 @@
extends Node
var debug_print: bool = true
var add_to_tree: bool = true # Adds nodes to tree
var use_parent_methods: bool = false # Allows Node2D use Node methods etc. - it is a little slow option which rarely shows
var use_always_new_object: bool = true # Don't allow to "remeber" other function effects
func _ready() -> void:
tests_all_functions()
# Test all functions
func tests_all_functions() -> void:
for name_of_class in BasicData.get_list_of_available_classes():
# Instance object to be able to execute on it specific functions and later delete to prevent memory leak if it is a Node
var object: Object = ClassDB.instance(name_of_class)
assert(object != null) # This should be checked before when collectiong functions
if add_to_tree:
if object is Node:
add_child(object)
var method_list: Array = ClassDB.class_get_method_list(name_of_class, !use_parent_methods)
## Exception
for exception in BasicData.function_exceptions:
var index: int = -1
for method_index in range(method_list.size()):
if method_list[method_index].get("name") == exception:
index = method_index
break
if index != -1:
method_list.remove(index)
if debug_print:
print("############### CLASS ############### - " + name_of_class)
for _i in range(1):
for method_data in method_list:
# Function is virtual, so we just skip it
if method_data.get("flags") == method_data.get("flags") | METHOD_FLAG_VIRTUAL:
continue
if debug_print:
print(method_data.get("name"))
var arguments: Array = return_for_all(method_data)
object.callv(method_data.get("name"), arguments)
for argument in arguments:
if argument is Object:
assert(argument != null)
if argument is Node:
argument.queue_free()
elif argument is Object && !(argument is Reference):
argument.free()
if use_always_new_object:
if object is Object:
assert(object != null)
if object is Node:
object.queue_free()
elif object is Object && !(object is Reference):
object.free()
object = ClassDB.instance(name_of_class)
if object is Node: # Just prevent memory leak
object.queue_free()
elif object is Object && !(object is Reference):
object.free()
func return_for_all(method_data: Dictionary) -> Array:
var arguments_array: Array = []
ValueCreator.number = 100
ValueCreator.random = false
ValueCreator.should_be_always_valid = false
for argument in method_data.get("args"):
var type = argument.get("type")
if type == TYPE_NIL: # Looks that this means VARIANT not null
arguments_array.push_back(false) # TODO Add some randomization
# assert(false)
elif type == TYPE_MAX:
assert(false)
elif type == TYPE_AABB:
arguments_array.push_back(ValueCreator.get_aabb())
elif type == TYPE_ARRAY:
arguments_array.push_back(ValueCreator.get_array())
elif type == TYPE_BASIS:
arguments_array.push_back(ValueCreator.get_basis())
elif type == TYPE_BOOL:
arguments_array.push_back(ValueCreator.get_bool())
elif type == TYPE_COLOR:
arguments_array.push_back(ValueCreator.get_color())
elif type == TYPE_COLOR_ARRAY:
arguments_array.push_back(PackedColorArray([]))
elif type == TYPE_DICTIONARY:
arguments_array.push_back(ValueCreator.get_dictionary())
elif type == TYPE_INT:
arguments_array.push_back(ValueCreator.get_int())
elif type == TYPE_INT32_ARRAY:
arguments_array.push_back(PackedInt32Array([]))
elif type == TYPE_INT64_ARRAY:
arguments_array.push_back(PackedInt64Array([]))
elif type == TYPE_NODE_PATH:
arguments_array.push_back(ValueCreator.get_nodepath())
elif type == TYPE_OBJECT:
arguments_array.push_back(ValueCreator.get_object(argument.get("class_name")))
elif type == TYPE_PLANE:
arguments_array.push_back(ValueCreator.get_plane())
elif type == TYPE_QUAT:
arguments_array.push_back(ValueCreator.get_quat())
elif type == TYPE_RAW_ARRAY:
arguments_array.push_back(PackedByteArray([]))
elif type == TYPE_FLOAT:
arguments_array.push_back(ValueCreator.get_float())
elif type == TYPE_FLOAT32_ARRAY:
arguments_array.push_back(PackedFloat32Array([]))
elif type == TYPE_FLOAT64_ARRAY:
arguments_array.push_back(PackedFloat64Array([]))
elif type == TYPE_RECT2:
arguments_array.push_back(ValueCreator.get_rect2())
elif type == TYPE_RECT2I:
arguments_array.push_back(ValueCreator.get_rect2i())
elif type == TYPE_RID:
arguments_array.push_back(RID())
elif type == TYPE_STRING:
arguments_array.push_back(ValueCreator.get_string())
elif type == TYPE_STRING_NAME:
arguments_array.push_back(StringName(ValueCreator.get_string()))
elif type == TYPE_STRING_ARRAY:
arguments_array.push_back(PackedStringArray([]))
elif type == TYPE_TRANSFORM:
arguments_array.push_back(ValueCreator.get_transform())
elif type == TYPE_TRANSFORM2D:
arguments_array.push_back(ValueCreator.get_transform2D())
elif type == TYPE_VECTOR2:
arguments_array.push_back(ValueCreator.get_vector2())
elif type == TYPE_VECTOR2I:
arguments_array.push_back(ValueCreator.get_vector2i())
elif type == TYPE_VECTOR2_ARRAY:
arguments_array.push_back(PackedVector2Array([]))
elif type == TYPE_VECTOR3:
arguments_array.push_back(ValueCreator.get_vector3())
elif type == TYPE_VECTOR3I:
arguments_array.push_back(ValueCreator.get_vector3i())
elif type == TYPE_VECTOR3_ARRAY:
arguments_array.push_back(PackedVector3Array([]))
elif type== TYPE_CALLABLE:
arguments_array.push_back(Callable(BoxMesh.new(),"Rar"))
else:
assert(false) # Missed some types, add it
if debug_print:
print("Parameters " + str(arguments_array))
return arguments_array

View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://AutomaticBugs/FunctionExecutor.gd" type="Script" id=1]
[node name="FunctionExecutor" type="Node2D"]
script = ExtResource( 1 )

View File

@ -0,0 +1,363 @@
extends Node
var number: float = 0.0
var random: bool = false
var should_be_always_valid: bool = true # Generate only valid values e.g. to Node generate Node2D instead
var max_array_size: int = 15
func _ready() -> void:
randomize()
func get_int() -> int:
if random:
if int(number) == 0:
return 0
return (randi() % int(number)) - int(number / 2.0)
else:
return int(number)
func get_int_string() -> String:
if random:
if int(number) == 0:
return "0"
return "(randi() % int(number)) - int(number / 2.0)".replace("number",str(number))
else:
return str(int(number))
func get_float() -> float:
if random:
return (randf() * number) - (number / 2.0)
else:
return number
func get_float_string() -> String:
if random:
return "(randf() * number) - (number / 2.0)".replace("number", str(number))
else:
return str(number)
func get_bool() -> bool:
if random:
if number < 2:
return bool()
return bool(randi() % 2)
else:
return bool()
func get_bool_string() -> String:
if random:
if number < 2:
return str(bool())
return "bool(randi() % 2)"
else:
return str(bool())
func get_vector2() -> Vector2:
return Vector2(get_float(), get_float())
func get_vector2i() -> Vector2i:
return Vector2i(get_int(), get_int())
func get_vector2_string() -> String:
return "Vector2(" + get_float_string() + ", " + get_float_string() + ")"
func get_vector2i_string() -> String:
return "Vector2i(" + get_int_string() + ", " + get_int_string() + ")"
func get_vector3() -> Vector3:
return Vector3(get_float(),get_float(),get_float())
func get_vector3i() -> Vector3i:
return Vector3i(get_int(),get_int(),get_int())
func get_vector3i_string() -> String:
return "Vector3i(" + get_int_string() + ", " + get_int_string()+ ", " + get_int_string() + ")"
func get_vector3_string() -> String:
return "Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ")"
func get_aabb() -> AABB:
return AABB(get_vector3(),get_vector3())
func get_aabb_string() -> String:
return "AABB(" + get_vector3_string() + ", " + get_vector3_string() + ")"
func get_transform() -> Transform:
return Transform(get_vector3(),get_vector3(),get_vector3(),get_vector3())
func get_transform_string() -> String:
return "Transform(" + get_vector3_string() + ", " + get_vector3_string() + ", " + get_vector3_string() + ", " + get_vector3_string() + ")"
func get_transform2D() -> Transform2D:
return Transform2D(get_vector2(),get_vector2(),get_vector2())
func get_transform2D_string() -> String:
return "Transform2D(" + get_vector2_string() + ", " + get_vector2_string()+ ", " + get_vector2_string() + ")"
func get_plane() -> Plane:
return Plane(get_vector3(),get_vector3(),get_vector3())
func get_plane_string() -> String:
return "Plane(" + get_vector3_string() + ", " + get_vector3_string()+ ", " + get_vector3_string() + ")"
func get_quat() -> Quat:
return Quat(get_vector3())
func get_quat_string() -> String:
return "Quat(" + get_vector3_string() + ")"
func get_basis() -> Basis:
return Basis(get_vector3())
func get_basis_string() -> String:
return "Basis(" + get_vector3_string() + ")"
func get_rect2() -> Rect2:
return Rect2(get_vector2(), get_vector2())
func get_rect2i() -> Rect2i:
return Rect2i(get_vector2i(), get_vector2i())
func get_rect2_string() -> String:
return "Rect2(" + get_vector2_string() + ", " + get_vector2_string()+ ")"
func get_rect2i_string() -> String:
return "Rect2i(" + get_vector2i_string() + ", " + get_vector2i_string()+ ")"
func get_color() -> Color:
return Color(get_float(), get_float(),get_float())
func get_color_string() -> String:
return "Color(" + get_float_string() + ", " + get_float_string()+ ", " + get_float_string() + ")"
# TODO
func get_string() -> String:
if random:
if randi() % 2 == 0:
return String(".")
else:
return str(randi())
return String()
func get_string_string() -> String:
if random:
if randi() % 2 == 0:
return "\".\""
else:
return "\"randi())\""
return "\"\""
# TODO
func get_nodepath() -> NodePath:
return NodePath(get_string())
# TODO
func get_array() -> Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append([])
return Array([])
# TODO
func get_dictionary() -> Dictionary:
return Dictionary({})
func get_Packed_string_array() -> PackedStringArray:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_string())
return PackedStringArray(array)
func get_Packed_int32_array() -> PackedInt32Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_int())
return PackedInt32Array(array)
func get_Packed_int64_array() -> PackedInt32Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_int())
return PackedInt32Array(array)
func get_Packed_byte_array() -> PackedByteArray:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_int())
return PackedByteArray(array)
func get_Packed_float32_array() -> PackedFloat32Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_float())
return PackedFloat32Array(array)
func get_Packed_float64_array() -> PackedFloat64Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_float())
return PackedFloat64Array(array)
func get_Packed_vector2_array() -> PackedVector2Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_vector2())
return PackedVector2Array(array)
func get_Packed_vector3_array() -> PackedVector3Array:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_vector3())
return PackedVector3Array(array)
func get_Packed_color_array() -> PackedColorArray:
var array : Array = []
for _i in range(int(min(max_array_size,number))):
array.append(get_color())
return PackedColorArray(array)
func get_object(object_name: String) -> Object:
assert(ClassDB.class_exists(object_name))
if object_name == "PhysicsDirectSpaceState" || object_name == "Physics2DDirectSpaceState":
return BoxMesh.new()
var a = 0
if random:
var classes = ClassDB.get_inheriters_from_class("Node") + ClassDB.get_inheriters_from_class("Reference")
if object_name == "Object":
while true:
var choosen_class: String = classes[randi() % classes.size()]
if (
ClassDB.can_instance(choosen_class)
&& (ClassDB.is_parent_class(choosen_class, "Node") || ClassDB.is_parent_class(choosen_class, "Reference"))
&& !(choosen_class in BasicData.disabled_classes)
):
return ClassDB.instance(choosen_class)
if ClassDB.is_parent_class(object_name, "Node") || ClassDB.is_parent_class(object_name, "Reference"):
if should_be_always_valid:
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
to_use_classes.append(object_name)
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
assert(to_use_classes.size() > 0)
while true:
a += 1
if a > 50:
# Object doesn't have children which can be instanced
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
assert(false)
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
return ClassDB.instance(choosen_class)
else:
while true:
a += 1
if a > 50:
assert(false)
var choosen_class: String = classes[randi() % classes.size()]
if ClassDB.can_instance(choosen_class) && !ClassDB.is_parent_class(choosen_class, object_name) && !(choosen_class in BasicData.disabled_classes):
return ClassDB.instance(choosen_class)
# Non Node/Resource object
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
to_use_classes.append(object_name)
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
assert(to_use_classes.size() > 0)
while true:
a += 1
if a > 50:
# Object doesn't have children which can be instanced
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
assert(false)
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
return ClassDB.instance(choosen_class)
else:
if ClassDB.can_instance(object_name): # E.g. Texture is not instantable or shouldn't be, but LargeTexture is
return ClassDB.instance(object_name)
else: # Found child of non instantable object
var list_of_class = ClassDB.get_inheriters_from_class(object_name)
assert(list_of_class.size() > 0) # Number of inherited class of non instantable class must be greater than 0, otherwise this function would be useless
for i in list_of_class:
if ClassDB.can_instance(i) && (ClassDB.is_parent_class(i, "Node") || ClassDB.is_parent_class(i, "Reference")):
return ClassDB.instance(i)
assert(false)
assert(false)
return BoxMesh.new()
# TODO Update this with upper implementation
func get_object_string(object_name: String) -> String:
assert(ClassDB.class_exists(object_name))
var a = 0
if random:
var classes = ClassDB.get_inheriters_from_class("Node") + ClassDB.get_inheriters_from_class("Reference")
if object_name == "Object":
while true:
var choosen_class: String = classes[randi() % classes.size()]
if ClassDB.can_instance(choosen_class) && (ClassDB.is_parent_class(choosen_class, "Node") || ClassDB.is_parent_class(choosen_class, "Reference")):
return choosen_class
if ClassDB.is_parent_class(object_name, "Node") || ClassDB.is_parent_class(object_name, "Reference"):
if should_be_always_valid:
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
to_use_classes.append(object_name)
if !ClassDB.can_instance(object_name):
assert(to_use_classes.size() > 0)
while true:
a += 1
if a > 30:
# Object doesn't have children which can be instanced
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
assert(false)
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
if ClassDB.can_instance(choosen_class):
return choosen_class
else:
while true:
a += 1
if a > 30:
assert(false)
var choosen_class: String = classes[randi() % classes.size()]
if !ClassDB.is_parent_class(choosen_class, object_name):
return choosen_class
# Non Node/Resource object
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
to_use_classes.append(object_name)
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
assert(to_use_classes.size() > 0)
while true:
a += 1
if a > 50:
# Object doesn't have children which can be instanced
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
assert(false)
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
return choosen_class
else:
if ClassDB.can_instance(object_name): # E.g. Texture is not instantable or shouldn't be, but LargeTexture is
return object_name
else: # Found child of non instantable object
var list_of_class = ClassDB.get_inheriters_from_class(object_name)
assert(list_of_class.size() > 0) # Number of inherited class of non instantable class must be greater than 0, otherwise this function would be useless
for i in list_of_class:
if ClassDB.can_instance(i) && (ClassDB.is_parent_class(i, "Node") || ClassDB.is_parent_class(i, "Reference")):
return i
assert(false)
assert(false)
return "BoxMesh"

View File

@ -1,38 +1,29 @@
#!/bin/bash
grep -rl "onready" . --exclude-dir=.git,Godot4Update.sh | xargs sed -i 's/@onready /@onready /'
grep -rl "onready" . --exclude-dir=.git| xargs sed -i 's/onready /@onready /'
grep -rl "extends RigidBody3D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody/extends RigidBody3D/'
grep -rl "extends RigidBody3D3D2D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody2D/extends RigidBody2D/'
grep -rl "PointLight2D" . --exclude-dir=.git | xargs sed -i 's/Light2D/PointLight2D/'
grep -rl "SpatialMaterial" . --exclude-dir=.git | xargs sed -i 's/SpatialMaterial/StandardMaterial3D/'
grep -rl "Camera3D" . --exclude-dir=.git | xargs sed -i 's/Camera/Camera3D/'
grep -rl "Camera3D3D2D" . --exclude-dir=.git | xargs sed -i 's/Camera2D/Camera2D/'
grep -rl "if i.get_name() != \"Camera3D3D\":" . --exclude-dir=.git | xargs sed -i 's/if i.get_name() != "Camera":/if i.get_name() != "Camera":/'
grep -rl "DirectionalLight3D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight/DirectionalLight3D/'
grep -rl "DirectionalLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight2D/DirectionalPointLight2D/'
grep -rl "SpotLight3D" . --exclude-dir=.git | xargs sed -i 's/SpotLight/SpotLight3D/'
grep -rl "SpotLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/SpotLight2D/SpotPointLight2D/'
grep -rl "OmniLight3D" . --exclude-dir=.git | xargs sed -i 's/OmniLight/OmniLight3D/'
grep -rl "OmniLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/OmniLight2D/OmniPointLight2D/'
grep -rl "Node3D" . --exclude-dir=.git | xargs sed -i 's/Spatial/Node3D/'
grep -rl "extends RigidBody" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody/extends RigidBody3D/'
grep -rl "extends RigidBody3D2D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody3D2D/extends RigidBody2D/'
mv "Rendering/Lights2D/Light2D.tscn" "Rendering/Lights2D/PointLight2D.tscn"
mv "Rendering/Lights2D/Light2D.gd" "Rendering/Lights2D/PointLight2D.gd"
grep -rl "Light2D" . --exclude-dir=.git | xargs sed -i 's/Light2D/PointLight2D/'
mv "Rendering/Lights3D/Camera.gd" "Rendering/Lights3D/Camera3D.gd"
grep -rl "Camera" . --exclude-dir=.git | xargs sed -i 's/Camera/Camera3D/'
grep -rl "Camera3D2D" . --exclude-dir=.git | xargs sed -i 's/Camera3D2D/Camera2D/'
grep -rl "Camera3DTexture" . --exclude-dir=.git | xargs sed -i 's/Camera3DTexture/CameraTexture/'
grep -rl "if i.get_name() != \"Camera3D\":" . --exclude-dir=.git | xargs sed -i 's/if i.get_name() != "Camera":/if i.get_name() != "Camera":/'
mv "Rendering/Lights3D/DirectionalLight.gd" "Rendering/Lights3D/DirectionalLight3D.gd"
grep -rl "DirectionalLight" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight/DirectionalLight3D/'
grep -rl "DirectionalLight3D2D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight3D2D/DirectionalPointLight2D/'
mv "Rendering/Lights3D/SpotLight.gd" "Rendering/Lights3D/SpotLight3D.gd"
grep -rl "SpotLight" . --exclude-dir=.git | xargs sed -i 's/SpotLight/SpotLight3D/'
grep -rl "SpotLight3D2D" . --exclude-dir=.git | xargs sed -i 's/SpotLight3D2D/SpotPointLight2D/'
mv "Rendering/Lights3D/OmniLight.gd" "Rendering/Lights3D/OmniLight3D.gd"
grep -rl "OmniLight" . --exclude-dir=.git | xargs sed -i 's/OmniLight/OmniLight3D/'
grep -rl "OmniLight3D2D" . --exclude-dir=.git | xargs sed -i 's/OmniLight3D2D/OmniPointLight2D/'
mv "MainScenes/Spatial.tscn" "MainScenes/Node3D.tscn"
mv "MainScenes/Spatial.gd" "MainScenes/Node3D.gd"
grep -rl "Spatial" . --exclude-dir=.git | xargs sed -i 's/Spatial/Node3D/'

View File

@ -1,62 +0,0 @@
extends GridContainer
func _ready():
for _i in range(5):
add_child(Control.new())
add_child(Popup.new())
add_child(AcceptDialog.new())
add_child(ConfirmationDialog.new())
add_child(FileDialog.new())
add_child(PopupMenu.new())
add_child(PopupPanel.new())
add_child(Button.new())
add_child(CheckBox.new())
add_child(CheckButton.new())
add_child(ColorPickerButton.new())
add_child(MenuButton.new())
add_child(OptionButton.new())
add_child(LinkButton.new())
add_child(TextureButton.new())
add_child(Container.new())
add_child(ColorPicker.new())
add_child(VBoxContainer.new())
add_child(HBoxContainer.new())
add_child(CenterContainer.new())
add_child(ScrollContainer.new())
add_child(GraphNode.new())
add_child(GridContainer.new())
add_child(HSplitContainer.new())
add_child(VSplitContainer.new())
add_child(MarginContainer.new())
add_child(PanelContainer.new())
add_child(TabContainer.new())
add_child(ColorRect.new())
add_child(HScrollBar.new())
add_child(VScrollBar.new())
add_child(HSlider.new())
add_child(VSlider.new())
add_child(ProgressBar.new())
add_child(SpinBox.new())
add_child(TextureProgressBar.new())
add_child(GraphEdit.new())
add_child(HSeparator.new())
add_child(VSeparator.new())
add_child(ItemList.new())
add_child(Label.new())
add_child(LineEdit.new())
add_child(NinePatchRect.new())
add_child(Panel.new())
add_child(ReferenceRect.new())
add_child(RichTextLabel.new())
add_child(Tabs.new())
add_child(TextEdit.new())
add_child(TextureRect.new())
add_child(Tree.new())
add_child(VideoPlayer.new())
func _process(_delta: float) -> void:
for i in get_children():
if i is Control:
i._set_size(Vector2(200 * randf() - 100, 200 * randf() - 100))

View File

@ -1,12 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://MainScenes/Control.gd" type="Script" id=1]
[node name="GridContainer" type="GridContainer"]
anchor_right = 1.0
anchor_bottom = 1.0
columns = 5
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,48 +0,0 @@
extends Node2D
func _ready():
for _i in range(5):
add_child(Node2D.new())
add_child(AnimatedSprite2D.new())
add_child(Area2D.new())
add_child(KinematicBody2D.new())
add_child(RigidBody2D.new())
add_child(StaticBody2D.new())
add_child(AudioStreamPlayer2D.new())
add_child(BackBufferCopy.new())
add_child(Bone2D.new())
add_child(CPUParticles2D.new())
add_child(Camera2D.new())
add_child(CanvasModulate.new())
add_child(CollisionPolygon2D.new())
add_child(CollisionShape2D.new())
add_child(DampedSpringJoint2D.new())
add_child(GrooveJoint2D.new())
add_child(PinJoint2D.new())
add_child(Light2D.new())
add_child(LightOccluder2D.new())
add_child(Line2D.new())
add_child(MeshInstance2D.new())
add_child(MultiMeshInstance2D.new())
add_child(ParallaxLayer.new())
add_child(GPUParticles2D.new())
add_child(Path2D.new())
add_child(PathFollow2D.new())
add_child(Polygon2D.new())
add_child(Position2D.new())
add_child(RayCast2D.new())
add_child(RemoteTransform2D.new())
add_child(Skeleton2D.new())
add_child(Sprite2D.new())
add_child(TileMap.new())
add_child(TouchScreenButton.new())
add_child(VisibilityNotifier2D.new())
add_child(VisibilityEnabler2D.new())
add_child(YSort.new())
func _process(_delta: float) -> void:
for i in get_children():
if i is Node2D:
i.set_position(Vector2(1000 * randf() - 500, 1000 * randf() - 500))

View File

@ -1,8 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://MainScenes/Node2D.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )
[node name="Camera2D" type="Camera2D" parent="."]

View File

@ -1,78 +0,0 @@
extends Node3D
func _ready():
for i in range(5):
add_child(Node3D.new())
add_child(XRAnchor3D.new())
add_child(Camera3D.new())
add_child(XRCamera3D.new())
add_child(ClippedCamera3D.new())
add_child(XRController3D.new())
add_child(XROrigin3D.new())
add_child(AnimatedSprite3D.new())
add_child(Sprite3D.new())
add_child(CPUParticles3D.new())
add_child(CSGBox3D.new())
add_child(CSGCylinder3D.new())
add_child(CSGMesh3D.new())
add_child(CSGPolygon3D.new())
add_child(CSGSphere3D.new())
add_child(CSGTorus3D.new())
add_child(CSGCombiner3D.new())
add_child(ImmediateGeometry3D.new())
add_child(MeshInstance3D.new())
add_child(SoftBody3D.new())
add_child(MultiMeshInstance3D.new())
add_child(GPUParticles3D.new())
add_child(BakedLightmap.new())
add_child(DirectionalLight3D.new())
add_child(OmniLight3D.new())
add_child(SpotLight3D.new())
add_child(GIProbe.new())
add_child(ReflectionProbe.new())
add_child(Area3D.new())
add_child(KinematicBody3D.new())
add_child(PhysicalBone3D.new())
add_child(RigidBody3D.new())
add_child(VehicleBody3D.new())
add_child(StaticBody3D.new())
add_child(AudioStreamPlayer3D.new())
add_child(BoneAttachment3D.new())
add_child(CollisionPolygon3D.new())
add_child(CollisionShape3D.new())
add_child(ConeTwistJoint3D.new())
add_child(Generic6DOFJoint3D.new())
add_child(HingeJoint3D.new())
add_child(PinJoint3D.new())
add_child(SliderJoint3D.new())
add_child(GridMap.new())
add_child(Listener3D.new())
add_child(Path3D.new())
add_child(PathFollow3D.new())
add_child(Position3D.new())
add_child(ProximityGroup3D.new())
add_child(RayCast3D.new())
add_child(RemoteTransform3D.new())
add_child(Skeleton3D.new())
add_child(SpringArm3D.new())
add_child(VehicleWheel3D.new())
add_child(VisibilityNotifier3D.new())
add_child(VisibilityEnabler3D.new())
add_child(GPUParticlesAttractorBox.new())
add_child(GPUParticlesAttractorSphere.new())
add_child(GPUParticlesAttractorVectorField.new())
add_child(GPUParticlesCollisionBox.new())
# add_child(GPUParticlesCollisionHeightField.new())
add_child(GPUParticlesCollisionSphere.new())
add_child(GPUParticlesCollisionSDF.new())
func _process(delta: float) -> void:
for i in get_children():
if i.get_name() != "Camera":
i.set_scale(Vector3(delta + 1, delta + 1, delta + 1))
i.set_translation(Vector3(10 * randf(), 10 * randf(), 10 * randf()))

View File

@ -1,9 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://MainScenes/Node3D.gd" type="Script" id=1]
[node name="Node3D" type="Spatial"]
script = ExtResource( 1 )
[node name="Camera3D" type="Camera" parent="."]
transform = Transform( 1, 0, 0, 0, 0.690617, 0.72322, 0, -0.72322, 0.690617, 0, 3.77374, 5.42622 )

View File

@ -1,18 +0,0 @@
extends Node
func _ready() -> void:
for _i in range(5):
add_child(AnimationPlayer.new())
add_child(AnimationTree.new())
add_child(AudioStreamPlayer.new())
add_child(CanvasLayer.new())
add_child(ParallaxBackground.new())
add_child(HTTPRequest.new())
add_child(ResourcePreloader.new())
add_child(Skeleton2D.new())
add_child(Timer.new())
add_child(Tween.new())
add_child(Viewport.new())
add_child(WorldEnvironment.new())

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://MainScenes/Other.gd" type="Script" id=1]
[node name="Node" type="Node"]
script = ExtResource( 1 )

54
Nodes/Nodes.gd Normal file
View File

@ -0,0 +1,54 @@
extends Node
var TIME_TO_DELETE : float = 1.0
var time_to_delete : float = TIME_TO_DELETE
var disabled_classes : Array = ["NavigationAgent2D", "NavigationAgent3D","GPUParticlesCollisionHeightField"]
func _populate() -> void:
for _i in range(2): # Number of created
for name_of_class in ClassDB.get_class_list():
if name_of_class in disabled_classes:
continue
if !ClassDB.can_instance(name_of_class):
continue
if ClassDB.is_parent_class(name_of_class,"Control"):
add_child(ClassDB.instance(name_of_class))
continue
if ClassDB.is_parent_class(name_of_class,"Node3D"):
add_child(ClassDB.instance(name_of_class))
continue
if ClassDB.is_parent_class(name_of_class,"Node2D"):
add_child(ClassDB.instance(name_of_class))
continue
if ClassDB.is_parent_class(name_of_class,"Node"):
add_child(ClassDB.instance(name_of_class))
continue
# Populate at start
func _ready() -> void:
_populate()
# Move nodes a little and delete and readd them later
func _process(delta: float) -> void:
for i in get_children():
if i is Control:
i._set_size(Vector2(200 * randf() - 100, 200 * randf() - 100))
if i is Node2D:
i.set_position(Vector2(1000 * randf() - 500, 1000 * randf() - 500))
if i is Node3D:
if i.get_name() != "Camera":
i.set_scale(Vector3(delta + 1, delta + 1, delta + 1))
i.set_translation(Vector3(10 * randf(), 10 * randf(), 10 * randf()))
time_to_delete -= delta
if time_to_delete < 0:
time_to_delete += TIME_TO_DELETE
for i in get_children():
i.queue_free()
_populate()

6
Nodes/Nodes.tscn Normal file
View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Nodes/Nodes.gd" type="Script" id=1]
[node name="Nodes" type="Node"]
script = ExtResource( 1 )

View File

@ -1,19 +1,22 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://icon.png" type="Texture2D" id=1]
[ext_resource path="res://Physics/2D/Area2D.gd" type="Script" id=2]
[node name="Area2D" type="Area2D"]
script = ExtResource( 2 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PoolVector2Array( 4.018, -13.1782, -15.9057, 3.23778, 1.63277, 17.5492, 19.3115, 2.39594 )
polygon = PackedVector2Array( 4.018, -13.1782, -15.9057, 3.23778, 1.63277, 17.5492, 19.3115, 2.39594 )
script = null
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="."]
polygon = PoolVector2Array( -4.58427, -16.8342, -20.5974, -4.94143, -8.23639, 16.784, 20.4187, 13.5065 )
polygon = PackedVector2Array( -4.58427, -16.8342, -20.5974, -4.94143, -8.23639, 16.784, 20.4187, 13.5065 )
script = null
[node name="Sprite" type="Sprite" parent="."]
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource( 1 )
script = null
[connection signal="area_entered" from="." to="." method="_on_Area2D_area_entered"]
[connection signal="body_entered" from="." to="." method="_on_Area2D_body_entered"]

View File

@ -8,7 +8,7 @@
friction = 0.89
rough = true
[sub_resource type="StandardMaterial3D" id=2]
[sub_resource type="SpatialMaterial" id=2]
albedo_color = Color( 1, 1, 1, 0.521569 )
albedo_texture = ExtResource( 1 )
metallic = 1.0
@ -18,7 +18,7 @@ metallic_texture = ExtResource( 1 )
[sub_resource type="BoxShape" id=3]
extents = Vector3( 50, 2, 50 )
[sub_resource type="StandardMaterial3D" id=4]
[sub_resource type="SpatialMaterial" id=4]
params_diffuse_mode = 1
albedo_texture = ExtResource( 1 )
metallic = 0.8
@ -32,13 +32,13 @@ extents = Vector3( 11.8794, 1.37845, 22.281 )
[sub_resource type="BoxShape" id=7]
extents = Vector3( 11.8794, 1.37845, 22.281 )
[node name="Physics3D" type="Node3D"]
[node name="Physics3D" type="Spatial"]
[node name="DirectionalLight3D" type="DirectionalLight" parent="."]
[node name="DirectionalLight" type="DirectionalLight" parent="."]
transform = Transform( 1, 0, 0, 0, -0.959707, 0.281002, 0, -0.281002, -0.959707, 0, 35.3705, 0 )
light_energy = 1.45
[node name="StaticArena" type="Node3D" parent="."]
[node name="StaticArena" type="Spatial" parent="."]
script = ExtResource( 2 )
[node name="StaticBody" type="StaticBody" parent="StaticArena"]
@ -156,26 +156,26 @@ width = 23.9394
depth = 44.6359
[node name="StaticBody9" type="StaticBody" parent="StaticArena"]
transform = Transform( 0.289683, -0.599318, 0.746259, -0.123608, -0.796586, -0.591753, 0.949107, 0.0791774, -0.304838, 10.0702, 12.1813, -25.555 )
transform = Transform( 0.289683, -0.599318, 0.746259, -0.123608, -0.796586, -0.591753, 0.949107, 0.0791774, -0.304838, 10.0702, 0.940654, -25.555 )
[node name="CollisionShape" type="CollisionShape" parent="StaticArena/StaticBody9"]
transform = Transform( 1, -9.31323e-10, 0, 0, 1, 1.49012e-08, 3.72529e-09, 1.49012e-08, 1, 0, 0, 0 )
transform = Transform( 1, 7.45058e-09, 0, 1.49012e-08, 1, 4.84288e-08, 0, -3.1665e-08, 1, 0, 0, 0 )
shape = SubResource( 7 )
[node name="CSGBox" type="CSGBox" parent="StaticArena/StaticBody9"]
width = 23.9394
depth = 44.6359
[node name="Objects" type="Node3D" parent="."]
[node name="Objects" type="Spatial" parent="."]
[node name="RigidBody" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.50424, 25.2791, 14.7363 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.50424, 17.1047, 14.7363 )
[node name="RigidBody2" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.7864, 12.6031, 19.1751 )
[node name="RigidBody3" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.9896, 12.6031, 28.8764 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.9896, 10.6319, 28.8764 )
[node name="RigidBody4" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0866, 12.6031, -18.3703 )
@ -192,149 +192,27 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.9278, 12.6031, 23.4173 )
[node name="RigidBody8" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.85186, 24.8548, -9.87658 )
[node name="RigidBody10" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 16.1328, 29.5375, -0.570342 )
[node name="RigidBody11" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20.6287, 22.3987, -15.733 )
[node name="RigidBody12" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -21.4547, 22.3987, -24.854 )
[node name="RigidBody13" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.76971, 22.3987, -22.9999 )
[node name="RigidBody14" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -18.8426, 17.5784, -8.49029 )
[node name="RigidBody9" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -29.188, 12.6031, 9.26155 )
[node name="RigidBody15" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.25014, 31.7526, 22.4342 )
[node name="RigidBody16" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.0405, 19.0766, 26.873 )
[node name="RigidBody17" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -10.7355, 19.0766, 36.5743 )
[node name="RigidBody18" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19.8325, 19.0766, -10.6724 )
[node name="RigidBody19" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 28.5046, 19.0765, -13.0753 )
[node name="RigidBody20" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 30.3391, 19.0765, 15.9916 )
[node name="RigidBody21" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 25.1819, 19.0765, 31.1152 )
[node name="RigidBody22" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.40224, 31.3283, -2.17871 )
[node name="RigidBody23" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 22.3869, 36.0109, 7.12753 )
[node name="RigidBody24" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 26.8828, 28.8722, -8.03515 )
[node name="RigidBody25" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -15.2006, 28.8722, -17.1562 )
[node name="RigidBody26" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.48439, 28.8722, -15.3021 )
[node name="RigidBody27" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5885, 24.0519, -0.792418 )
[node name="RigidBody28" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -22.9338, 19.0765, 16.9594 )
[node name="RigidBody29" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5598, 33.131, 4.91325 )
[node name="RigidBody30" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26917, 20.455, 9.35204 )
[node name="RigidBody31" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.0452, 20.455, 19.0534 )
[node name="RigidBody32" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -32.1422, 20.455, -28.1934 )
[node name="RigidBody33" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 16.1949, 20.455, -30.5962 )
[node name="RigidBody34" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.0294, 20.455, -1.52936 )
[node name="RigidBody35" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 12.8723, 20.455, 13.5943 )
[node name="RigidBody36" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -9.90743, 32.7067, -19.6996 )
[node name="RigidBody37" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.0773, 37.3894, -10.3934 )
[node name="RigidBody38" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5731, 30.2506, -25.5561 )
[node name="RigidBody39" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -27.5103, 30.2506, -34.6771 )
[node name="RigidBody40" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.82528, 30.2506, -32.823 )
[node name="RigidBody41" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -24.8981, 25.4303, -18.3134 )
[node name="RigidBody42" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35.2435, 20.455, -0.56151 )
[node name="RigidBody43" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.30571, 39.6045, 12.6111 )
[node name="RigidBody44" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.98493, 26.9285, 17.0499 )
[node name="RigidBody45" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.7911, 26.9285, 26.7513 )
[node name="RigidBody46" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -25.8881, 26.9285, -20.4955 )
[node name="RigidBody47" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 22.449, 26.9285, -22.8984 )
[node name="RigidBody48" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 24.2835, 26.9285, 6.16852 )
[node name="RigidBody49" parent="Objects" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19.1264, 26.9285, 21.2921 )
[node name="Camera3D" type="Camera" parent="."]
[node name="Camera" type="Camera" parent="."]
transform = Transform( 0.922114, 0.23703, -0.305815, 0.0163102, 0.765871, 0.642787, 0.386575, -0.597711, 0.702354, -25.392, 55.117, 39.851 )
current = true
far = 200.0
[node name="Joints" type="Node3D" parent="."]
[node name="Joints" type="Spatial" parent="."]
[node name="Cone" type="Node3D" parent="Joints"]
[node name="Cone" type="Spatial" parent="Joints"]
[node name="RigidBody2" parent="Joints/Cone" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 6.73046, 77.026 )
gravity_scale = -3.0
[node name="RigidBody" parent="Joints/Cone" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 15.3482, 19.1751 )
[node name="ConeTwistJoint" type="ConeTwistJoint" parent="Joints/Cone"]
nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2")
[node name="Generic" type="Node3D" parent="Joints"]
[node name="Generic" type="Spatial" parent="Joints"]
[node name="RigidBody" parent="Joints/Generic" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, 67.0796 )
@ -347,7 +225,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, -0.445078 )
nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2")
[node name="Hinge" type="Node3D" parent="Joints"]
[node name="Hinge" type="Spatial" parent="Joints"]
[node name="RigidBody" parent="Joints/Hinge" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.6153, 33.1278, 59.2096 )
@ -360,26 +238,27 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8.17695, 33.1278, 19.1751 )
nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2")
[node name="Pin" type="Node3D" parent="Joints"]
[node name="Pin" type="Spatial" parent="Joints"]
[node name="RigidBody" parent="Joints/Pin" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 4.83369, 116.28 )
gravity_scale = -3.0
[node name="RigidBody2" parent="Joints/Pin" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, 10.7729 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 18.4589, 10.7729 )
[node name="PinJoint" type="PinJoint" parent="Joints/Pin"]
nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2")
[node name="Slider" type="Node3D" parent="Joints"]
[node name="Slider" type="Spatial" parent="Joints"]
[node name="RigidBody" parent="Joints/Slider" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 17.7427, 19.1751 )
gravity_scale = -3.0
[node name="RigidBody2" parent="Joints/Slider" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -33.3355, 33.1278, 19.1751 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -33.3355, 16.2845, 19.1751 )
[node name="SliderJoint" type="SliderJoint" parent="Joints/Slider"]
nodes/node_a = NodePath("../RigidBody")

View File

@ -3,9 +3,17 @@ This repository contains Godot project which is tested in offical Godot reposito
It aims to be complex project, which will allow to find crashes, leaks and invalid memory writes before PR is merged.
Sadly it can't find any logic errors.
Sadly it can't find automatically any logic errors.
For now it is really simple, but some I think that it can be improved over time.
## Reproduce bugs
If CI find bug, you can easily without much effort check which scene cause problems(stacktrace, address or leak sanitizer log will be available).
All main scenes are independent of each other(only `Autoload.gd` is required), so it is easy to disable some for testing.
To create minimal test scene:
- Look at the console output - there is printed info about current used scene
- If you run `Start.tscn` scene(which run other scenes in queue) then you can modify list of scenes which needs to be run in `Autoload.gd` by commenting records in `alone_steps` or `all_in_one` array(just like in picture)
![Zrzut ekranu z 2021-01-13 11-52-41](https://user-images.githubusercontent.com/41945903/104442905-060e7c00-5596-11eb-9000-f9bb338ece79.png)
## How it works?
### Autoload
@ -14,23 +22,43 @@ It handle exiting project after selected number of seconds
When opening any scene, automatically time to exit is set.
### Checking All scenes
If running projet with e.g. this parameters
```
godot 20
```
Then time is set to 20 seconds so it means that if scenes is 10 (EACH in `alone_steps` array + one for ALL scenes in `all_in_one` array), then each scene will be show for 2 seconds
### Checking All scenes at once
There are two scenes which opens all scenes:
- All.tscn - opens all scenes at once
- Start.tscn - opens each scene one by one
### "Safe" Fuzzer
Available inside `AutomaticBugs` directory, check all methods with specific arguments in allowed classes.
During calculations, to output should be written informations about current classes and executed functions with arguments e.g.
```
############### CLASS ############### - PopupMenu
add_icon_radio_check_shortcut
Parameters [[InputEventMouseMotion:12379], [SoftBody:12380], -109, True]
```
This fuzzer should in most situations be safe to use, because always use same set of arguments in functions, and objects are cleared before executing next function.
This tool is developed in external repository - https://github.com/qarmin/Qarminer.
### AIO
This are scenes which only opens once, because there is no need to open it more times(no scripts or only with `_ready` function).
This are scenes which only opens once, because there is no need to open it more times - used to check loading of specific types of nodes or executing its `_ready` functions.
### MainScenes
Collections of all nodes, which are after some time simply removed and added to scene.
### ReparentingDeleting
This scene randomly reparent, add or delete nodes inside it, to check correctness this operations.
### Other Scenes
Each other scenes checks specific types of nodes like lights, rendering or physics.
## Contributions
Contributions are welcome.
For now there is no requirements to format code.
New functionalities(e.g. physics checks) should be done in different folders(cleaner view to resources)
Each other scenes checks specific types of nodes like lights, rendering, physics, text.
## Epilepsy Warning
Due using by project a lot of functions from each type of Node, screen may flicker, images and objects may change randomly color and size which may lead some users to health problems.
## Problems with project
If you have problem with this project e.g. in CI, just ping me -> @qarmin <- and after that I will try help to fix issues which you have with it or add exception to project.

View File

@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Rendering/Lights2D/Light2D.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[node name="Light2D" type="Light2D"]
position = Vector2( 36.375, 37.875 )
texture = ExtResource( 2 )
texture_scale = 3.39
energy = 6.7
shadow_enabled = true
script = ExtResource( 1 )

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://Rendering/Lights2D/PointLight2D.tscn" type="PackedScene" id=2]
[ext_resource path="res://Rendering/Lights2D/Light2D.tscn" type="PackedScene" id=2]
[sub_resource type="OccluderPolygon2D" id=1]
cull_mode = 1
@ -31,153 +31,153 @@ __meta__ = {
[node name="Lights" type="Node2D" parent="."]
[node name="PointLight2D" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D" parent="Lights" instance=ExtResource( 2 )]
[node name="PointLight2D2" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D2" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 552.563, -17.2793 )
[node name="PointLight2D3" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D3" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 34.9607, 524.365 )
[node name="PointLight2D4" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D4" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 679.842, 556.891 )
[node name="PointLight2D5" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D5" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 418.213, 295.262 )
[node name="PointLight2D6" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D6" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 863.69, 330.617 )
[node name="PointLight2D7" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D7" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 336.188, 565.377 )
[node name="PointLight2D8" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D8" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 996.626, 563.962 )
[node name="PointLight2D9" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D9" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 582.261, 406.985 )
[node name="PointLight2D10" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D10" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 600.646, 208.995 )
[node name="PointLight2D11" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D11" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 842.477, 139.698 )
[node name="PointLight2D12" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D12" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( -187.091, -47.1287 )
[node name="PointLight2D13" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D13" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( -342.655, 44.7952 )
[node name="PointLight2D14" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D14" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( -175.778, 114.091 )
[node name="PointLight2D15" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D15" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( -194.162, -211.178 )
[node name="PointLight2D16" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D16" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 289.499, -218.249 )
[node name="PointLight2D35" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D35" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( -102.216, -74.258 )
[node name="PointLight2D36" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D36" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 841.085, 146.51 )
[node name="PointLight2D37" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D37" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 323.483, 688.155 )
[node name="PointLight2D38" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D38" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 968.364, 720.681 )
[node name="PointLight2D39" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D39" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 706.735, 459.052 )
[node name="PointLight2D40" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D40" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1152.21, 494.407 )
[node name="PointLight2D41" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D41" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 624.71, 729.167 )
[node name="PointLight2D42" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D42" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1285.15, 727.752 )
[node name="PointLight2D43" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D43" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 870.783, 570.775 )
[node name="PointLight2D44" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D44" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 889.168, 372.785 )
[node name="PointLight2D45" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D45" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1131, 303.488 )
[node name="PointLight2D46" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D46" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 528.544, 392.584 )
[node name="PointLight2D47" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D47" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 372.98, 484.508 )
[node name="PointLight2D48" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D48" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 539.857, 553.804 )
[node name="PointLight2D49" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D49" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 521.473, 228.535 )
[node name="PointLight2D50" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D50" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1005.13, 221.464 )
[node name="PointLight2D17" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D17" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 966.927, 117.071 )
[node name="PointLight2D18" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D18" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 136.375, 90.875 )
[node name="PointLight2D19" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D19" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 652.563, 35.7207 )
[node name="PointLight2D20" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D20" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 134.961, 577.365 )
[node name="PointLight2D21" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D21" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 779.842, 609.891 )
[node name="PointLight2D22" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D22" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 518.213, 348.262 )
[node name="PointLight2D23" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D23" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 963.69, 383.617 )
[node name="PointLight2D24" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D24" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 436.188, 618.377 )
[node name="PointLight2D25" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D25" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1096.63, 616.962 )
[node name="PointLight2D26" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D26" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 682.261, 459.985 )
[node name="PointLight2D27" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D27" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 700.646, 261.995 )
[node name="PointLight2D28" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D28" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 942.477, 192.698 )
[node name="PointLight2D29" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D29" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 340.022, 281.794 )
[node name="PointLight2D30" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D30" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 184.458, 373.718 )
[node name="PointLight2D31" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D31" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 351.335, 443.014 )
[node name="PointLight2D32" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D32" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 332.951, 117.745 )
[node name="PointLight2D33" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D33" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 816.612, 110.674 )
[node name="PointLight2D34" parent="Lights" instance=ExtResource( 2 )]
[node name="Light2D34" parent="Lights" instance=ExtResource( 2 )]
position = Vector2( 1066.93, 170.071 )
[node name="LightOccluders" type="Node2D" parent="."]

View File

@ -1,12 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Rendering/Lights2D/PointLight2D.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture2D" id=2]
[node name="PointLight2D" type="PointLight2D"]
position = Vector2( 36.375, 37.875 )
energy = 6.7
shadow_enabled = true
texture = ExtResource( 2 )
texture_scale = 3.39
script = ExtResource( 1 )

View File

@ -1,113 +1,113 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://Rendering/Lights3D/Camera3D.gd" type="Script" id=1]
[ext_resource path="res://Rendering/Lights3D/DirectionalLight3D.gd" type="Script" id=2]
[ext_resource path="res://Rendering/Lights3D/OmniLight3D.gd" type="Script" id=3]
[ext_resource path="res://Rendering/Lights3D/SpotLight3D.gd" type="Script" id=4]
[ext_resource path="res://Rendering/Lights3D/Camera.gd" type="Script" id=1]
[ext_resource path="res://Rendering/Lights3D/DirectionalLight.gd" type="Script" id=2]
[ext_resource path="res://Rendering/Lights3D/OmniLight.gd" type="Script" id=3]
[ext_resource path="res://Rendering/Lights3D/SpotLight.gd" type="Script" id=4]
[node name="Lights3D" type="Node3D"]
[node name="Lights3D" type="Spatial"]
[node name="Lights" type="Node3D" parent="."]
[node name="Lights" type="Spatial" parent="."]
[node name="Lights1" type="Node3D" parent="Lights"]
[node name="Lights1" type="Spatial" parent="Lights"]
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights1"]
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights1"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 )
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights1"]
[node name="OmniLight" type="OmniLight" parent="Lights/Lights1"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 )
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights1"]
[node name="SpotLight" type="SpotLight" parent="Lights/Lights1"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6
script = ExtResource( 4 )
[node name="Lights2" type="Node3D" parent="Lights"]
[node name="Lights2" type="Spatial" parent="Lights"]
transform = Transform( 0.506063, -0.520563, -0.687688, 0.308539, 0.853823, -0.419272, 0.805422, 0, 0.592702, 0, 0, 0 )
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights2"]
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 )
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights2"]
[node name="OmniLight" type="OmniLight" parent="Lights/Lights2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 )
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights2"]
[node name="SpotLight" type="SpotLight" parent="Lights/Lights2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6
script = ExtResource( 4 )
[node name="Lights3" type="Node3D" parent="Lights"]
[node name="Lights3" type="Spatial" parent="Lights"]
transform = Transform( 0.767362, -0.583576, 0.265697, 0.547886, 0.381458, -0.744521, 0.333133, 0.716888, 0.612449, 0, 0, 0 )
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights3"]
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 )
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights3"]
[node name="OmniLight" type="OmniLight" parent="Lights/Lights3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 )
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights3"]
[node name="SpotLight" type="SpotLight" parent="Lights/Lights3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6
script = ExtResource( 4 )
[node name="Lights4" type="Node3D" parent="Lights"]
[node name="Lights4" type="Spatial" parent="Lights"]
transform = Transform( -0.0303629, 0.898468, 0.437989, 0.547886, 0.381458, -0.744521, -0.836002, 0.217362, -0.50384, 0, 2.70549, 0 )
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights4"]
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights4"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 )
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights4"]
[node name="OmniLight" type="OmniLight" parent="Lights/Lights4"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 )
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights4"]
[node name="SpotLight" type="SpotLight" parent="Lights/Lights4"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6
script = ExtResource( 4 )
[node name="Lights5" type="Node3D" parent="Lights"]
[node name="Lights5" type="Spatial" parent="Lights"]
transform = Transform( -0.0303629, 0.898468, 0.437989, 0.547886, 0.381458, -0.744521, -0.836002, 0.217362, -0.50384, 0, 2.70549, 6.00353 )
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights5"]
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 )
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights5"]
[node name="OmniLight" type="OmniLight" parent="Lights/Lights5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 )
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights5"]
[node name="SpotLight" type="SpotLight" parent="Lights/Lights5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6
script = ExtResource( 4 )
[node name="Camera3D" type="Camera" parent="."]
[node name="Camera" type="Camera" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.87313 )
script = ExtResource( 1 )
[node name="Boxes" type="Node3D" parent="."]
[node name="Boxes" type="Spatial" parent="."]
[node name="CSGBox" type="CSGBox" parent="Boxes"]
width = 0.782
@ -126,7 +126,7 @@ width = 0.342
height = 0.521
depth = 0.394
[node name="Boxes2" type="Node3D" parent="."]
[node name="Boxes2" type="Spatial" parent="."]
transform = Transform( 0.675732, 0, 0.737148, 0, 1, 0, -0.737148, 0, 0.675732, 0, 0, 0 )
[node name="CSGBox" type="CSGBox" parent="Boxes2"]
@ -146,7 +146,7 @@ width = 0.342
height = 0.521
depth = 0.394
[node name="Boxes3" type="Node3D" parent="."]
[node name="Boxes3" type="Spatial" parent="."]
transform = Transform( 0.675732, 0, 0.737148, 0, 1, 0, -0.737148, 0, 0.675732, -1.59745, -2.38419e-07, -0.843414 )
[node name="CSGBox" type="CSGBox" parent="Boxes3"]

View File

@ -1,198 +1,37 @@
extends Node
var number_of_nodes : int = -1
var node_to_handle_others : Node = Node.new() # Special node to handle all available nodes in tree
var number_of_nodes : int = 0
var collected_nodes : Array = []
var disabled_classes : Array = [
"NavigationAgent2D", "NavigationAgent3D","GPUParticlesCollisionHeightField",
"ReflectionProbe", # Cause errors, not sure about it
] # Just add name of any class if cause problems
func collect() -> void:
var classes : Array = ClassDB.get_class_list()
classes.sort()
for name_of_class in classes:
if ClassDB.is_parent_class(name_of_class,"Node"):
if name_of_class.find("Editor") != -1: # We don't want to test editor nodes
continue
if disabled_classes.has(name_of_class): # Class is disabled
continue
if ClassDB.can_instance(name_of_class): # Only instantable nodes can be used
collected_nodes.append(name_of_class)
func _ready() -> void:
seed(405)
collect()
number_of_nodes = max(collected_nodes.size(),200) # Use at least all nodes, or more if you want(168 is probably number nodes)
for i in range(number_of_nodes):
var index = i
if i >= collected_nodes.size(): # Wrap values
index = i % collected_nodes.size()
node_to_handle_others.set_name("handle_node")
for i in range(3):
var parent_node : Node
if i == 0:
parent_node = node_to_handle_others
else:
parent_node = self
parent_node.add_child(Control.new())
parent_node.add_child(Popup.new())
parent_node.add_child(AcceptDialog.new())
parent_node.add_child(ConfirmationDialog.new())
parent_node.add_child(FileDialog.new())
parent_node.add_child(PopupMenu.new())
parent_node.add_child(PopupPanel.new())
parent_node.add_child(Button.new())
parent_node.add_child(CheckBox.new())
parent_node.add_child(CheckButton.new())
parent_node.add_child(ColorPickerButton.new())
parent_node.add_child(MenuButton.new())
parent_node.add_child(OptionButton.new())
parent_node.add_child(LinkButton.new())
parent_node.add_child(TextureButton.new())
parent_node.add_child(Container.new())
parent_node.add_child(ColorPicker.new())
parent_node.add_child(VBoxContainer.new())
parent_node.add_child(HBoxContainer.new())
parent_node.add_child(CenterContainer.new())
parent_node.add_child(ScrollContainer.new())
parent_node.add_child(GraphNode.new())
parent_node.add_child(GridContainer.new())
parent_node.add_child(HSplitContainer.new())
parent_node.add_child(VSplitContainer.new())
parent_node.add_child(MarginContainer.new())
parent_node.add_child(PanelContainer.new())
parent_node.add_child(TabContainer.new())
parent_node.add_child(ColorRect.new())
parent_node.add_child(HScrollBar.new())
parent_node.add_child(VScrollBar.new())
parent_node.add_child(HSlider.new())
parent_node.add_child(VSlider.new())
parent_node.add_child(ProgressBar.new())
parent_node.add_child(SpinBox.new())
parent_node.add_child(TextureProgressBar.new())
parent_node.add_child(GraphEdit.new())
parent_node.add_child(HSeparator.new())
parent_node.add_child(VSeparator.new())
parent_node.add_child(ItemList.new())
parent_node.add_child(Label.new())
parent_node.add_child(LineEdit.new())
parent_node.add_child(NinePatchRect.new())
parent_node.add_child(Panel.new())
parent_node.add_child(ReferenceRect.new())
parent_node.add_child(RichTextLabel.new())
parent_node.add_child(Tabs.new())
parent_node.add_child(TextEdit.new())
parent_node.add_child(TextureRect.new())
parent_node.add_child(Tree.new())
parent_node.add_child(VideoPlayer.new())
parent_node.add_child(Node2D.new())
# parent_node.add_child(AnimatedSprite2D.new())
parent_node.add_child(Area2D.new())
parent_node.add_child(KinematicBody2D.new())
parent_node.add_child(RigidBody2D.new())
parent_node.add_child(StaticBody2D.new())
parent_node.add_child(AudioStreamPlayer2D.new())
parent_node.add_child(BackBufferCopy.new())
parent_node.add_child(Bone2D.new())
parent_node.add_child(CPUParticles2D.new())
parent_node.add_child(Camera2D.new())
parent_node.add_child(CanvasModulate.new())
parent_node.add_child(CollisionPolygon2D.new())
parent_node.add_child(CollisionShape2D.new())
parent_node.add_child(DampedSpringJoint2D.new())
parent_node.add_child(GrooveJoint2D.new())
parent_node.add_child(PinJoint2D.new())
parent_node.add_child(Light2D.new())
parent_node.add_child(LightOccluder2D.new())
parent_node.add_child(Line2D.new())
parent_node.add_child(MeshInstance2D.new())
parent_node.add_child(MultiMeshInstance2D.new())
parent_node.add_child(ParallaxLayer.new())
parent_node.add_child(GPUParticles2D.new())
parent_node.add_child(Path2D.new())
parent_node.add_child(PathFollow2D.new())
parent_node.add_child(Polygon2D.new())
parent_node.add_child(Position2D.new())
parent_node.add_child(RayCast2D.new())
parent_node.add_child(RemoteTransform2D.new())
parent_node.add_child(Skeleton2D.new())
parent_node.add_child(Sprite2D.new())
parent_node.add_child(TileMap.new())
parent_node.add_child(TouchScreenButton.new())
parent_node.add_child(VisibilityNotifier2D.new())
parent_node.add_child(VisibilityEnabler2D.new())
parent_node.add_child(YSort.new())
parent_node.add_child(AnimationPlayer.new())
parent_node.add_child(AnimationTree.new())
parent_node.add_child(AudioStreamPlayer.new())
parent_node.add_child(CanvasLayer.new())
parent_node.add_child(ParallaxBackground.new())
parent_node.add_child(HTTPRequest.new())
parent_node.add_child(ResourcePreloader.new())
parent_node.add_child(Skeleton2D.new())
parent_node.add_child(Timer.new())
parent_node.add_child(Tween.new())
parent_node.add_child(Viewport.new())
parent_node.add_child(WorldEnvironment.new())
parent_node.add_child(Node3D.new())
parent_node.add_child(XRAnchor3D.new())
parent_node.add_child(Camera3D.new())
parent_node.add_child(XRCamera3D.new())
parent_node.add_child(ClippedCamera3D.new())
parent_node.add_child(XRController3D.new())
parent_node.add_child(XROrigin3D.new())
parent_node.add_child(AnimatedSprite3D.new())
parent_node.add_child(Sprite3D.new())
parent_node.add_child(CPUParticles3D.new())
parent_node.add_child(CSGBox3D.new())
parent_node.add_child(CSGCylinder3D.new())
parent_node.add_child(CSGMesh3D.new())
parent_node.add_child(CSGPolygon3D.new())
parent_node.add_child(CSGSphere3D.new())
parent_node.add_child(CSGTorus3D.new())
parent_node.add_child(CSGCombiner3D.new())
parent_node.add_child(ImmediateGeometry3D.new())
parent_node.add_child(MeshInstance3D.new())
parent_node.add_child(SoftBody3D.new())
parent_node.add_child(MultiMeshInstance3D.new())
parent_node.add_child(GPUParticles3D.new())
parent_node.add_child(BakedLightmap.new())
parent_node.add_child(DirectionalLight3D.new())
parent_node.add_child(OmniLight3D.new())
parent_node.add_child(SpotLight3D.new())
parent_node.add_child(GIProbe.new())
# parent_node.add_child(ReflectionProbe.new())
parent_node.add_child(Area3D.new())
parent_node.add_child(KinematicBody3D.new())
parent_node.add_child(PhysicalBone3D.new())
parent_node.add_child(RigidBody3D.new())
parent_node.add_child(VehicleBody3D.new())
parent_node.add_child(StaticBody3D.new())
parent_node.add_child(AudioStreamPlayer3D.new())
parent_node.add_child(BoneAttachment3D.new())
parent_node.add_child(CollisionPolygon3D.new())
parent_node.add_child(CollisionShape3D.new())
parent_node.add_child(ConeTwistJoint3D.new())
parent_node.add_child(Generic6DOFJoint3D.new())
parent_node.add_child(HingeJoint3D.new())
parent_node.add_child(PinJoint3D.new())
parent_node.add_child(SliderJoint3D.new())
parent_node.add_child(GridMap.new())
parent_node.add_child(Listener3D.new())
parent_node.add_child(Path3D.new())
parent_node.add_child(PathFollow3D.new())
parent_node.add_child(Position3D.new())
parent_node.add_child(ProximityGroup3D.new())
parent_node.add_child(RayCast3D.new())
parent_node.add_child(RemoteTransform3D.new())
parent_node.add_child(Skeleton3D.new())
parent_node.add_child(SpringArm3D.new())
parent_node.add_child(VehicleWheel3D.new())
parent_node.add_child(VisibilityNotifier3D.new())
parent_node.add_child(VisibilityEnabler3D.new())
parent_node.add_child(GPUParticlesAttractorBox.new())
parent_node.add_child(GPUParticlesAttractorSphere.new())
parent_node.add_child(GPUParticlesAttractorVectorField.new())
parent_node.add_child(GPUParticlesCollisionBox.new())
# parent_node.add_child(GPUParticlesCollisionHeightField.new())
parent_node.add_child(GPUParticlesCollisionSphere.new())
parent_node.add_child(GPUParticlesCollisionSDF.new())
for i in range(get_child_count()):
get_child(i).set_name("Special Node " + str(i))
number_of_nodes = get_child_count()
add_child(node_to_handle_others) # Adding at the end to not broke calculations
var child : Node = ClassDB.instance(collected_nodes[index])
child.set_name("Special Node " + str(i))
add_child(child)
## It is quite easy algorithm to reparent and delete items
# - Add multiple nodes to scene
@ -209,7 +48,7 @@ func _ready() -> void:
# - At the end add first random node as child of second
func _process(delta: float) -> void:
assert(Performance.get_monitor(Performance.OBJECT_ORPHAN_NODE_COUNT) == 0)
assert(Performance.get_monitor(Performance.OBJECT_ORPHAN_NODE_COUNT) == 0) # Don't work good with running more than 1 this scene
var choosen_node : Node
var parent_of_node : Node
@ -221,15 +60,14 @@ func _process(delta: float) -> void:
var random_node = find_node("Special Node " + str(randi() % number_of_nodes),true,false)
parent_of_node.remove_child(choosen_node)
# # Do not delete for now due https://github.com/godotengine/godot/issues/45471
# if randi() % 6 == 0: # 16% chance to remove node with children
# var names_to_remove : Array = find_all_special_children_names(choosen_node)
# for name_to_remove in names_to_remove:
# var node : Node = node_to_handle_others.get_child(randi() % node_to_handle_others.get_child_count()).duplicate(0)
# node.set_name(name_to_remove)
# add_child(node)
# choosen_node.queue_free()
# continue
if randi() % 10 == 0: # 10% chance to remove node with children
var names_to_remove : Array = find_all_special_children_names(choosen_node)
for name_to_remove in names_to_remove:
var node : Node = ClassDB.instance(collected_nodes[randi() % collected_nodes.size()])
node.set_name(name_to_remove)
add_child(node)
choosen_node.queue_free()
continue
if choosen_node.find_node(random_node.get_name(),true,false) != null: # Cannot set as node parent one of its child
@ -240,7 +78,7 @@ func _process(delta: float) -> void:
continue
random_node.add_child(choosen_node)
# Finds recusivelly all child nodes which are not internal
func find_all_special_children_names(node : Node) -> Array:
var array : Array = []
array.append(node.get_name())

View File

@ -4,21 +4,22 @@ var current_scene : int = -1
var time_to_switch : int
const NUMBER_OF_INSTANCES : int = 1 # Use more than 1 to stress test, 1 should be optimal for casual CI
var array_with_time_to_change : Array = []
func _ready():
time_to_switch = Autoload.time_for_each_step
for i in Autoload.alone_steps.size() + 1:
array_with_time_to_change.append(OS.get_ticks_msec() + i * Autoload.time_for_each_step)
print("Starting with scene(s):")
for path in Autoload.all_in_one:
for _i in range(NUMBER_OF_INSTANCES):
var scene : Node = load(path).instance()
add_child(scene)
print(" - " + path)
func _process(_delta):
if time_to_switch - OS.get_ticks_msec() <= 0:
time_to_switch = Autoload.time_for_each_step + OS.get_ticks_msec()
if current_scene < Autoload.alone_steps.size() - 1:
if current_scene < Autoload.alone_steps.size() - 1 && OS.get_ticks_msec() > array_with_time_to_change[current_scene + 1]:
current_scene += 1
for child in get_children():

View File

@ -1,6 +1,6 @@
extends Label
const TIME : float = 0.3
const TIME : float = 0.1
var time_to_stop : float = TIME
var current_type : int = 0

View File

@ -1,6 +1,6 @@
extends RichTextLabel
const TIME : float = 0.3
const TIME : float = 0.1
var time_to_stop : float = TIME
var current_type : int = 0

View File

@ -26,12 +26,18 @@ config/icon="res://icon.png"
[autoload]
Autoload="*res://Autoload/Autoload.gd"
ValueCreator="*res://AutomaticBugs/ValueCreator.gd"
BasicData="*res://AutomaticBugs/BasicData.gd"
[debug]
gdscript/warnings/enable=false
gdscript/warnings/standalone_expression=false
[logging]
file_logging/enable_file_logging.pc=false
[memory]
limits/message_queue/max_size_kb=131072