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 .DS_Store
*~ *~
.import/ #.import/
logs/ logs/
.~lock.*# .~lock.*#
.mono/ .mono/
@ -8,4 +8,6 @@ logs/
TEMP/ TEMP/
#export_presets.cfg #export_presets.cfg
logs/ logs/
.godot/
.godot/imported/
.godot/editor .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 = [ { animations = [ {
"frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 50 ) ], "frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 50 ) ],
"loop": true, "loop": true,
"name": "default", "name": @"default",
"speed": 5.0 "speed": 5.0
} ] } ]
[sub_resource type="CubeMesh" id=2] [sub_resource type="BoxMesh" id=3]
[sub_resource type="StandardMaterial3D" id=3]
[sub_resource type="StandardMaterial3D" id=4] [sub_resource type="StandardMaterial3D" id=4]
[sub_resource type="StandardMaterial3D" id=5] [sub_resource type="StandardMaterial3D" id=5]
[sub_resource type="CapsuleMesh" id=6] [sub_resource type="StandardMaterial3D" id=6]
material = SubResource( 5 )
[sub_resource type="CapsuleMesh" id=7]
material = SubResource( 6 )
radius = 1.272 radius = 1.272
mid_height = 0.001 mid_height = 0.001
radial_segments = 4 radial_segments = 4
rings = 2 rings = 2
[sub_resource type="CameraTexture" id=7] [sub_resource type="CameraTexture" id=8]
camera_feed_id = 1 camera_feed_id = 1
which_feed = 1 which_feed = 1
[sub_resource type="StandardMaterial3D" id=8] [sub_resource type="StandardMaterial3D" id=9]
roughness_texture = SubResource( 7 ) roughness_texture = SubResource( 8 )
roughness_texture_channel = 1 roughness_texture_channel = 1
[sub_resource type="StandardMaterial3D" id=9]
[sub_resource type="StandardMaterial3D" id=10] [sub_resource type="StandardMaterial3D" id=10]
vertex_color_use_as_albedo = true
[sub_resource type="StandardMaterial3D" id=11] [sub_resource type="StandardMaterial3D" id=11]
vertex_color_use_as_albedo = true
[sub_resource type="StandardMaterial3D" id=12] [sub_resource type="StandardMaterial3D" id=12]
[sub_resource type="StandardMaterial3D" id=13] [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] [sub_resource type="StandardMaterial3D" id=14]
material = SubResource( 13 ) 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 ) size = Vector3( 2.25, 1.56, 2.49 )
[sub_resource type="Skin" id=15] [sub_resource type="Skin" id=16]
bind_count = 10 bind_count = 10
bind/0/name = "" bind/0/name = @""
bind/0/bone = -1 bind/0/bone = -1
bind/0/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/1/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/2/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/3/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/4/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/5/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/6/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/7/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/8/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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/bone = -1
bind/9/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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] [sub_resource type="BoxMesh" id=18]
color_format = 2
[sub_resource type="MultiMesh" id=19]
transform_format = 1 transform_format = 1
custom_data_format = 2 instance_count = 3
instance_count = 15 mesh = SubResource( 18 )
visible_instance_count = 121212 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 )
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 )
[sub_resource type="ParticlesMaterial" id=18] [sub_resource type="ParticlesMaterial" id=20]
render_priority = 127 render_priority = 127
emission_shape = 2 emission_shape = 2
emission_box_extents = Vector3( 1, 1, 1 ) emission_box_extents = Vector3( 1, 1, 1 )
@ -108,35 +106,45 @@ radial_accel_random = 1.0
tangential_accel = 3.1 tangential_accel = 3.1
tangential_accel_random = 1.0 tangential_accel_random = 1.0
[sub_resource type="BakedLightmapData" id=19] [sub_resource type="BoxMesh" id=21]
energy = 5.7
[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 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 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 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/name = ""
item/0/mesh = SubResource( 26 ) item/0/mesh = SubResource( 29 )
item/0/mesh_transform = null item/0/mesh_transform = null
item/0/shapes = [ ] item/0/shapes = [ ]
item/0/navmesh_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) 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 sample_partition_type/sample_partition_type = 2
geometry/parsed_geometry_type = 1 geometry/parsed_geometry_type = 1
geometry/collision_mask = 2147483647 geometry/collision_mask = 2147483647
@ -157,152 +165,188 @@ filter/low_hanging_obstacles = true
filter/ledge_spans = true filter/ledge_spans = true
filter/filter_walkable_low_height_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 bake_interval = 10.0
_data = { _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 ), "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": PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) "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 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"] [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"] [node name="ARVRCamera_NOTHING" type="XRCamera3D" parent="ARVROrigin"]
size = 16004.7 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 h_offset = 0.032
v_offset = 0.03 v_offset = 0.03
doppler_tracking = 1
projection = 1
fov = 75.7 fov = 75.7
size = 1.23
near = 0.42 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 size = 15954.2
near = 0.45
margin = 23.09 margin = 23.09
script = null
[node name="InterpolatedCamera3D" type="InterpolatedCamera" parent="."] [node name="InterpolatedCamera" type="Node" parent="."]
size = 16384.0 script = null
target = NodePath("../ARVROrigin/ARVRController")
speed = 1.06
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
material_override = SubResource( 1 )
offset = Vector2( 0.026, 0 ) offset = Vector2( 0.026, 0 )
flip_h = true 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 playing = true
script = null
[node name="Sprite3D" type="Sprite3D" parent="."] [node name="Sprite3D" type="Sprite3D" parent="."]
flip_h = true flip_h = true
flip_v = true flip_v = true
texture = ExtResource( 50 ) texture = ExtResource( 50 )
hframes = 13 hframes = 13
frame = 2
script = null
[node name="CPUParticles" type="CPUParticles" parent="."] [node name="CPUParticles" type="CPUParticles3D" parent="."]
mesh = SubResource( 2 ) 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 invert_faces = true
width = 44.173 material = SubResource( 4 )
height = 19.604 script = null
material = SubResource( 3 )
[node name="CSGCylinder" type="CSGCylinder" parent="."] [node name="CSGCylinder" type="CSGCylinder3D" parent="."]
transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, 0, 0 ) transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, -21.0098, 0 )
invert_faces = true invert_faces = true
radius = 123.75 radius = 123.75
height = 45.8309 height = 45.8309
sides = 3 sides = 3
cone = true 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 ) transform = Transform( 1, 0, 0, 0, 3.78, 0, 0, 0, 7.64, 5.27772, 5.196, 0 )
invert_faces = true invert_faces = true
mesh = SubResource( 6 ) mesh = SubResource( 7 )
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
material = SubResource( 9 ) 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 invert_faces = true
radius = 19.668 radius = 19.668
radial_segments = 4 radial_segments = 4
rings = 4 rings = 3
smooth_faces = false 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.71423, -3.42086 )
invert_faces = true invert_faces = true
inner_radius = 0.001 inner_radius = 0.001
outer_radius = 19.109 outer_radius = 19.109
sides = 5 sides = 4
material = SubResource( 11 ) ring_sides = 5
material = SubResource( 12 )
script = null
[node name="CSGCombiner_NOTHING" type="CSGCombiner" parent="."] [node name="CSGCombiner_NOTHING" type="CSGCombiner3D" parent="."]
operation = 1 operation = 1
script = null
[node name="CSGBox" type="CSGBox" parent="CSGCombiner_NOTHING"] [node name="CSGBox" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
invert_faces = true invert_faces = true
width = 44.173 material = SubResource( 4 )
height = 19.604 script = null
material = SubResource( 3 )
[node name="CSGBox2" type="CSGBox" parent="CSGCombiner_NOTHING"] [node name="CSGBox2" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
invert_faces = true invert_faces = true
width = 44.173 material = SubResource( 4 )
height = 19.604 script = null
material = SubResource( 3 )
[node name="CSGBox3" type="CSGBox" parent="CSGCombiner_NOTHING"] [node name="ImmediateGeometry" type="ImmediateGeometry3D" parent="."]
invert_faces = true material_override = SubResource( 13 )
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 )
extra_cull_margin = 0.08 extra_cull_margin = 0.08
use_in_baked_light = true gi_mode = 1
script = null
[node name="MeshInstance" type="MeshInstance" parent="."] [node name="MeshInstance" type="MeshInstance3D" parent="."]
mesh = SubResource( 14 ) mesh = SubResource( 15 )
skin = SubResource( 15 ) skin = SubResource( 16 )
material/0 = null material/0 = SubResource( 17 )
script = null
[node name="MultiMeshInstance" type="MultiMeshInstance" parent="."] [node name="MultiMeshInstance" type="MultiMeshInstance3D" parent="."]
multimesh = SubResource( 17 ) 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 lifetime = 1.42
preprocess = 0.5 preprocess = 0.5
speed_scale = 1.3 speed_scale = 1.3
@ -310,290 +354,226 @@ explosiveness = 0.41
randomness = 0.34 randomness = 0.34
fract_delta = false fract_delta = false
local_coords = 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="."] [node name="BakedLightmap" type="BakedLightmap" parent="."]
bake_cell_size = 1.94 light_data = SubResource( 22 )
bake_propagation = 0.0 script = null
bake_energy = 1.58
image_path = "res://file.jpg"
light_data = SubResource( 19 )
[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 shadow_enabled = true
script = null
[node name="SpotLight3D" type="SpotLight" parent="."] [node name="SpotLight" type="SpotLight3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16.2155 ) transform = Transform( 1, 0, 0, 0, -0.171431, -0.985196, 0, 0.985196, -0.171431, 0, 0, -16.2155 )
light_energy = 1.11 light_energy = 4.05
light_negative = true light_negative = true
shadow_enabled = true shadow_enabled = true
shadow_bias = 0.4 shadow_bias = 0.4
script = null
[node name="GIProbe" type="GIProbe" parent="."] [node name="GIProbe" type="GIProbe" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.945391, 1.15135, 1.78806 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.945391, 1.15135, 1.78806 )
extents = Vector3( 10, 10, 22.3077 ) extents = Vector3( 10, 10, 22.3077 )
energy = 1.89 script = null
propagation = 1.0
bias = 1.58
normal_bias = 0.061
interior = true
compress = true
[node name="ReflectionProbe" type="ReflectionProbe" parent="."] [node name="ReflectionProbe" type="ReflectionProbe" parent="."]
update_mode = 1
intensity = 0.51 intensity = 0.51
max_distance = 1.7 max_distance = 1.7
extents = Vector3( 1, 1.583, 1 ) extents = Vector3( 1, 1.583, 1 )
box_projection = true box_projection = true
script = null
[node name="RootMotionView" type="RootMotionView" parent="."] [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 linear_damp = 0.126
monitoring = false monitoring = false
script = null
[node name="CollisionShape" type="CollisionShape" parent="Area"] [node name="CollisionShape" type="CollisionShape3D" parent="Area"]
shape = SubResource( 20 ) shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="Area"] [node name="KinematicBody" type="KinematicBody3D" parent="."]
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="."]
collision/safe_margin = 0.033 collision/safe_margin = 0.033
script = null
[node name="CollisionShape" type="CollisionShape" parent="KinematicBody"] [node name="CollisionShape" type="CollisionShape3D" parent="KinematicBody"]
shape = SubResource( 20 ) shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="KinematicBody"] [node name="PhysicalBone" type="PhysicalBone3D" parent="."]
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="."]
mass = 1.21 mass = 1.21
weight = 11.858 script = null
[node name="CollisionShape" type="CollisionShape" parent="PhysicalBone"] [node name="CollisionShape" type="CollisionShape3D" parent="PhysicalBone"]
shape = SubResource( 20 ) shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="PhysicalBone"] [node name="RigidBody" type="RigidBody3D" parent="."]
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="."]
mass = 1.19 mass = 1.19
physics_material_override = SubResource( 21 ) physics_material_override = SubResource( 24 )
gravity_scale = 1.12 gravity_scale = 1.12
axis_lock_linear_x = true axis_lock_linear_x = true
script = null
[node name="CollisionShape" type="CollisionShape" parent="RigidBody"] [node name="CollisionShape" type="CollisionShape3D" parent="RigidBody"]
shape = SubResource( 20 ) shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="RigidBody"] [node name="VehicleBody" type="VehicleBody3D" parent="."]
shape = SubResource( 20 ) physics_material_override = SubResource( 25 )
[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 )
engine_force = 16.41 engine_force = 16.41
brake = 0.46 brake = 0.46
steering = 0.17
script = null
[node name="CollisionShape" type="CollisionShape" parent="VehicleBody"] [node name="CollisionShape" type="CollisionShape3D" parent="VehicleBody"]
shape = SubResource( 20 ) shape = SubResource( 23 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="VehicleBody"] [node name="VehicleWheel4" type="VehicleWheel3D" 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"]
engine_force = 5.60519e-45 engine_force = 5.60519e-45
brake = 0.46 brake = 0.46
script = null
[node name="VehicleWheel2" type="VehicleWheel" parent="VehicleBody"] [node name="StaticBody" type="StaticBody3D" parent="."]
engine_force = 5.60519e-45 physics_material_override = SubResource( 26 )
brake = 0.46 constant_linear_velocity = Vector3( 0.049, 0, 0 )
script = null
[node name="VehicleWheel3" type="VehicleWheel" parent="VehicleBody"] [node name="CollisionShape" type="CollisionShape3D" parent="StaticBody"]
engine_force = 5.60519e-45 shape = SubResource( 23 )
brake = 0.46 script = null
[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="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = SubResource( 24 ) stream = SubResource( 27 )
attenuation_model = 1 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="."] [node name="CollisionPolygon" type="CollisionPolygon3D" 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 ) 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 ) 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="."] [node name="GridMap" type="GridMap" parent="."]
mesh_library = SubResource( 27 ) mesh_library = SubResource( 30 )
cell_size = Vector3( 2, 1.14, 3.08 ) cell_size = Vector3( 2, 1.14, 3.08 )
data = { 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__ = { __meta__ = {
"_editor_clip_": 0 "_editor_clip_": 0
} }
[node name="Listener" type="Listener" parent="."] [node name="Listener" type="Listener3D" parent="."]
current = true current = true
script = null
[node name="Navigation_LEAK" type="Navigation" parent="."] [node name="Navigation" type="Node" parent="."]
up_vector = Vector3( 0, 1.228, 0 ) script = null
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="Navigation_LEAK"] [node name="NavigationMeshInstance" type="NavigationRegion3D" parent="Navigation"]
navmesh = SubResource( 28 ) navmesh = SubResource( 31 )
script = null
[node name="NavigationMeshInstance2" type="NavigationMeshInstance" parent="Navigation_LEAK"] [node name="NavigationMeshInstance" type="NavigationRegion3D" parent="."]
navmesh = SubResource( 28 ) navmesh = SubResource( 31 )
script = null
[node name="NavigationMeshInstance3" type="NavigationMeshInstance" parent="Navigation_LEAK"] [node name="Path" type="Path3D" parent="."]
navmesh = SubResource( 28 ) curve = SubResource( 32 )
script = null
[node name="NavigationMeshInstance4" type="NavigationMeshInstance" parent="Navigation_LEAK"] [node name="PathFollow" type="PathFollow3D" parent="Path"]
navmesh = SubResource( 28 ) 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="."] [node name="PathFollow" type="PathFollow3D" parent="."]
navmesh = SubResource( 28 ) offset = 2.09
h_offset = 0.101
[node name="Path" type="Path" parent="."] script = null
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="Position3D_NOTHING" type="Position3D" parent="."] [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 current = true
script = null
[node name="ProximityGroup" type="ProximityGroup" parent="."] [node name="ProximityGroup" type="ProximityGroup3D" parent="."]
dispatch_mode = 1 dispatch_mode = 1
script = null
[node name="RayCast" type="RayCast" parent="."] [node name="RayCast" type="RayCast3D" parent="."]
enabled = true script = null
[node name="RemoteTransform" type="RemoteTransform" parent="."] [node name="RemoteTransform" type="RemoteTransform3D" parent="."]
remote_path = NodePath("../Camera3D") 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 ) 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"] [node name="CollisionShape4" type="CollisionShape3D" 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 ) shape = SubResource( 33 )
script = null
[node name="BoneAttachment3" type="BoneAttachment" parent="Skeleton/PhysicalBone"] [node name="PhysicalBone 3" type="PhysicalBone3D" parent="Skeleton"]
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"]
mass = 0.958163 mass = 0.958163
weight = 9.39
friction = 0.62 friction = 0.62
bounce = 0.3 bounce = 0.3
gravity_scale = 0.6 gravity_scale = 0.6
script = null
[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone 3"] [node name="CollisionShape" type="CollisionShape3D" parent="Skeleton/PhysicalBone 3"]
shape = SubResource( 30 ) shape = SubResource( 33 )
script = null
[node name="CollisionShape2" type="CollisionShape" parent="Skeleton/PhysicalBone 3"] [node name="SpringArm" type="SpringArm3D" parent="."]
shape = SubResource( 30 ) shape = SubResource( 34 )
script = null
[node name="CollisionShape3" type="CollisionShape" parent="Skeleton/PhysicalBone 3"] [node name="VehicleWheel" type="VehicleWheel3D" parent="."]
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="."]
engine_force = 0.49 engine_force = 0.49
brake = 0.74 brake = 0.74
steering = -0.63 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 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.63619, -0.392871, 2.48948 )
nodes/node_a = NodePath("../StaticBody") nodes/node_a = NodePath("../StaticBody")
nodes/node_b = NodePath("../PhysicalBone") nodes/node_b = NodePath("../PhysicalBone")
@ -607,8 +587,9 @@ angular_spring_z/enabled = true
angular_spring_z/stiffness = 0.5 angular_spring_z/stiffness = 0.5
angular_spring_z/damping = 0.64 angular_spring_z/damping = 0.64
angular_spring_z/equilibrium_point = -0.9 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_a = NodePath("../StaticBody")
nodes/node_b = NodePath("../PhysicalBone") nodes/node_b = NodePath("../PhysicalBone")
params/bias = 0.99 params/bias = 0.99
@ -621,8 +602,9 @@ angular_limit/relaxation = 3.6
motor/enable = true motor/enable = true
motor/target_velocity = -1.3 motor/target_velocity = -1.3
motor/max_impulse = 30.2 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17785, 0.25203, 4.6063 )
nodes/node_a = NodePath("../VehicleBody") nodes/node_a = NodePath("../VehicleBody")
nodes/node_b = NodePath("../StaticBody") nodes/node_b = NodePath("../StaticBody")
@ -642,15 +624,17 @@ angular_limit/lower_angle = 38.8
angular_motion/softness = 2.18 angular_motion/softness = 2.18
angular_motion/restitution = 1.77 angular_motion/restitution = 1.77
angular_motion/damping = 4.88 angular_motion/damping = 4.88
script = null
[node name="PinJoint" type="PinJoint" parent="."] [node name="PinJoint" type="PinJoint3D" parent="."]
nodes/node_a = NodePath("../Area") nodes/node_a = NodePath("../KinematicBody")
nodes/node_b = NodePath("../StaticBody") nodes/node_b = NodePath("../StaticBody")
params/bias = 0.99 params/bias = 0.99
params/damping = 7.3 params/damping = 7.3
params/impulse_clamp = 7.2 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_a = NodePath("../PhysicalBone")
nodes/node_b = NodePath("../RigidBody") nodes/node_b = NodePath("../RigidBody")
solver/priority = 8 solver/priority = 8
@ -658,31 +642,19 @@ twist_span = 9500.4
bias = 0.46 bias = 0.46
softness = 0.95 softness = 0.95
relaxation = 0.83 relaxation = 0.83
script = null
[node name="OmniLight3D" type="OmniLight" parent="."] [node name="OmniLight" type="OmniLight3D" parent="."]
light_energy = 1.61 light_energy = 1.61
light_indirect_energy = 1.35 light_indirect_energy = 1.35
light_specular = 0.68 light_specular = 0.68
omni_range = 118.9 omni_range = 118.9
omni_attenuation = 1.51572 omni_attenuation = 1.51572
omni_shadow_mode = 0 omni_shadow_mode = 0
omni_shadow_detail = 0 script = null
[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
[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/OtherALL.tscn" type="PackedScene" id=1]
[ext_resource path="res://AIO/AllNodes/2DALL.tscn" type="PackedScene" id=2] [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/ControlALL.tscn" type="PackedScene" id=4]
[ext_resource path="res://AIO/AllNodes/3DALL.tscn" type="PackedScene" id=5] [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="ControlALL" parent="." instance=ExtResource( 4 )]
[node name="OtherALL" parent="." instance=ExtResource( 1 )] [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] [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] [sub_resource type="Theme" id=1]
@ -8,468 +8,440 @@
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
columns = 9 columns = 9
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="Popup" type="Popup" parent="."] [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 ) theme = SubResource( 1 )
popup_exclusive = true script = null
[node name="WindowDialog" type="WindowDialog" parent="."] [node name="WindowDialog" type="Node" parent="."]
visible = true script = null
margin_left = 84.0
margin_right = 167.0
margin_bottom = 130.0
popup_exclusive = true
window_title = "wfaas"
resizable = true
[node name="AcceptDialog" type="AcceptDialog" parent="."] [node name="AcceptDialog" type="AcceptDialog" parent="."]
visible = true position = Vector2i( 0, 64 )
margin_left = 171.0
margin_right = 251.0
margin_bottom = 130.0
window_title = "asfas"
resizable = true
dialog_text = "fqwfqwfqwf" dialog_text = "fqwfqwfqwf"
dialog_hide_on_ok = false dialog_hide_on_ok = false
dialog_autowrap = true dialog_autowrap = true
script = null
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."] [node name="ConfirmationDialog" type="ConfirmationDialog" parent="."]
visible = true position = Vector2i( 0, 64 )
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
dialog_text = "fas" dialog_text = "fas"
dialog_hide_on_ok = false dialog_hide_on_ok = false
dialog_autowrap = true dialog_autowrap = true
script = null
[node name="FileDialog" type="FileDialog" parent="."] [node name="FileDialog" type="FileDialog" parent="."]
visible = true position = Vector2i( 0, 64 )
margin_left = 465.0 size = Vector2i( 371, 122 )
margin_right = 681.0
margin_bottom = 130.0
rect_min_size = Vector2( 138, 48.3 )
window_title = "Open File(s)"
dialog_text = "sffasfasf" dialog_text = "sffasfasf"
dialog_hide_on_ok = true dialog_hide_on_ok = true
dialog_autowrap = true dialog_autowrap = true
mode_overrides_title = false mode_overrides_title = false
mode = 1
access = 1 access = 1
filters = PoolStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" ) filters = PackedStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" )
show_hidden_files = true show_hidden_files = true
current_dir = "user://" current_dir = "user://"
current_file = "asf" current_file = "asf"
current_path = "user://asf" current_path = "user://asf"
script = null
[node name="PopupDialog_NOTHING" type="PopupDialog" parent="."] [node name="PopupDialog_NOTHING" type="Node" parent="."]
visible = true script = null
margin_left = 685.0
margin_right = 737.0
margin_bottom = 130.0
popup_exclusive = true
[node name="PopupMenu" type="PopupMenu" parent="."] [node name="PopupMenu" type="PopupMenu" parent="."]
margin_top = 923.0 items = [ ]
margin_right = 308.0
margin_bottom = 943.0
hide_on_item_selection = false hide_on_item_selection = false
hide_on_checkable_item_selection = false hide_on_checkable_item_selection = false
hide_on_state_item_selection = true hide_on_state_item_selection = true
submenu_popup_delay = 5.32352e+07 submenu_popup_delay = 5.32352e+07
allow_search = true script = null
[node name="PopupPanel_NOTHING" type="PopupPanel" parent="."] [node name="PopupPanel_NOTHING" type="PopupPanel" parent="."]
visible = true script = null
margin_left = 741.0
margin_right = 753.0
margin_bottom = 130.0
popup_exclusive = true
[node name="Button" type="Button" parent="."] [node name="Button" type="Button" parent="."]
margin_left = 757.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 40.0
margin_bottom = 130.0
text = "asfasf" text = "asfasf"
flat = true flat = true
clip_text = true clip_text = true
align = 0 align = 0
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="CheckBox_NOTHING" type="CheckBox" parent="."] [node name="CheckBox_NOTHING" type="CheckBox" parent="."]
margin_left = 819.0 offset_left = 62.0
margin_right = 1127.0 offset_right = 370.0
margin_bottom = 130.0 offset_bottom = 40.0
text = "safasf" text = "safasf"
flat = true flat = true
clip_text = true clip_text = true
align = 2 align = 2
script = null
[node name="CheckButton_NOTHING" type="CheckButton" parent="."] [node name="CheckButton_NOTHING" type="CheckButton" parent="."]
margin_top = 134.0 offset_left = 374.0
margin_right = 80.0 offset_right = 454.0
margin_bottom = 546.0 offset_bottom = 40.0
text = "asfq" text = "asfq"
flat = true flat = true
clip_text = true clip_text = true
align = 1 align = 1
script = null
[node name="ColorPickerButton" type="ColorPickerButton" parent="."] [node name="ColorPickerButton" type="ColorPickerButton" parent="."]
margin_left = 84.0 offset_left = 458.0
margin_top = 134.0 offset_right = 532.0
margin_right = 167.0 offset_bottom = 40.0
margin_bottom = 546.0
text = "asfasf" text = "asfasf"
flat = true flat = true
clip_text = true clip_text = true
align = 2 align = 2
color = Color( 0.639216, 0.576471, 0.576471, 1 ) color = Color( 0.639216, 0.576471, 0.576471, 1 )
edit_alpha = false edit_alpha = false
script = null
[node name="MenuButton" type="MenuButton" parent="."] [node name="MenuButton" type="MenuButton" parent="."]
margin_left = 171.0 offset_left = 536.0
margin_top = 134.0 offset_right = 580.0
margin_right = 251.0 offset_bottom = 40.0
margin_bottom = 546.0
icon = ExtResource( 1 ) icon = ExtResource( 1 )
items = [ ]
switch_on_hover = true switch_on_hover = true
script = null
[node name="OptionButton" type="OptionButton" parent="."] [node name="OptionButton" type="OptionButton" parent="."]
margin_left = 255.0 offset_left = 584.0
margin_top = 134.0 offset_right = 645.0
margin_right = 461.0 offset_bottom = 40.0
margin_bottom = 546.0
icon = ExtResource( 1 ) icon = ExtResource( 1 )
items = [ ]
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="ToolButton_NOTHING" type="ToolButton" parent="."] [node name="ToolButton_NOTHING" type="Button" parent="."]
margin_left = 465.0 offset_left = 649.0
margin_top = 134.0 offset_right = 695.0
margin_right = 681.0 offset_bottom = 40.0
margin_bottom = 546.0
text = "asfasf" text = "asfasf"
icon = ExtResource( 1 ) icon = ExtResource( 1 )
flat = false
clip_text = true clip_text = true
align = 2 align = 2
script = null
[node name="LinkButton" type="LinkButton" parent="."] [node name="LinkButton" type="LinkButton" parent="."]
margin_left = 685.0 offset_left = 699.0
margin_top = 134.0 offset_right = 751.0
margin_right = 737.0 offset_bottom = 40.0
margin_bottom = 546.0
text = "asfqfqwf" text = "asfqfqwf"
underline = 2 underline = 2
structured_text_bidi_override_options = [ ]
script = null
[node name="TextureButton" type="TextureButton" parent="."] [node name="TextureButton" type="TextureButton" parent="."]
margin_left = 741.0 offset_left = 755.0
margin_top = 134.0 offset_right = 767.0
margin_right = 753.0 offset_bottom = 40.0
margin_bottom = 546.0
expand = true expand = true
stretch_mode = 5 stretch_mode = 5
script = null
[node name="Container" type="Container" parent="."] [node name="Container" type="Container" parent="."]
margin_left = 757.0 offset_top = 44.0
margin_top = 134.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 454.0
margin_bottom = 546.0 script = null
[node name="Control" type="Control" parent="Container"] [node name="Control" type="Control" parent="Container"]
margin_right = 40.0 script = null
margin_bottom = 40.0
[node name="Control2" type="Control" parent="Container"] [node name="Control2" type="Control" parent="Container"]
margin_right = 40.0 script = null
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
[node name="ColorPicker" type="ColorPicker" parent="."] [node name="ColorPicker" type="ColorPicker" parent="."]
margin_left = 819.0 offset_left = 62.0
margin_top = 134.0 offset_top = 44.0
margin_right = 1127.0 offset_right = 370.0
margin_bottom = 546.0 offset_bottom = 454.0
alignment = 1 alignment = 1
edit_alpha = false edit_alpha = false
raw_mode = true raw_mode = true
deferred_mode = true deferred_mode = true
presets_enabled = false presets_enabled = false
presets_visible = false presets_visible = false
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="HBoxContainer_NOTHING" type="HBoxContainer" parent="."] [node name="HBoxContainer_NOTHING" type="HBoxContainer" parent="."]
margin_top = 550.0 offset_left = 374.0
margin_right = 80.0 offset_top = 44.0
margin_bottom = 580.0 offset_right = 454.0
offset_bottom = 454.0
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="VBoxContainer_NOTHING" type="VBoxContainer" parent="."] [node name="VBoxContainer_NOTHING" type="VBoxContainer" parent="."]
margin_left = 84.0 offset_left = 458.0
margin_top = 550.0 offset_top = 44.0
margin_right = 167.0 offset_right = 532.0
margin_bottom = 580.0 offset_bottom = 454.0
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="CenterContainer" type="CenterContainer" parent="."] [node name="CenterContainer" type="CenterContainer" parent="."]
margin_left = 171.0 offset_left = 536.0
margin_top = 550.0 offset_top = 44.0
margin_right = 251.0 offset_right = 580.0
margin_bottom = 580.0 offset_bottom = 454.0
use_top_left = true use_top_left = true
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="ScrollContainer" type="ScrollContainer" parent="."] [node name="ScrollContainer" type="ScrollContainer" parent="."]
margin_left = 255.0 offset_left = 584.0
margin_top = 550.0 offset_top = 44.0
margin_right = 461.0 offset_right = 645.0
margin_bottom = 580.0 offset_bottom = 454.0
script = null
[node name="GraphNode" type="GraphNode" parent="."] [node name="GraphNode" type="GraphNode" parent="."]
margin_left = 465.0 offset_left = 649.0
margin_top = 550.0 offset_top = 44.0
margin_right = 681.0 offset_right = 695.0
margin_bottom = 580.0 offset_bottom = 454.0
script = null
[node name="GridContainer" type="GridContainer" parent="."] [node name="GridContainer" type="GridContainer" parent="."]
margin_left = 685.0 offset_left = 699.0
margin_top = 550.0 offset_top = 44.0
margin_right = 737.0 offset_right = 751.0
margin_bottom = 580.0 offset_bottom = 454.0
script = null
[node name="HSplitContainer_NOTHING" type="HSplitContainer" parent="."] [node name="HSplitContainer_NOTHING" type="HSplitContainer" parent="."]
margin_left = 741.0 offset_left = 755.0
margin_top = 550.0 offset_top = 44.0
margin_right = 753.0 offset_right = 767.0
margin_bottom = 580.0 offset_bottom = 454.0
script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="VSplitContainer_NOTHING" type="VSplitContainer" parent="."] [node name="VSplitContainer_NOTHING" type="VSplitContainer" parent="."]
margin_left = 757.0 offset_top = 458.0
margin_top = 550.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 490.0
margin_bottom = 580.0 script = null
[node name="MarginContainer_NOTHING" type="MarginContainer" parent="."] [node name="MarginContainer_NOTHING" type="MarginContainer" parent="."]
margin_left = 819.0 offset_left = 62.0
margin_top = 550.0 offset_top = 458.0
margin_right = 1127.0 offset_right = 370.0
margin_bottom = 580.0 offset_bottom = 490.0
script = null
[node name="PanelContainer_NOTHING" type="PanelContainer" parent="."] [node name="PanelContainer_NOTHING" type="PanelContainer" parent="."]
margin_top = 584.0 offset_left = 374.0
margin_right = 80.0 offset_top = 458.0
margin_bottom = 620.0 offset_right = 454.0
offset_bottom = 490.0
script = null
[node name="TabContainer" type="TabContainer" parent="."] [node name="TabContainer" type="TabContainer" parent="."]
margin_left = 84.0 offset_left = 458.0
margin_top = 584.0 offset_top = 458.0
margin_right = 167.0 offset_right = 532.0
margin_bottom = 620.0 offset_bottom = 490.0
script = null
[node name="ViewportContainer" type="ViewportContainer" parent="."] [node name="ViewportContainer" type="SubViewportContainer" parent="."]
margin_left = 171.0 offset_left = 536.0
margin_top = 584.0 offset_top = 458.0
margin_right = 251.0 offset_right = 580.0
margin_bottom = 620.0 offset_bottom = 490.0
script = null
[node name="ColorRect" type="ColorRect" parent="."] [node name="ColorRect" type="ColorRect" parent="."]
margin_left = 255.0 offset_left = 584.0
margin_top = 584.0 offset_top = 458.0
margin_right = 461.0 offset_right = 645.0
margin_bottom = 620.0 offset_bottom = 490.0
script = null
[node name="GraphEdit" type="GraphEdit" parent="."] [node name="GraphEdit" type="GraphEdit" parent="."]
margin_left = 465.0 offset_left = 649.0
margin_top = 584.0 offset_top = 458.0
margin_right = 681.0 offset_right = 695.0
margin_bottom = 620.0 offset_bottom = 490.0
scroll_offset = Vector2( -102, 0 ) script = null
[node name="HScrollBar_NOTHING" type="HScrollBar" parent="."] [node name="HScrollBar_NOTHING" type="HScrollBar" parent="."]
margin_left = 685.0 offset_left = 699.0
margin_top = 584.0 offset_top = 458.0
margin_right = 737.0 offset_right = 751.0
margin_bottom = 596.0 offset_bottom = 470.0
script = null
[node name="VScrollBar_NOTHING" type="VScrollBar" parent="."] [node name="VScrollBar_NOTHING" type="VScrollBar" parent="."]
margin_left = 741.0 offset_left = 755.0
margin_top = 584.0 offset_top = 458.0
margin_right = 753.0 offset_right = 767.0
margin_bottom = 620.0 offset_bottom = 490.0
script = null
[node name="HSlider_NOTHING" type="HSlider" parent="."] [node name="HSlider_NOTHING" type="HSlider" parent="."]
margin_left = 757.0 offset_top = 494.0
margin_top = 584.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 510.0
margin_bottom = 600.0 script = null
[node name="VSlider_NOTHING" type="VSlider" parent="."] [node name="VSlider_NOTHING" type="VSlider" parent="."]
margin_left = 819.0 offset_left = 62.0
margin_top = 584.0 offset_top = 494.0
margin_right = 835.0 offset_right = 78.0
margin_bottom = 620.0 offset_bottom = 518.0
script = null
[node name="ProgressBar" type="ProgressBar" parent="."] [node name="ProgressBar" type="ProgressBar" parent="."]
margin_top = 624.0 offset_left = 374.0
margin_right = 80.0 offset_top = 494.0
margin_bottom = 638.0 offset_right = 454.0
offset_bottom = 508.0
script = null
[node name="SpinBox" type="SpinBox" parent="."] [node name="SpinBox" type="SpinBox" parent="."]
margin_left = 84.0 offset_left = 458.0
margin_top = 624.0 offset_top = 494.0
margin_right = 167.0 offset_right = 532.0
margin_bottom = 648.0 offset_bottom = 518.0
script = null
[node name="TextureProgress" type="TextureProgress" parent="."] [node name="TextureProgress" type="TextureProgressBar" parent="."]
margin_left = 171.0 offset_left = 536.0
margin_top = 624.0 offset_top = 494.0
margin_right = 251.0 offset_right = 580.0
margin_bottom = 648.0 offset_bottom = 518.0
script = null
[node name="HSeparator" type="HSeparator" parent="."] [node name="HSeparator" type="HSeparator" parent="."]
margin_left = 255.0 offset_left = 584.0
margin_top = 624.0 offset_top = 494.0
margin_right = 461.0 offset_right = 645.0
margin_bottom = 648.0 offset_bottom = 518.0
script = null
[node name="VSeparator" type="VSeparator" parent="."] [node name="VSeparator" type="VSeparator" parent="."]
margin_left = 465.0 offset_left = 649.0
margin_top = 624.0 offset_top = 494.0
margin_right = 681.0 offset_right = 695.0
margin_bottom = 648.0 offset_bottom = 518.0
script = null
[node name="ItemList" type="ItemList" parent="."] [node name="ItemList" type="ItemList" parent="."]
margin_left = 685.0 offset_left = 699.0
margin_top = 624.0 offset_top = 494.0
margin_right = 737.0 offset_right = 751.0
margin_bottom = 648.0 offset_bottom = 518.0
items = [ ]
script = null
[node name="Label" type="Label" parent="."] [node name="Label" type="Label" parent="."]
margin_left = 741.0 offset_left = 755.0
margin_top = 629.0 offset_top = 499.0
margin_right = 753.0 offset_right = 767.0
margin_bottom = 643.0 offset_bottom = 513.0
structured_text_bidi_override_options = [ ]
script = null
[node name="LineEdit" type="LineEdit" parent="."] [node name="LineEdit" type="LineEdit" parent="."]
margin_left = 757.0 offset_top = 522.0
margin_top = 624.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 546.0
margin_bottom = 648.0 structured_text_bidi_override_options = [ ]
caret_blink = true caret_blink = true
script = null
[node name="NinePatchRect" type="NinePatchRect" parent="."] [node name="NinePatchRect" type="NinePatchRect" parent="."]
margin_left = 819.0 offset_left = 62.0
margin_top = 624.0 offset_top = 522.0
margin_right = 1127.0 offset_right = 370.0
margin_bottom = 648.0 offset_bottom = 546.0
script = null
[node name="Panel_NOTHING" type="Panel" parent="."] [node name="Panel_NOTHING" type="Panel" parent="."]
margin_top = 652.0 offset_left = 374.0
margin_right = 80.0 offset_top = 522.0
margin_bottom = 676.0 offset_right = 454.0
offset_bottom = 546.0
script = null
[node name="ReferenceRect" type="ReferenceRect" parent="."] [node name="ReferenceRect" type="ReferenceRect" parent="."]
margin_left = 84.0 offset_left = 458.0
margin_top = 652.0 offset_top = 522.0
margin_right = 167.0 offset_right = 532.0
margin_bottom = 676.0 offset_bottom = 546.0
script = null
[node name="RichTextLabel" type="RichTextLabel" parent="."] [node name="RichTextLabel" type="RichTextLabel" parent="."]
margin_left = 171.0 offset_left = 536.0
margin_top = 652.0 offset_top = 522.0
margin_right = 251.0 offset_right = 580.0
margin_bottom = 676.0 offset_bottom = 546.0
custom_effects = [ ]
structured_text_bidi_override_options = [ ]
script = null
[node name="Tabs" type="Tabs" parent="."] [node name="Tabs" type="Tabs" parent="."]
margin_left = 255.0 offset_left = 584.0
margin_top = 652.0 offset_top = 522.0
margin_right = 461.0 offset_right = 645.0
margin_bottom = 676.0 offset_bottom = 546.0
script = null
[node name="TextEdit" type="TextEdit" parent="."] [node name="TextEdit" type="TextEdit" parent="."]
margin_left = 465.0 offset_left = 649.0
margin_top = 652.0 offset_top = 522.0
margin_right = 681.0 offset_right = 695.0
margin_bottom = 676.0 offset_bottom = 546.0
structured_text_bidi_override_options = [ ]
script = null
[node name="TextureRect" type="TextureRect" parent="."] [node name="TextureRect" type="TextureRect" parent="."]
margin_left = 685.0 offset_left = 699.0
margin_top = 652.0 offset_top = 522.0
margin_right = 737.0 offset_right = 751.0
margin_bottom = 676.0 offset_bottom = 546.0
script = null
[node name="Tree" type="Tree" parent="."] [node name="Tree" type="Tree" parent="."]
margin_left = 741.0 offset_left = 755.0
margin_top = 652.0 offset_top = 522.0
margin_right = 753.0 offset_right = 767.0
margin_bottom = 676.0 offset_bottom = 546.0
script = null
[node name="VideoPlayer" type="VideoPlayer" parent="."] [node name="VideoPlayer" type="VideoPlayer" parent="."]
margin_left = 757.0 offset_top = 550.0
margin_top = 652.0 offset_right = 58.0
margin_right = 815.0 offset_bottom = 550.0
margin_bottom = 676.0 script = null
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }

View File

@ -9,9 +9,18 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( ), "times": PackedFloat32Array( 1.4, 4.6, 8.1 ),
"transitions": PoolRealArray( ), "transitions": PackedFloat32Array( 1, 1, 1 ),
"values": [ ] "values": [ {
"args": [ ],
"method": @"stop_all"
}, {
"args": [ ],
"method": @"resume_all"
}, {
"args": [ ],
"method": @"is_active"
} ]
} }
[sub_resource type="AnimationNodeBlendSpace1D" id=2] [sub_resource type="AnimationNodeBlendSpace1D" id=2]
@ -21,48 +30,66 @@ tracks/0/keys = {
[sub_resource type="Environment" id=4] [sub_resource type="Environment" id=4]
[node name="OtherALL" type="Node"] [node name="OtherALL" type="Node"]
script = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../AudioStreamPlayer") root_node = NodePath("../AudioStreamPlayer")
"anims/New Anim" = SubResource( 1 ) "anims/New Anim" = SubResource( 1 )
blend_times = [ ]
script = null
[node name="AnimationTree" type="AnimationTree" parent="."] [node name="AnimationTree" type="AnimationTree" parent="."]
tree_root = SubResource( 2 ) tree_root = SubResource( 2 )
anim_player = NodePath("../AnimationPlayer") anim_player = NodePath("../AnimationPlayer")
parameters/blend_position = 0 parameters/blend_position = 0
script = null
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = SubResource( 3 ) stream = SubResource( 3 )
volume_db = 0.066 volume_db = 0.066
pitch_scale = 2.48 pitch_scale = 2.48
script = null
[node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 55 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="."] [node name="ParallaxBackground" type="ParallaxBackground" parent="."]
scroll_offset = Vector2( 0.026, 0 ) scroll_offset = Vector2( 0.026, 0 )
scroll_base_offset = Vector2( 0.038, 0 ) scroll_base_offset = Vector2( 0.038, 0 )
scroll_base_scale = Vector2( 1, 1.045 ) scroll_base_scale = Vector2( 1, 1.045 )
script = null
[node name="HTTPRequest" type="HTTPRequest" parent="."] [node name="HTTPRequest" type="HTTPRequest" parent="."]
use_threads = true use_threads = true
script = null
[node name="ResourcePreloader" type="ResourcePreloader" parent="."] [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 process_priority = 1
interpolation = 0.942 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 ) 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 ) magnet = Vector3( 2.8, -3.69, -0.95 )
target_node = NodePath("../ResourcePreloader") target_node = NodePath("../ResourcePreloader")
script = null
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
script = null
[node name="Tween" type="Tween" parent="."] [node name="Tween" type="Tween" parent="."]
repeat = true repeat = true
playback/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="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource( 4 ) 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://Nodes/Nodes.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://AIO/Operators/Operators.tscn" type="PackedScene" id=5] [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://Physics/2D/Physics2D.tscn" type="PackedScene" id=6]
[ext_resource path="res://Rendering/Lights3D/Lights3D.tscn" type="PackedScene" id=7] [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://Physics/3D/Physics3D.tscn" type="PackedScene" id=9]
[ext_resource path="res://Text/Text.tscn" type="PackedScene" id=10] [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://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="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="Physics" type="Node" parent="."]
[node name="Physics2D" parent="Physics" instance=ExtResource( 6 )] [node name="Physics2D" parent="Physics" instance=ExtResource( 6 )]
@ -38,8 +26,12 @@
[node name="Text" parent="." instance=ExtResource( 10 )] [node name="Text" parent="." instance=ExtResource( 10 )]
[node name="ReparentingDeleting" parent="." instance=ExtResource( 12 )]
[node name="AIO" type="Node" parent="."] [node name="AIO" type="Node" parent="."]
[node name="ALL" parent="AIO" instance=ExtResource( 11 )] [node name="ALL" parent="AIO" instance=ExtResource( 11 )]
[node name="Node2D" parent="AIO" instance=ExtResource( 5 )] [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 const PRINT_TIME_EVERY_MILISECONDS : int = 5000
var time_to_print_next_time : int = PRINT_TIME_EVERY_MILISECONDS 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 var time_for_each_step : int = -1
# Each scene runs alone # Each scene runs alone
const alone_steps : Array = [ 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/2D/Physics2D.tscn",
"res://Physics/3D/Physics3D.tscn", "res://Physics/3D/Physics3D.tscn",
"res://Rendering/Lights2D/Lights2D.tscn", "res://Rendering/Lights2D/Lights2D.tscn",
"res://Rendering/Lights3D/Lights3D.tscn", "res://Rendering/Lights3D/Lights3D.tscn",
"res://Nodes/Nodes.tscn",
"res://ReparentingDeleting/ReparentingDeleting.tscn", "res://ReparentingDeleting/ReparentingDeleting.tscn",
"res://Text/Text.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 # This should be put regression scripts which needs to run only once
const all_in_one : Array = [ const all_in_one : Array = [
"res://AIO/Operators/Operators.tscn", "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() start_time = OS.get_ticks_msec()
# In case when user doesn't provide time var time_set : bool = false
time_for_each_step = time_to_show / (alone_steps.size() + 1)
for argument in OS.get_cmdline_args(): for argument in OS.get_cmdline_args():
if argument.is_valid_float(): # Ignore all non numeric arguments if argument.is_valid_float(): # Ignore all non numeric arguments
time_set = true
time_to_show = int(argument.to_float() * 1000) time_to_show = int(argument.to_float() * 1000)
time_for_each_step = time_to_show / (alone_steps.size() + 1) 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() + 1) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.") 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 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: func _process(delta: float) -> void:
var current_run_time : int = OS.get_ticks_msec() - start_time 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") print("Test is running now " + str(int(time_to_print_next_time / 1000)) + " seconds")
time_to_print_next_time += PRINT_TIME_EVERY_MILISECONDS 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 #!/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] [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] [ext_resource path="res://Physics/2D/Area2D.gd" type="Script" id=2]
[node name="Area2D" type="Area2D"] [node name="Area2D" type="Area2D"]
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] [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="."] [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 ) texture = ExtResource( 1 )
script = null
[connection signal="area_entered" from="." to="." method="_on_Area2D_area_entered"] [connection signal="area_entered" from="." to="." method="_on_Area2D_area_entered"]
[connection signal="body_entered" from="." to="." method="_on_Area2D_body_entered"] [connection signal="body_entered" from="." to="." method="_on_Area2D_body_entered"]

View File

@ -8,7 +8,7 @@
friction = 0.89 friction = 0.89
rough = true rough = true
[sub_resource type="StandardMaterial3D" id=2] [sub_resource type="SpatialMaterial" id=2]
albedo_color = Color( 1, 1, 1, 0.521569 ) albedo_color = Color( 1, 1, 1, 0.521569 )
albedo_texture = ExtResource( 1 ) albedo_texture = ExtResource( 1 )
metallic = 1.0 metallic = 1.0
@ -18,7 +18,7 @@ metallic_texture = ExtResource( 1 )
[sub_resource type="BoxShape" id=3] [sub_resource type="BoxShape" id=3]
extents = Vector3( 50, 2, 50 ) extents = Vector3( 50, 2, 50 )
[sub_resource type="StandardMaterial3D" id=4] [sub_resource type="SpatialMaterial" id=4]
params_diffuse_mode = 1 params_diffuse_mode = 1
albedo_texture = ExtResource( 1 ) albedo_texture = ExtResource( 1 )
metallic = 0.8 metallic = 0.8
@ -32,13 +32,13 @@ extents = Vector3( 11.8794, 1.37845, 22.281 )
[sub_resource type="BoxShape" id=7] [sub_resource type="BoxShape" id=7]
extents = Vector3( 11.8794, 1.37845, 22.281 ) 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 ) transform = Transform( 1, 0, 0, 0, -0.959707, 0.281002, 0, -0.281002, -0.959707, 0, 35.3705, 0 )
light_energy = 1.45 light_energy = 1.45
[node name="StaticArena" type="Node3D" parent="."] [node name="StaticArena" type="Spatial" parent="."]
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="StaticBody" type="StaticBody" parent="StaticArena"] [node name="StaticBody" type="StaticBody" parent="StaticArena"]
@ -156,26 +156,26 @@ width = 23.9394
depth = 44.6359 depth = 44.6359
[node name="StaticBody9" type="StaticBody" parent="StaticArena"] [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"] [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 ) shape = SubResource( 7 )
[node name="CSGBox" type="CSGBox" parent="StaticArena/StaticBody9"] [node name="CSGBox" type="CSGBox" parent="StaticArena/StaticBody9"]
width = 23.9394 width = 23.9394
depth = 44.6359 depth = 44.6359
[node name="Objects" type="Node3D" parent="."] [node name="Objects" type="Spatial" parent="."]
[node name="RigidBody" parent="Objects" instance=ExtResource( 3 )] [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 )] [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 ) 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 )] [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 )] [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 ) 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 )] [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 ) 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 )] [node name="Camera" type="Camera" parent="."]
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="."]
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 ) 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 current = true
far = 200.0 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 )] [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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 6.73046, 77.026 )
gravity_scale = -3.0 gravity_scale = -3.0
[node name="RigidBody" parent="Joints/Cone" instance=ExtResource( 3 )] [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"] [node name="ConeTwistJoint" type="ConeTwistJoint" parent="Joints/Cone"]
nodes/node_a = NodePath("../RigidBody") nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2") 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 )] [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 ) 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_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2") 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 )] [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 ) 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_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2") 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 )] [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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 4.83369, 116.28 )
gravity_scale = -3.0 gravity_scale = -3.0
[node name="RigidBody2" parent="Joints/Pin" instance=ExtResource( 3 )] [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"] [node name="PinJoint" type="PinJoint" parent="Joints/Pin"]
nodes/node_a = NodePath("../RigidBody") nodes/node_a = NodePath("../RigidBody")
nodes/node_b = NodePath("../RigidBody2") 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 )] [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 gravity_scale = -3.0
[node name="RigidBody2" parent="Joints/Slider" instance=ExtResource( 3 )] [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"] [node name="SliderJoint" type="SliderJoint" parent="Joints/Slider"]
nodes/node_a = NodePath("../RigidBody") 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. 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? ## How it works?
### Autoload ### Autoload
@ -14,23 +22,43 @@ It handle exiting project after selected number of seconds
When opening any scene, automatically time to exit is set. 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: There are two scenes which opens all scenes:
- All.tscn - opens all scenes at once - All.tscn - opens all scenes at once
- Start.tscn - opens each scene one by one - 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 ### 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 ### Other Scenes
Each other scenes checks specific types of nodes like lights, rendering or physics. Each other scenes checks specific types of nodes like lights, rendering, physics, text.
## 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)
## Epilepsy Warning ## 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. 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] [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] [sub_resource type="OccluderPolygon2D" id=1]
cull_mode = 1 cull_mode = 1
@ -31,153 +31,153 @@ __meta__ = {
[node name="Lights" type="Node2D" parent="."] [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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) 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 ) position = Vector2( 1066.93, 170.071 )
[node name="LightOccluders" type="Node2D" parent="."] [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] [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/Camera.gd" type="Script" id=1]
[ext_resource path="res://Rendering/Lights3D/DirectionalLight3D.gd" type="Script" id=2] [ext_resource path="res://Rendering/Lights3D/DirectionalLight.gd" type="Script" id=2]
[ext_resource path="res://Rendering/Lights3D/OmniLight3D.gd" type="Script" id=3] [ext_resource path="res://Rendering/Lights3D/OmniLight.gd" type="Script" id=3]
[ext_resource path="res://Rendering/Lights3D/SpotLight3D.gd" type="Script" id=4] [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 ) 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 ) light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 ) light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 ) light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6 spot_range = 8.6
script = ExtResource( 4 ) 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 ) 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 ) 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 ) light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 ) light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 ) light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6 spot_range = 8.6
script = ExtResource( 4 ) 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 ) 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 ) 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 ) light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 ) light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 ) light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6 spot_range = 8.6
script = ExtResource( 4 ) 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 ) 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 ) 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 ) light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 ) light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 ) light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6 spot_range = 8.6
script = ExtResource( 4 ) 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 ) 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 ) 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 ) light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
script = ExtResource( 2 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
light_color = Color( 0.556863, 0, 0, 1 ) light_color = Color( 0.556863, 0, 0, 1 )
script = ExtResource( 3 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
light_color = Color( 0.478431, 0.266667, 1, 1 ) light_color = Color( 0.478431, 0.266667, 1, 1 )
spot_range = 8.6 spot_range = 8.6
script = ExtResource( 4 ) 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 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.87313 )
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="Boxes" type="Node3D" parent="."] [node name="Boxes" type="Spatial" parent="."]
[node name="CSGBox" type="CSGBox" parent="Boxes"] [node name="CSGBox" type="CSGBox" parent="Boxes"]
width = 0.782 width = 0.782
@ -126,7 +126,7 @@ width = 0.342
height = 0.521 height = 0.521
depth = 0.394 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 ) 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"] [node name="CSGBox" type="CSGBox" parent="Boxes2"]
@ -146,7 +146,7 @@ width = 0.342
height = 0.521 height = 0.521
depth = 0.394 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 ) 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"] [node name="CSGBox" type="CSGBox" parent="Boxes3"]

View File

@ -1,198 +1,37 @@
extends Node extends Node
var number_of_nodes : int = -1 var number_of_nodes : int = 0
var node_to_handle_others : Node = Node.new() # Special node to handle all available nodes in tree
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: func _ready() -> void:
seed(405) 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()
var child : Node = ClassDB.instance(collected_nodes[index])
node_to_handle_others.set_name("handle_node") child.set_name("Special Node " + str(i))
add_child(child)
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
## It is quite easy algorithm to reparent and delete items ## It is quite easy algorithm to reparent and delete items
# - Add multiple nodes to scene # - Add multiple nodes to scene
@ -209,7 +48,7 @@ func _ready() -> void:
# - At the end add first random node as child of second # - At the end add first random node as child of second
func _process(delta: float) -> void: 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 choosen_node : Node
var parent_of_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) var random_node = find_node("Special Node " + str(randi() % number_of_nodes),true,false)
parent_of_node.remove_child(choosen_node) parent_of_node.remove_child(choosen_node)
# # Do not delete for now due https://github.com/godotengine/godot/issues/45471 if randi() % 10 == 0: # 10% chance to remove node with children
# if randi() % 6 == 0: # 16% chance to remove node with children var names_to_remove : Array = find_all_special_children_names(choosen_node)
# var names_to_remove : Array = find_all_special_children_names(choosen_node) for name_to_remove in names_to_remove:
# for name_to_remove in names_to_remove: var node : Node = ClassDB.instance(collected_nodes[randi() % collected_nodes.size()])
# 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)
# node.set_name(name_to_remove) add_child(node)
# add_child(node) choosen_node.queue_free()
# choosen_node.queue_free() continue
# continue
if choosen_node.find_node(random_node.get_name(),true,false) != null: # Cannot set as node parent one of its child 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 continue
random_node.add_child(choosen_node) random_node.add_child(choosen_node)
# Finds recusivelly all child nodes which are not internal
func find_all_special_children_names(node : Node) -> Array: func find_all_special_children_names(node : Node) -> Array:
var array : Array = [] var array : Array = []
array.append(node.get_name()) array.append(node.get_name())

View File

@ -4,28 +4,29 @@ var current_scene : int = -1
var time_to_switch : int 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 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(): 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):") print("Starting with scene(s):")
for path in Autoload.all_in_one: for path in Autoload.all_in_one:
var scene : Node = load(path).instance() for _i in range(NUMBER_OF_INSTANCES):
add_child(scene) var scene : Node = load(path).instance()
add_child(scene)
print(" - " + path) print(" - " + path)
func _process(_delta): func _process(_delta):
if time_to_switch - OS.get_ticks_msec() <= 0: if current_scene < Autoload.alone_steps.size() - 1 && OS.get_ticks_msec() > array_with_time_to_change[current_scene + 1]:
time_to_switch = Autoload.time_for_each_step + OS.get_ticks_msec() current_scene += 1
if current_scene < Autoload.alone_steps.size() - 1: for child in get_children():
current_scene += 1 child.queue_free()
for child in get_children(): print("Changed scene to " + Autoload.alone_steps[current_scene])
child.queue_free()
print("Changed scene to " + Autoload.alone_steps[current_scene]) for _i in range(NUMBER_OF_INSTANCES):
var scene : Node = load(Autoload.alone_steps[current_scene]).instance()
for _i in range(NUMBER_OF_INSTANCES): add_child(scene)
var scene : Node = load(Autoload.alone_steps[current_scene]).instance()
add_child(scene)

View File

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

View File

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

View File

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