From 9714e049ae56d402c1bfa800d660e851d63d63a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:50:40 +0200 Subject: [PATCH] Remove text and non-script scenes and update fuzzer (#38) --- AIO/AllNodes/2DALL.tscn | 406 ------------------- AIO/AllNodes/3DALL.tscn | 607 ---------------------------- AIO/AllNodes/ALL.tscn | 16 - AIO/AllNodes/ControlALL.tscn | 457 --------------------- AIO/AllNodes/OtherALL.tscn | 80 ---- All.tscn | 10 +- Autoload/Autoload.gd | 5 +- AutomaticBugs/BasicData.gd | 376 ++++++++++------- AutomaticBugs/FunctionExecutor.gd | 145 ++----- AutomaticBugs/FunctionExecutor.tscn | 2 +- AutomaticBugs/ParseArgumentType.gd | 217 ++++++++++ AutomaticBugs/ValueCreator.gd | 118 ++++-- Text/Label.gd | 18 - Text/Label.tscn | 12 - Text/RichTextLabel.gd | 18 - Text/RichTextLabel.tscn | 15 - Text/Text.tscn | 27 -- project.godot | 1 + 18 files changed, 579 insertions(+), 1951 deletions(-) delete mode 100644 AIO/AllNodes/2DALL.tscn delete mode 100644 AIO/AllNodes/3DALL.tscn delete mode 100644 AIO/AllNodes/ALL.tscn delete mode 100644 AIO/AllNodes/ControlALL.tscn delete mode 100644 AIO/AllNodes/OtherALL.tscn create mode 100644 AutomaticBugs/ParseArgumentType.gd delete mode 100644 Text/Label.gd delete mode 100644 Text/Label.tscn delete mode 100644 Text/RichTextLabel.gd delete mode 100644 Text/RichTextLabel.tscn delete mode 100644 Text/Text.tscn diff --git a/AIO/AllNodes/2DALL.tscn b/AIO/AllNodes/2DALL.tscn deleted file mode 100644 index 7b53d6f..0000000 --- a/AIO/AllNodes/2DALL.tscn +++ /dev/null @@ -1,406 +0,0 @@ -[gd_scene load_steps=20 format=2] - -[ext_resource path="res://icon.png" type="Texture" id=5] - -[sub_resource type="SpriteFrames" id=1] -animations = [ { -"frames": [ ExtResource( 5 ) ], -"loop": true, -"name": "0", -"speed": 5.0 -}, { -"frames": [ ExtResource( 5 ), ExtResource( 5 ), ExtResource( 5 ) ], -"loop": true, -"name": "New Anim", -"speed": 5.0 -} ] - -[sub_resource type="CapsuleShape2D" id=2] - -[sub_resource type="AudioStreamGenerator" id=3] - -[sub_resource type="CircleShape2D" id=4] -radius = 143.376 - -[sub_resource type="CapsuleShape2D" id=5] - -[sub_resource type="PhysicsMaterial" id=6] -friction = 0.68 -bounce = 0.22 - -[sub_resource type="OccluderPolygon2D" id=7] -polygon = PoolVector2Array( 154.731, -96.6275, 387.172, 24.2205, -101.105, 208.947, -186.368, 85.7895, -29.5522, -93.1285, 96.4138, -123.454, 143.068, -27.8128, 63.7559, 96.9867, -58.7109, 98.1531, -124.027, 87.6559, -94.8678, 130.811, -65.709, 134.31, -20.2213, 121.48, 63.7559, 115.648, 168.728, 23.5066 ) - -[sub_resource type="Curve" id=8] -_data = [ Vector2( 0.39011, 0.254545 ), 0.0, 12.6848, 0, 0, Vector2( 0.725275, 0.672727 ), 0.0, 0.0, 0, 0 ] - -[sub_resource type="SpatialMaterial" id=9] - -[sub_resource type="CylinderMesh" id=10] -lightmap_size_hint = Vector2( 0, -5.04 ) -material = SubResource( 9 ) -custom_aabb = AABB( 0, -2.18, 0, 0, 1.14, 0 ) -flip_faces = true -top_radius = 100.0 -bottom_radius = 46.11 -height = 46.901 -radial_segments = 4 -rings = 2 - -[sub_resource type="CapsuleMesh" id=11] - -[sub_resource type="MultiMesh" id=12] -color_format = 1 -transform_format = 1 -custom_data_format = 1 -instance_count = 20 -mesh = SubResource( 11 ) -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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) - -[sub_resource type="NavigationPolygon" id=13] -vertices = PoolVector2Array( 296.65, 558.363, 13.3817, 304.252, 991.535, 303.622, 782.014, 568.914, 664.753, 123.873, 648.051, 292.561, 407.545, 340.996, 591.265, 102.16, 200.442, 481.292, -91.8398, 511.355, 288.962, 234.105 ) -polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6, 7 ), PoolIntArray( 8, 9, 10 ) ] -outlines = [ PoolVector2Array( 296.65, 558.363, 13.3817, 304.252, 991.535, 303.622, 782.014, 568.914 ), PoolVector2Array( 591.265, 102.16, 407.545, 340.996, 648.051, 292.561, 664.753, 123.873 ), PoolVector2Array( 288.962, 234.105, -91.8398, 511.355, 200.442, 481.292 ) ] - -[sub_resource type="NavigationPolygon" id=14] - -[sub_resource type="ParticlesMaterial" id=15] -flag_disable_z = true -gravity = Vector3( 0, 98, 0 ) -angular_velocity = 0.000168972 -orbit_velocity = 0.0 -orbit_velocity_random = 0.0 - -[sub_resource type="Curve2D" id=16] -_data = { -"points": PoolVector2Array( 0, 0, 0, 0, 600.13, 43.3051, 0, 0, 0, 0, 300.135, 362.781, 0, 0, 0, 0, 347.542, 374.582, 0, 0, 0, 0, 705.323, 520.571, 0, 0, 0, 0, 1046.23, 234.211, 0, 0, 0, 0, 810.516, 74.4735, 0, 0, 0, 0, 652.727, 304.34, 0, 0, 0, 0, 658.571, 132.914, 0, 0, 0, 0, 600.13, 43.3051 ) -} - -[sub_resource type="TileSet" id=17] -0/name = "icon.png 0" -0/texture = ExtResource( 5 ) -0/tex_offset = Vector2( 0, 0 ) -0/modulate = Color( 1, 1, 1, 1 ) -0/region = Rect2( 0, 9, 20, 1 ) -0/tile_mode = 0 -0/occluder_offset = Vector2( 0, 0 ) -0/navigation_offset = Vector2( 0, 0 ) -0/shape_offset = Vector2( 0, 0 ) -0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape_one_way = false -0/shape_one_way_margin = 0.0 -0/shapes = [ ] -0/z_index = 0 -1/name = "icon.png 1" -1/texture = ExtResource( 5 ) -1/tex_offset = Vector2( 0, 0 ) -1/modulate = Color( 1, 1, 1, 1 ) -1/region = Rect2( 96, 153, 332, 109 ) -1/tile_mode = 0 -1/occluder_offset = Vector2( 0, 0 ) -1/navigation_offset = Vector2( 0, 0 ) -1/shape_offset = Vector2( 0, 0 ) -1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -1/shape_one_way = false -1/shape_one_way_margin = 0.0 -1/shapes = [ ] -1/z_index = 0 -2/name = "icon.png 2" -2/texture = ExtResource( 5 ) -2/tex_offset = Vector2( 0, 0 ) -2/modulate = Color( 1, 1, 1, 1 ) -2/region = Rect2( 4, 4, 33, 31 ) -2/tile_mode = 0 -2/occluder_offset = Vector2( 0, 0 ) -2/navigation_offset = Vector2( 0, 0 ) -2/shape_offset = Vector2( 0, 0 ) -2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -2/shape_one_way = false -2/shape_one_way_margin = 0.0 -2/shapes = [ ] -2/z_index = 0 - -[sub_resource type="StreamTexture" id=18] -flags = 23 - -[node name="2DALL" type="Node2D"] -__meta__ = { -"_edit_vertical_guides_": [ ] -} - -[node name="AnimatedSprite" type="AnimatedSprite" parent="."] -position = Vector2( 1079.71, 252.027 ) -frames = SubResource( 1 ) -animation = "New Anim" - -[node name="Area2D" type="Area2D" parent="."] -position = Vector2( 700.235, 306.442 ) -space_override = 1 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -shape = SubResource( 2 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="KinematicBody2D" type="KinematicBody2D" parent="."] -position = Vector2( 899.279, 302.146 ) -collision/safe_margin = 0.078 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="KinematicBody2D"] -shape = SubResource( 2 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="KinematicBody2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="RigidBody2D" type="RigidBody2D" parent="."] -position = Vector2( 989.493, 115.99 ) -mass = 1.21 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] -shape = SubResource( 2 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="RigidBody2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="StaticBody2D" type="StaticBody2D" parent="."] -position = Vector2( 1118.37, 103.102 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] -shape = SubResource( 2 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] -position = Vector2( 395.869, 394.508 ) -stream = SubResource( 3 ) - -[node name="BackBufferCopy" type="BackBufferCopy" parent="."] -position = Vector2( 531.906, 372.742 ) -rect = Rect2( -100, -100, 201.655, 200 ) - -[node name="Bone2D" type="Bone2D" parent="."] -position = Vector2( 306.084, 224.462 ) -rest = Transform2D( 0.045, 0, 0.065, 0.015, 0, 0.027 ) -default_length = 19.0 - -[node name="CPUParticles2D" type="CPUParticles2D" parent="."] -position = Vector2( 129.236, 465.248 ) -emitting = false - -[node name="Camera2D" type="Camera2D" parent="."] -position = Vector2( 533.267, 444.842 ) - -[node name="CanvasModulate" type="CanvasModulate" parent="."] -position = Vector2( 210.858, 352.337 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] -polygon = PoolVector2Array( 202.409, 143.34, -41.2679, 348.875, 259.62, 360.529, 458.799, 111.556, 139.9, 7.72824 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 95.8147, 94.5793 ) -shape = SubResource( 4 ) - -[node name="DampedSpringJoint2D" type="DampedSpringJoint2D" parent="."] -position = Vector2( 606, 195 ) -node_a = NodePath("RigidBody2D") - -[node name="RigidBody2D" type="RigidBody2D" parent="DampedSpringJoint2D"] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="DampedSpringJoint2D/RigidBody2D"] -shape = SubResource( 5 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DampedSpringJoint2D/RigidBody2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="RigidBody2D2" type="RigidBody2D" parent="DampedSpringJoint2D"] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="DampedSpringJoint2D/RigidBody2D2"] -shape = SubResource( 5 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DampedSpringJoint2D/RigidBody2D2"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="GrooveJoint2D" type="GrooveJoint2D" parent="."] -position = Vector2( 1115.92, 421.941 ) -node_a = NodePath("../KinematicBody2D") -node_b = NodePath("../RigidBody2D") - -[node name="RigidBody2D" type="RigidBody2D" parent="GrooveJoint2D"] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="GrooveJoint2D/RigidBody2D"] -shape = SubResource( 5 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="GrooveJoint2D/RigidBody2D"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="RigidBody2D2" type="RigidBody2D" parent="GrooveJoint2D"] -mass = 1.49 -physics_material_override = SubResource( 6 ) -gravity_scale = 69.62 -custom_integrator = true -contacts_reported = 23 -contact_monitor = true -linear_velocity = Vector2( 0.04, 0 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="GrooveJoint2D/RigidBody2D2"] -shape = SubResource( 5 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="GrooveJoint2D/RigidBody2D2"] -polygon = PoolVector2Array( 9.03, -9.88, -12.31, -3.97, 11.88, 17.58 ) - -[node name="PinJoint2D" type="PinJoint2D" parent="."] -position = Vector2( 1017.84, 196.165 ) -node_a = NodePath("../KinematicBody2D") -node_b = NodePath("../RigidBody2D") -bias = 0.021 -softness = 0.84 - -[node name="Light2D" type="Light2D" parent="."] -position = Vector2( 716.189, 403.435 ) -texture = ExtResource( 5 ) -offset = Vector2( 0.059, 0.024 ) -texture_scale = 0.57 -energy = 2.07 -range_height = 3.4 -shadow_enabled = true -shadow_buffer_size = 2020 -shadow_gradient_length = 8.8 -shadow_filter = 3 -shadow_filter_smooth = 3.0 - -[node name="LightOccluder2D" type="LightOccluder2D" parent="."] -position = Vector2( 867.666, 539.296 ) -occluder = SubResource( 7 ) - -[node name="Line2D" type="Line2D" parent="."] -position = Vector2( 352.357, 194.507 ) -points = PoolVector2Array( -210.754, 6.62849, -326.754, 206.628, 263.246, 428.628, 617.246, 56.6285, -74.754, 32.6285, -128.754, 116.628 ) -width = 10.037 -width_curve = SubResource( 8 ) - -[node name="MeshInstance2D" type="MeshInstance2D" parent="."] -position = Vector2( 721.714, 117.422 ) -mesh = SubResource( 10 ) -texture = ExtResource( 5 ) - -[node name="MultiMeshInstance2D" type="MultiMeshInstance2D" parent="."] -position = Vector2( 809.065, 246.299 ) -multimesh = SubResource( 12 ) -texture = ExtResource( 5 ) - -[node name="Navigation2D" type="Navigation2D" parent="."] - -[node name="NavigationPolygonInstance" type="NavigationPolygonInstance" parent="Navigation2D"] -position = Vector2( 105.221, 24.723 ) -navpoly = SubResource( 13 ) - -[node name="NavigationPolygonInstance2" type="NavigationPolygonInstance" parent="Navigation2D"] -position = Vector2( 223.804, 198.752 ) -navpoly = SubResource( 13 ) - -[node name="NavigationPolygonInstance" type="NavigationPolygonInstance" parent="."] -position = Vector2( 784.721, 73.0306 ) -navpoly = SubResource( 14 ) - -[node name="ParallaxLayer" type="ParallaxLayer" parent="."] -position = Vector2( 794.745, 399.52 ) -motion_scale = Vector2( 1.141, 1 ) - -[node name="Particles2D" type="Particles2D" parent="."] -position = Vector2( 1071.12, 353.697 ) -scale = Vector2( 1.201, 1 ) -emitting = false -lifetime = 52.61 -speed_scale = 26.46 -explosiveness = 1.0 -randomness = 0.85 -visibility_rect = Rect2( -100, -100, 200.135, 200 ) -process_material = SubResource( 15 ) -texture = ExtResource( 5 ) -normal_map = ExtResource( 5 ) - -[node name="Path2D" type="Path2D" parent="."] -position = Vector2( -64.439, 73.147 ) -rotation = 0.37001 -curve = SubResource( 16 ) - -[node name="PathFollow2D" type="PathFollow2D" parent="Path2D"] -position = Vector2( 600.13, 43.3051 ) -rotation = 2.32475 - -[node name="PathFollow2D" type="PathFollow2D" parent="."] -position = Vector2( 1000.95, 604.292 ) -offset = 304.25 -h_offset = 0.027 -v_offset = 0.058 -rotate = false - -[node name="Polygon2D" type="Polygon2D" parent="."] -position = Vector2( 765.407, 28.5835 ) -antialiased = true -texture = ExtResource( 5 ) -skeleton = NodePath("../Skeleton2D") - -[node name="Position2D_NOTHING" type="Position2D" parent="."] -position = Vector2( 356.561, 562.765 ) -__meta__ = { -"_gizmo_extents_": 55.4 -} - -[node name="RayCast2D" type="RayCast2D" parent="."] -position = Vector2( 602.86, 448.207 ) -cast_to = Vector2( 0, 50.821 ) - -[node name="RemoteTransform2D" type="RemoteTransform2D" parent="."] -remote_path = NodePath("../CollisionPolygon2D") - -[node name="Skeleton2D" type="Skeleton2D" parent="."] -position = Vector2( 715.557, 193.173 ) - -[node name="Bone2D" type="Bone2D" parent="Skeleton2D"] -rest = Transform2D( 1, 0, 0, 1, 0, 0 ) - -[node name="Bone2D2" type="Bone2D" parent="Skeleton2D"] -rest = Transform2D( 1, 0, 0, 1, 0, 0 ) - -[node name="Sprite" type="Sprite" parent="."] -position = Vector2( -209.57, 743.506 ) -texture = ExtResource( 5 ) -offset = Vector2( 0.255, 1.512 ) -flip_h = true -flip_v = true -hframes = 11 - -[node name="TileMap" type="TileMap" parent="."] -position = Vector2( 207.103, 369.11 ) -mode = 1 -tile_set = SubResource( 17 ) -cell_size = Vector2( 32, 32 ) -cell_half_offset = 0 -cell_y_sort = true -centered_textures = true -cell_clip_uv = true -format = 1 -tile_data = PoolIntArray( -237436027, 0, 0, -237370492, 0, 0, -237304957, 0, 0, -237239422, 0, 0, -237173887, 0, 0, -237108351, 0, 0, -237042816, 0, 0, -236977281, 0, 0, -236911746, 0, 0, -236846211, 0, 0, -236780676, 0, 0, -236715141, 0, 0, -236649606, 0, 0, -236584071, 0, 0, -236518536, 0, 0, -236453000, 0, 0, -236387465, 0, 0, -236321930, 0, 0, -236256395, 0, 0, -236190860, 0, 0, -236125325, 0, 0, -236059790, 0, 0, -235994255, 0, 0, -235928720, 0, 0, -235863184, 0, 0, -235797649, 0, 0, -235732114, 0, 0, -235666579, 0, 0, -235601044, 0, 0, -235535509, 0, 0, -235469974, 0, 0, -235404439, 0, 0, -235338904, 0, 0, -235273369, 0, 0, -235207833, 0, 0, -235142298, 0, 0, -235076763, 0, 0, -235011228, 0, 0, -234945693, 0, 0, -234880158, 0, 0, -234814623, 0, 0, -234749088, 0, 0, -234683553, 0, 0, -234618017, 0, 0, -234552482, 0, 0, -234486947, 0, 0, -234421412, 0, 0, -234355877, 0, 0, -234290342, 0, 0, -234224807, 0, 0, -234159272, 0, 0, -234093737, 0, 0, -234028202, 0, 0, -233962666, 0, 0, -233897131, 0, 0, -233831596, 0, 0, -233766061, 0, 0, -233700526, 0, 0, -233634991, 0, 0, -233569456, 0, 0, -233503921, 0, 0, -233438386, 0, 0, -233372850, 0, 0, -233307315, 0, 0, -233241780, 0, 0, -233176245, 0, 0, -233110710, 0, 0, -233045175, 0, 0, -232979640, 0, 0, -232914105, 0, 0, -232848570, 0, 0, -232783035, 0, 0, -232717499, 0, 0, -232651964, 0, 0, -232586429, 0, 0, -232520894, 0, 0, -232455359, 0, 0, -232389824, 0, 0, -232324289, 0, 0, -232258754, 0, 0, -232193219, 0, 0, -232127683, 0, 0, -232062148, 0, 0, -231996613, 0, 0, -231931078, 0, 0, -231865543, 0, 0, -231800008, 0, 0, -231734473, 0, 0, -231668938, 0, 0, -231603403, 0, 0, -231537868, 0, 0, -231472332, 0, 0, -231406797, 0, 0, -231341262, 0, 0, -231275727, 0, 0, -231210192, 0, 0, -231144657, 0, 0, -231079122, 0, 0, -231013587, 0, 0, -230948052, 0, 0, -230882516, 0, 0, -230816981, 0, 0, -230751446, 0, 0, -230685911, 0, 0, -230620376, 0, 0, -230554841, 0, 0, -230489306, 0, 0, -230423771, 0, 0, -230358236, 0, 0, -230292701, 0, 0, -230227165, 0, 0, -230161630, 0, 0, -230096095, 0, 0, -230030560, 0, 0, -229965025, 0, 0, -229899490, 0, 0, -229833955, 0, 0, -229768420, 0, 0, -229702885, 0, 0, -229637350, 0, 0, -229571814, 0, 0, -229506279, 0, 0, -229440744, 0, 0, -229375209, 0, 0, -229309674, 0, 0, -229244139, 0, 0, -229178604, 0, 0, -229113069, 0, 0, -229047534, 0, 0, -228981998, 0, 0, -228916463, 0, 0, -228850928, 0, 0, -228785393, 0, 0, -228719858, 0, 0, -228654323, 0, 0, -228588788, 0, 0, -228523253, 0, 0, -228457718, 0, 0, -228392183, 0, 0, -228326647, 0, 0, -228261112, 0, 0, -228195577, 0, 0, -228130042, 0, 0, -228064507, 0, 0, -227998972, 0, 0, -227933437, 0, 0, -227867902, 0, 0, -227802367, 0, 0, -227736831, 0, 0, -227671296, 0, 0, -227605761, 0, 0, -227540226, 0, 0, -227474691, 0, 0, -227409156, 0, 0, -227343621, 0, 0, -227278086, 0, 0, -227212551, 0, 0, -227147016, 0, 0, -227081480, 0, 0, -227015945, 0, 0, -226950410, 0, 0, -226884875, 0, 0, -226819340, 0, 0, -226753805, 0, 0, -226688270, 0, 0, -226622735, 0, 0, -226557200, 0, 0, -226491664, 0, 0, -226426129, 0, 0, -226360594, 0, 0, -226295059, 0, 0, -226229524, 0, 0, -226163989, 0, 0, -226098454, 0, 0, -226032919, 0, 0, -225967384, 0, 0, -225901849, 0, 0, -225836313, 0, 0, -225770778, 0, 0, -225705243, 0, 0, -225639708, 0, 0, -225574173, 0, 0, -225508638, 0, 0, -225443103, 0, 0, -225377568, 0, 0, -225312033, 0, 0, -225246497, 0, 0, -225180962, 0, 0, -225115427, 0, 0, -225049892, 0, 0, -224984357, 0, 0, -224918822, 0, 0, -224853287, 0, 0, -224787752, 0, 0, -224722217, 0, 0, -224656682, 0, 0, -224591146, 0, 0, -224525611, 0, 0, -224460076, 0, 0, -224394541, 0, 0, -224329006, 0, 0, -224263471, 0, 0, -224197936, 0, 0, -224132401, 0, 0, -224066866, 0, 0, -224001330, 0, 0, -223935795, 0, 0, -223870260, 0, 0, -223804725, 0, 0, -223739190, 0, 0, -223673655, 0, 0, -223608120, 0, 0, -223542585, 0, 0, -223477050, 0, 0, -223411515, 0, 0, -223345979, 0, 0, -223280444, 0, 0, -223214909, 0, 0, -223149374, 0, 0, -223083839, 0, 0, -223018304, 0, 0, -222952769, 0, 0, -222887234, 0, 0, -222821699, 0, 0, -222756163, 0, 0, -222690628, 0, 0, -222625093, 0, 0, -222559558, 0, 0, -222494023, 0, 0, -222428488, 0, 0, -222362953, 0, 0, -222297418, 0, 0, -222231883, 0, 0, -222166348, 0, 0, -222100812, 0, 0, -222035277, 0, 0, -221969742, 0, 0, -221904207, 0, 0, -221838672, 0, 0, -221773137, 0, 0, -221707602, 0, 0, -221642067, 0, 0, -221576532, 0, 0, -221510996, 0, 0, -221445461, 0, 0, -221379926, 0, 0, -221314391, 0, 0, -221248856, 0, 0, -221183321, 0, 0, -221117786, 0, 0, -221052251, 0, 0, -220986716, 0, 0, -220921181, 0, 0, -220855645, 0, 0, -220790110, 0, 0, -220724575, 0, 0, -220659040, 0, 0, -220593505, 0, 0, -220527970, 0, 0, -220462435, 0, 0, -220396900, 0, 0, -220331365, 0, 0, -220265829, 0, 0, -220200294, 0, 0, -220134759, 0, 0, -220069224, 0, 0, -220003689, 0, 0, -219938154, 0, 0, -219872619, 0, 0, -219807084, 0, 0, -219741549, 0, 0, -219676014, 0, 0, -219610478, 0, 0, -219544943, 0, 0, -219479408, 0, 0, -219413873, 0, 0, -219348338, 0, 0, -219282803, 0, 0, -219217268, 0, 0, -219151733, 0, 0, -219086198, 0, 0, -219020662, 0, 0, -218955127, 0, 0, -218889592, 0, 0, -218824057, 0, 0, -218758522, 0, 0, -218692987, 0, 0, -218627452, 0, 0, -218561917, 0, 0, -218496382, 0, 0, -218430847, 0, 0, -218365311, 0, 0, -218299776, 0, 0, -218234241, 0, 0, -218168706, 0, 0, -218103171, 0, 0, -218037636, 0, 0, -218036735, 0, 0, -217972101, 0, 0, -217906566, 0, 0, -217841031, 0, 0, -217775495, 0, 0, -217709960, 0, 0, -217644425, 0, 0, -217578890, 0, 0, -217513355, 0, 0, -217447820, 0, 0, -217382285, 0, 0, -217316750, 0, 0, -217251215, 0, 0, -217185680, 0, 0, -217120144, 0, 0, -217054609, 0, 0, -216989074, 0, 0, -216923539, 0, 0, -216858004, 0, 0, -216792469, 0, 0, -216726934, 0, 0, -216661399, 0, 0, -216595864, 0, 0, -216530329, 0, 0, -216464793, 0, 0, -216399258, 0, 0, -216333723, 0, 0, -216268188, 0, 0, -216202653, 0, 0, -216137118, 0, 0, -216071583, 0, 0, -216006048, 0, 0, -215940513, 0, 0, -215874977, 0, 0, -215809442, 0, 0, -215743907, 0, 0, -215678372, 0, 0, -215612837, 0, 0, -215547302, 0, 0, -215481767, 0, 0, -215416232, 0, 0, -215350697, 0, 0, -215285162, 0, 0, -215219626, 0, 0, -215154091, 0, 0, -215088556, 0, 0, -215023021, 0, 0, -214957486, 0, 0, -214891951, 0, 0, -214826416, 0, 0, -214760881, 0, 0, -214695346, 0, 0, -214629810, 0, 0, -214564275, 0, 0, -214498740, 0, 0, -214433205, 0, 0, -214367670, 0, 0, -214302135, 0, 0, -214236600, 0, 0, -214171065, 0, 0, -214105530, 0, 0, -214039995, 0, 0, -213974459, 0, 0, -213908924, 0, 0, -213843389, 0, 0, -213777854, 0, 0, -213712319, 0, 0, -213646784, 0, 0, -213581249, 0, 0, -213515714, 0, 0, -213450179, 0, 0, -213384643, 0, 0, -213319108, 0, 0, -213253573, 0, 0, -213188038, 0, 0, -213122503, 0, 0, -213056968, 0, 0, -212991433, 0, 0, -212925898, 0, 0, -212860363, 0, 0, -212794828, 0, 0, -212729292, 0, 0, -212663757, 0, 0, -212598222, 0, 0, -212532687, 0, 0, -212467152, 0, 0, -212401617, 0, 0, -212336082, 0, 0, -212270547, 0, 0, -212205012, 0, 0, -212139476, 0, 0, -212073941, 0, 0, -212008406, 0, 0, -211942871, 0, 0, -211877336, 0, 0, -211811801, 0, 0, -211746266, 0, 0, -211680731, 0, 0, -211615196, 0, 0, -211549661, 0, 0, -211484125, 0, 0, -211418590, 0, 0, -211353055, 0, 0, -211287520, 0, 0, -211221985, 0, 0, -211156450, 0, 0, -211090915, 0, 0, -211025380, 0, 0, -210959845, 0, 0, -210894309, 0, 0, -210828774, 0, 0, -210763239, 0, 0, -210697704, 0, 0, -210632169, 0, 0, -210566634, 0, 0, -210501099, 0, 0, -210435564, 0, 0, -210370029, 0, 0, -210304494, 0, 0, -210238958, 0, 0, -210173423, 0, 0, -210107888, 0, 0, -210042353, 0, 0, -209976818, 0, 0, -201914552, 0, 0, -101842603, 0, 0, -85458295, 0, 0, -49938839, 0, 0, -41810676, 0, 0, -41745139, 0, 0, -41679602, 0, 0, -41614066, 0, 0, -41548529, 0, 0, -41482992, 0, 0, -41417455, 0, 0, -12517206, 0, 0, -2031581, 0, 0, -1769441, 0, 0, -1638386, 0, 0, -1572833, 0, 0, -1376253, 0, 0, -1376252, 0, 0, -1376251, 0, 0, -1179648, 0, 0, -1179647, 0, 0, -1048577, 0, 0, -983041, 0, 0, -917506, 0, 0, -851970, 0, 0, -786437, 0, 0, -786436, 0, 0, -720901, 0, 0, -720873, 0, 0, -655338, 0, 0, -524294, 0, 0, -458732, 0, 0, -327687, 0, 0, -393215, 0, 0, -393196, 0, 0, -327661, 0, 0, 655361, 0, 0, 720902, 0, 0, 917503, 0, 0, 851968, 0, 0 ) - -[node name="TouchScreenButton" type="TouchScreenButton" parent="."] -position = Vector2( 357.419, 254.128 ) -normal = SubResource( 18 ) -pressed = ExtResource( 5 ) -shape_visible = false -passby_press = true - -[node name="VisibilityNotifier2D" type="VisibilityNotifier2D" parent="."] -position = Vector2( 462.439, 44.7171 ) -scale = Vector2( 9.40949, 9.60972 ) -rect = Rect2( -10.387, -10, 29, 44 ) - -[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."] -process_parent = true -physics_process_parent = true - -[node name="YSort" type="YSort" parent="."] diff --git a/AIO/AllNodes/3DALL.tscn b/AIO/AllNodes/3DALL.tscn deleted file mode 100644 index c754870..0000000 --- a/AIO/AllNodes/3DALL.tscn +++ /dev/null @@ -1,607 +0,0 @@ -[gd_scene load_steps=37 format=2] - -[ext_resource path="res://icon.png" type="Texture" id=50] - -[sub_resource type="SpatialMaterial" id=1] - -[sub_resource type="SpriteFrames" id=2] -animations = [ { -"frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 50 ) ], -"loop": true, -"name": "default", -"speed": 5.0 -} ] - -[sub_resource type="CubeMesh" id=3] - -[sub_resource type="SpatialMaterial" id=4] - -[sub_resource type="SpatialMaterial" id=5] - -[sub_resource type="SpatialMaterial" id=6] - -[sub_resource type="CapsuleMesh" id=7] -material = SubResource( 6 ) -radius = 1.272 -mid_height = 0.001 -radial_segments = 4 -rings = 2 - -[sub_resource type="CameraTexture" id=8] -camera_feed_id = 1 -which_feed = 1 - -[sub_resource type="SpatialMaterial" id=9] -roughness_texture = SubResource( 8 ) -roughness_texture_channel = 1 - -[sub_resource type="SpatialMaterial" id=10] - -[sub_resource type="SpatialMaterial" id=11] -vertex_color_use_as_albedo = true - -[sub_resource type="SpatialMaterial" id=12] - -[sub_resource type="SpatialMaterial" id=13] - -[sub_resource type="SpatialMaterial" id=14] -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=15] -material = SubResource( 14 ) -size = Vector3( 2.25, 1.56, 2.49 ) - -[sub_resource type="Skin" id=16] -bind_count = 10 -bind/0/name = "" -bind/0/bone = -1 -bind/0/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/1/name = "" -bind/1/bone = -1 -bind/1/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/2/name = "" -bind/2/bone = -1 -bind/2/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/3/name = "" -bind/3/bone = -1 -bind/3/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/4/name = "" -bind/4/bone = -1 -bind/4/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/5/name = "" -bind/5/bone = -1 -bind/5/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/6/name = "" -bind/6/bone = -1 -bind/6/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/7/name = "" -bind/7/bone = -1 -bind/7/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/8/name = "" -bind/8/bone = -1 -bind/8/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -bind/9/name = "" -bind/9/bone = -1 -bind/9/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) - -[sub_resource type="SpatialMaterial" id=17] - -[sub_resource type="CubeMesh" id=18] - -[sub_resource type="MultiMesh" id=19] -color_format = 2 -transform_format = 1 -custom_data_format = 2 -instance_count = 3 -visible_instance_count = 121212 -mesh = SubResource( 18 ) -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 ) -color_array = PoolColorArray( 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 ) - -[sub_resource type="ParticlesMaterial" id=20] -render_priority = 127 -emission_shape = 2 -emission_box_extents = Vector3( 1, 1, 1 ) -radial_accel = 6.0 -radial_accel_random = 1.0 -tangential_accel = 3.1 -tangential_accel_random = 1.0 - -[sub_resource type="CubeMesh" id=21] - -[sub_resource type="BakedLightmapData" id=22] -energy = 5.7 - -[sub_resource type="BoxShape" id=23] -margin = 0.5 -extents = Vector3( 1, 26.5038, 3.22286 ) - -[sub_resource type="PhysicsMaterial" id=24] - -[sub_resource type="PhysicsMaterial" id=25] - -[sub_resource type="PhysicsMaterial" id=26] -friction = 0.53 - -[sub_resource type="AudioStreamGenerator" id=27] - -[sub_resource type="ConcavePolygonShape" id=28] -margin = 0.067 - -[sub_resource type="CapsuleMesh" id=29] - -[sub_resource type="MeshLibrary" id=30] -item/0/name = "" -item/0/mesh = SubResource( 29 ) -item/0/mesh_transform = null -item/0/shapes = [ ] -item/0/navmesh_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) - -[sub_resource type="NavigationMesh" id=31] -sample_partition_type/sample_partition_type = 2 -geometry/parsed_geometry_type = 1 -geometry/collision_mask = 2147483647 -cell/size = 0.5 -cell/height = 5.1 -agent/height = 4.2 -agent/radius = 5.8 -agent/max_climb = 6.2 -agent/max_slope = 0.0 -region/min_size = 15.6 -region/merge_size = 24.8 -edge/max_length = 17.4 -edge/max_error = 0.1 -polygon/verts_per_poly = 9.0 -detail/sample_distance = 0.0 -detail/sample_max_error = 6.7 -filter/low_hanging_obstacles = true -filter/ledge_spans = true -filter/filter_walkable_low_height_spans = true - -[sub_resource type="Curve3D" id=32] -bake_interval = 10.0 -_data = { -"points": PoolVector3Array( 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007, 0, 0, 0, 0, 0, 0, -18.4839, 0.381447, -2.2567, 0, 0, 0, 0, 0, 0, -9.25256, -1.66295, 1.34504, 0, 0, 0, 0, 0, 0, 14.3498, 1.51124, -0.660617, 0, 0, 0, 0, 0, 0, 16.5666, 7.48303, -8.42252, 0, 0, 0, 0, 0, 0, 5.21951, 11.8408, -15.3123, 0, 0, 0, 0, 0, 0, -6.34309, 13.0513, -18.0214, 0, 0, 0, 0, 0, 0, -22.2367, 9.90402, -15.3228, 0, 0, 0, 0, 0, 0, -5.97389, 1.40365, -2.43845, 0, 0, 0, 0, 0, 0, 1.22511, 4.12054, -5.38451, 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007 ), -"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) -} - -[sub_resource type="BoxShape" id=33] -margin = 1.21 -extents = Vector3( 1, 1.77, 1.71 ) - -[sub_resource type="CapsuleShape" id=34] - -[sub_resource type="CubeMesh" id=35] - -[node name="3DALL" type="Spatial"] - -[node name="ARVROrigin" type="ARVROrigin" parent="."] -world_scale = 1.01 - -[node name="ARVRAnchor" type="ARVRAnchor" parent="ARVROrigin"] -anchor_id = 32 - -[node name="ARVRCamera_NOTHING" type="ARVRCamera" parent="ARVROrigin"] -h_offset = 0.159 -v_offset = -0.909 -doppler_tracking = 1 -projection = 1 -size = 91.71 -near = 2235.15 -far = 1.1 - -[node name="ARVRController" type="ARVRController" parent="ARVROrigin"] -controller_id = 3 - -[node name="Camera" type="Camera" parent="."] -h_offset = 0.032 -v_offset = 0.03 -doppler_tracking = 1 -projection = 1 -fov = 75.7 -size = 1.23 -near = 0.42 -far = 356.3 - -[node name="ClippedCamera" type="ClippedCamera" parent="."] -h_offset = 0.038 -v_offset = -0.146 -fov = 64.8 -size = 15954.2 -near = 0.45 -margin = 23.09 - -[node name="InterpolatedCamera" type="InterpolatedCamera" parent="."] -size = 16384.0 -target = NodePath("../ARVROrigin/ARVRController") -speed = 1.06 - -[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] -material_override = SubResource( 1 ) -offset = Vector2( 0.026, 0 ) -flip_h = true -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 ) -playing = true - -[node name="Sprite3D" type="Sprite3D" parent="."] -flip_h = true -flip_v = true -texture = ExtResource( 50 ) -hframes = 13 -frame = 2 - -[node name="CPUParticles" type="CPUParticles" parent="."] -emitting = false -amount = 5 -lifetime = 1.83 -speed_scale = 2.68 -explosiveness = 0.24 -randomness = 0.87 -lifetime_randomness = 0.75 -mesh = SubResource( 3 ) -emission_shape = 1 -emission_sphere_radius = 1.0 - -[node name="CSGBox" type="CSGBox" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 25.6943 ) -operation = 1 -invert_faces = true -width = 44.173 -height = 19.604 -depth = 5.12757 -material = SubResource( 4 ) - -[node name="CSGCylinder" type="CSGCylinder" parent="."] -transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, -21.0098, 0 ) -invert_faces = true -radius = 123.75 -height = 45.8309 -sides = 3 -cone = true -material = SubResource( 5 ) - -[node name="CSGMesh" type="CSGMesh" parent="."] -transform = Transform( 1, 0, 0, 0, 3.78, 0, 0, 0, 7.64, 5.27772, 5.196, 0 ) -invert_faces = true -mesh = SubResource( 7 ) -material = SubResource( 9 ) - -[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( 10 ) - -[node name="CSGSphere" type="CSGSphere" parent="."] -invert_faces = true -radius = 19.668 -radial_segments = 4 -rings = 3 -smooth_faces = false -material = SubResource( 11 ) - -[node name="CSGTorus" type="CSGTorus" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.71423, -3.42086 ) -invert_faces = true -inner_radius = 0.001 -outer_radius = 19.109 -sides = 4 -ring_sides = 5 -material = SubResource( 12 ) - -[node name="CSGCombiner_NOTHING" type="CSGCombiner" parent="."] -operation = 1 - -[node name="CSGBox" type="CSGBox" parent="CSGCombiner_NOTHING"] -invert_faces = true -width = 44.173 -height = 19.604 -material = SubResource( 4 ) - -[node name="CSGBox2" type="CSGBox" parent="CSGCombiner_NOTHING"] -invert_faces = true -width = 44.173 -height = 19.604 -material = SubResource( 4 ) - -[node name="ImmediateGeometry" type="ImmediateGeometry" parent="."] -material_override = SubResource( 13 ) -extra_cull_margin = 0.08 -use_in_baked_light = true - -[node name="MeshInstance" type="MeshInstance" parent="."] -mesh = SubResource( 15 ) -skin = SubResource( 16 ) -material/0 = SubResource( 17 ) - -[node name="MultiMeshInstance" type="MultiMeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.9485, 0 ) -multimesh = SubResource( 19 ) - -[node name="Particles" type="Particles" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -27.0754 ) -emitting = false -amount = 4 -lifetime = 1.42 -preprocess = 0.5 -speed_scale = 1.3 -explosiveness = 0.41 -randomness = 0.34 -fract_delta = false -local_coords = false -process_material = SubResource( 20 ) -draw_pass_1 = SubResource( 21 ) - -[node name="BakedLightmap" type="BakedLightmap" parent="."] -bake_cell_size = 1.94 -bake_quality = 0 -bake_mode = 1 -bake_propagation = 0.0 -bake_energy = 1.58 -image_path = "res://file.jpg" -light_data = SubResource( 22 ) - -[node name="DirectionalLight" type="DirectionalLight" 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 - -[node name="SpotLight" type="SpotLight" parent="."] -transform = Transform( 1, 0, 0, 0, -0.171431, -0.985196, 0, 0.985196, -0.171431, 0, 0, -16.2155 ) -light_energy = 4.05 -light_negative = true -shadow_enabled = true -shadow_bias = 0.4 - -[node name="GIProbe" type="GIProbe" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.945391, 1.15135, 1.78806 ) -extents = Vector3( 10, 10, 22.3077 ) -energy = 1.89 -propagation = 1.0 -bias = 1.58 -normal_bias = 0.061 -interior = true -compress = true - -[node name="ReflectionProbe" type="ReflectionProbe" parent="."] -intensity = 0.51 -max_distance = 1.7 -extents = Vector3( 1, 1.583, 1 ) -box_projection = true - -[node name="RootMotionView" type="RootMotionView" parent="."] - -[node name="Area" type="Area" parent="."] -gravity = 22.39 -linear_damp = 0.126 -monitoring = false - -[node name="CollisionShape" type="CollisionShape" parent="Area"] -shape = SubResource( 23 ) - -[node name="KinematicBody" type="KinematicBody" parent="."] -collision/safe_margin = 0.033 - -[node name="CollisionShape" type="CollisionShape" parent="KinematicBody"] -shape = SubResource( 23 ) - -[node name="PhysicalBone" type="PhysicalBone" parent="."] -mass = 1.21 -weight = 11.858 - -[node name="CollisionShape" type="CollisionShape" parent="PhysicalBone"] -shape = SubResource( 23 ) - -[node name="RigidBody" type="RigidBody" parent="."] -mass = 1.19 -physics_material_override = SubResource( 24 ) -gravity_scale = 1.12 -axis_lock_linear_x = true - -[node name="CollisionShape" type="CollisionShape" parent="RigidBody"] -shape = SubResource( 23 ) - -[node name="VehicleBody" type="VehicleBody" parent="."] -physics_material_override = SubResource( 25 ) -engine_force = 16.41 -brake = 0.46 -steering = 0.17 - -[node name="CollisionShape" type="CollisionShape" parent="VehicleBody"] -shape = SubResource( 23 ) - -[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( 26 ) -constant_linear_velocity = Vector3( 0.049, 0, 0 ) - -[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] -shape = SubResource( 23 ) - -[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] -stream = SubResource( 27 ) -attenuation_model = 1 -unit_db = 0.031 -unit_size = 5.5 -max_db = 2.953 -pitch_scale = 1.42 - -[node name="BoneAttachment" type="BoneAttachment" parent="."] - -[node name="CollisionPolygon" type="CollisionPolygon" parent="."] -polygon = PoolVector2Array( 66.9045, 31.0067, 286.784, -62.3473, 22.8219, -35.2817, -25.9028, -19.5722, -43.33, 5.94586, -43.7357, 15.5874, -36.475, 6.06905, -45.3994, 19.6661 ) - -[node name="CollisionShape" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -26.583 ) -shape = SubResource( 28 ) - -[node name="GridMap" type="GridMap" parent="."] -mesh_library = SubResource( 30 ) -cell_size = Vector3( 2, 1.14, 3.08 ) -data = { -"cells": PoolIntArray( 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 ) -} -__meta__ = { -"_editor_clip_": 0 -} - -[node name="Listener" type="Listener" parent="."] -current = true - -[node name="Navigation" type="Navigation" parent="."] -up_vector = Vector3( 0, 1.318, 0 ) - -[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="Navigation"] -navmesh = SubResource( 31 ) - -[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."] -navmesh = SubResource( 31 ) - -[node name="Path" type="Path" parent="."] -curve = SubResource( 32 ) - -[node name="PathFollow" type="PathFollow" parent="Path"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.21835, 8.31693, -11.5007 ) - -[node name="PathFollow" type="PathFollow" parent="."] -offset = 2.09 -h_offset = 0.101 - -[node name="Position3D_NOTHING" type="Position3D" parent="."] - -[node name="Camera_DEFAULT_CAMERA" type="Camera" parent="."] -current = true - -[node name="ProximityGroup" type="ProximityGroup" parent="."] -dispatch_mode = 1 - -[node name="RayCast" type="RayCast" parent="."] -enabled = true - -[node name="RemoteTransform" type="RemoteTransform" parent="."] -remote_path = NodePath("../Camera") - -[node name="Skeleton" type="Skeleton" parent="."] - -[node name="PhysicalBone" type="PhysicalBone" parent="Skeleton"] - -[node name="BoneAttachment" type="BoneAttachment" parent="Skeleton/PhysicalBone"] -transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 ) - -[node name="CollisionShape4" type="CollisionShape" parent="Skeleton/PhysicalBone"] -shape = SubResource( 33 ) - -[node name="PhysicalBone 3" type="PhysicalBone" parent="Skeleton"] -mass = 0.958163 -weight = 9.39 -friction = 0.62 -bounce = 0.3 -gravity_scale = 0.6 - -[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone 3"] -shape = SubResource( 33 ) - -[node name="SpringArm" type="SpringArm" parent="."] -shape = SubResource( 34 ) - -[node name="VehicleWheel" type="VehicleWheel" parent="."] -engine_force = 0.49 -brake = 0.74 -steering = -0.63 - -[node name="VisibilityNotifier" type="VisibilityNotifier" parent="."] -aabb = AABB( -1, -0.982, -1, 2, 2.078, 2 ) - -[node name="VisibilityEnabler" type="VisibilityEnabler" parent="."] - -[node name="Generic6DOFJoint" 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/lower_distance = 0.261 -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="HingeJoint" type="HingeJoint" parent="."] -nodes/node_a = NodePath("../StaticBody") -nodes/node_b = NodePath("../PhysicalBone") -params/bias = 0.99 -angular_limit/enable = true -angular_limit/upper = 162.0 -angular_limit/lower = -131.0 -angular_limit/bias = 0.67 -angular_limit/softness = 0.01 -angular_limit/relaxation = 3.6 -motor/enable = true -motor/target_velocity = -1.3 -motor/max_impulse = 30.2 - -[node name="SliderJoint" type="SliderJoint" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17785, 0.25203, 4.6063 ) -nodes/node_a = NodePath("../VehicleBody") -nodes/node_b = NodePath("../StaticBody") -linear_limit/upper_distance = 1.19 -linear_limit/lower_distance = -705.69 -linear_limit/softness = 1.07 -linear_limit/restitution = 1.12 -linear_limit/damping = 1.18 -linear_motion/softness = 1.14 -linear_motion/restitution = 0.97 -linear_motion/damping = 0.54 -linear_ortho/softness = 1.4 -linear_ortho/restitution = 1.19 -linear_ortho/damping = 1.28 -angular_limit/upper_angle = -28.8 -angular_limit/lower_angle = 38.8 -angular_motion/softness = 2.18 -angular_motion/restitution = 1.77 -angular_motion/damping = 4.88 - -[node name="PinJoint" type="PinJoint" parent="."] -nodes/node_a = NodePath("../KinematicBody") -nodes/node_b = NodePath("../StaticBody") -params/bias = 0.99 -params/damping = 7.3 -params/impulse_clamp = 7.2 - -[node name="ConeTwistJoint" type="ConeTwistJoint" parent="."] -nodes/node_a = NodePath("../PhysicalBone") -nodes/node_b = NodePath("../RigidBody") -solver/priority = 8 -twist_span = 9500.4 -bias = 0.46 -softness = 0.95 -relaxation = 0.83 - -[node name="OmniLight" type="OmniLight" parent="."] -light_energy = 1.61 -light_indirect_energy = 1.35 -light_specular = 0.68 -omni_range = 118.9 -omni_attenuation = 1.51572 -omni_shadow_mode = 0 -omni_shadow_detail = 0 - -[node name="SoftBody" type="SoftBody" parent="."] -mesh = SubResource( 35 ) -material/0 = null diff --git a/AIO/AllNodes/ALL.tscn b/AIO/AllNodes/ALL.tscn deleted file mode 100644 index f4d37a6..0000000 --- a/AIO/AllNodes/ALL.tscn +++ /dev/null @@ -1,16 +0,0 @@ -[gd_scene load_steps=5 format=2] - -[ext_resource path="res://AIO/AllNodes/OtherALL.tscn" type="PackedScene" id=1] -[ext_resource path="res://AIO/AllNodes/2DALL.tscn" type="PackedScene" id=2] -[ext_resource path="res://AIO/AllNodes/ControlALL.tscn" type="PackedScene" id=4] -[ext_resource path="res://AIO/AllNodes/3DALL.tscn" type="PackedScene" id=5] - -[node name="ALL" type="Node"] - -[node name="2DALL" parent="." instance=ExtResource( 2 )] - -[node name="3DALL" parent="." instance=ExtResource( 5 )] - -[node name="ControlALL" parent="." instance=ExtResource( 4 )] - -[node name="OtherALL" parent="." instance=ExtResource( 1 )] diff --git a/AIO/AllNodes/ControlALL.tscn b/AIO/AllNodes/ControlALL.tscn deleted file mode 100644 index 09e880e..0000000 --- a/AIO/AllNodes/ControlALL.tscn +++ /dev/null @@ -1,457 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://icon.png" type="Texture" id=1] - -[sub_resource type="Theme" id=1] - -[node name="ControlALL" type="GridContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -columns = 9 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="Popup" type="Popup" parent="."] -visible = true -modulate = Color( 0.607843, 0.4, 0.4, 1 ) -self_modulate = Color( 0.835294, 0.717647, 0.717647, 1 ) -show_behind_parent = true -light_mask = 16387 -margin_left = 308.0 -margin_right = 308.0 -margin_bottom = 130.0 -grow_horizontal = 0 -grow_vertical = 2 -hint_tooltip = "dfadfasf" -focus_neighbour_left = NodePath("../Button_ALL") -focus_neighbour_top = NodePath("../ToolButton") -focus_neighbour_right = NodePath("../LinkButton") -focus_neighbour_bottom = NodePath("../Container") -focus_next = NodePath("../TextureButton") -focus_previous = NodePath("../CheckBox") -focus_mode = 2 -mouse_filter = 1 -mouse_default_cursor_shape = 4 -size_flags_horizontal = 14 -size_flags_vertical = 15 -size_flags_stretch_ratio = 121.49 -theme = SubResource( 1 ) -popup_exclusive = true - -[node name="WindowDialog" type="WindowDialog" parent="."] -visible = true -margin_left = 312.0 -margin_right = 395.0 -margin_bottom = 130.0 -popup_exclusive = true -window_title = "wfaas" -resizable = true - -[node name="AcceptDialog" type="AcceptDialog" parent="."] -visible = true -margin_left = 399.0 -margin_right = 479.0 -margin_bottom = 130.0 -window_title = "asfas" -resizable = true -dialog_text = "fqwfqwfqwf" -dialog_hide_on_ok = false -dialog_autowrap = true - -[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."] -visible = true -margin_left = 483.0 -margin_right = 689.0 -margin_bottom = 130.0 -rect_min_size = Vector2( 138, 48.3 ) -window_title = "Please Confirm...asfasfas" -resizable = true -dialog_text = "fas" -dialog_hide_on_ok = false -dialog_autowrap = true - -[node name="FileDialog" type="FileDialog" parent="."] -visible = true -margin_left = 693.0 -margin_right = 909.0 -margin_bottom = 130.0 -rect_min_size = Vector2( 138, 48.3 ) -window_title = "Open File(s)" -dialog_text = "sffasfasf" -dialog_hide_on_ok = true -dialog_autowrap = true -mode_overrides_title = false -mode = 1 -access = 1 -filters = PoolStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" ) -show_hidden_files = true -current_dir = "user://" -current_file = "asf" -current_path = "user://asf" - -[node name="PopupDialog_NOTHING" type="PopupDialog" parent="."] -visible = true -margin_left = 913.0 -margin_right = 960.0 -margin_bottom = 130.0 -popup_exclusive = true - -[node name="PopupMenu" type="PopupMenu" parent="."] -visible = true -margin_left = 964.0 -margin_right = 1016.0 -margin_bottom = 130.0 -hide_on_item_selection = false -hide_on_checkable_item_selection = false -hide_on_state_item_selection = true -submenu_popup_delay = 5.32352e+07 -allow_search = true - -[node name="PopupPanel_NOTHING" type="PopupPanel" parent="."] -visible = true -margin_left = 1020.0 -margin_right = 1032.0 -margin_bottom = 130.0 -popup_exclusive = true - -[node name="Button" type="Button" parent="."] -margin_left = 1036.0 -margin_right = 1094.0 -margin_bottom = 130.0 -text = "asfasf" -flat = true -clip_text = true -align = 0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="CheckBox_NOTHING" type="CheckBox" parent="."] -margin_top = 134.0 -margin_right = 308.0 -margin_bottom = 174.0 -text = "safasf" -flat = true -clip_text = true -align = 2 - -[node name="CheckButton_NOTHING" type="CheckButton" parent="."] -margin_left = 312.0 -margin_top = 134.0 -margin_right = 395.0 -margin_bottom = 174.0 -text = "asfq" -flat = true -clip_text = true -align = 1 - -[node name="ColorPickerButton" type="ColorPickerButton" parent="."] -margin_left = 399.0 -margin_top = 134.0 -margin_right = 479.0 -margin_bottom = 174.0 -text = "asfasf" -flat = true -clip_text = true -align = 2 -color = Color( 0.639216, 0.576471, 0.576471, 1 ) -edit_alpha = false - -[node name="MenuButton" type="MenuButton" parent="."] -margin_left = 483.0 -margin_top = 134.0 -margin_right = 689.0 -margin_bottom = 174.0 -icon = ExtResource( 1 ) -switch_on_hover = true - -[node name="OptionButton" type="OptionButton" parent="."] -margin_left = 693.0 -margin_top = 134.0 -margin_right = 909.0 -margin_bottom = 174.0 -icon = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="ToolButton_NOTHING" type="ToolButton" parent="."] -margin_left = 913.0 -margin_top = 134.0 -margin_right = 960.0 -margin_bottom = 174.0 -text = "asfasf" -icon = ExtResource( 1 ) -flat = false -clip_text = true -align = 2 - -[node name="LinkButton" type="LinkButton" parent="."] -margin_left = 964.0 -margin_top = 134.0 -margin_right = 1016.0 -margin_bottom = 174.0 -text = "asfqfqwf" -underline = 2 - -[node name="TextureButton" type="TextureButton" parent="."] -margin_left = 1020.0 -margin_top = 134.0 -margin_right = 1032.0 -margin_bottom = 174.0 -expand = true -stretch_mode = 5 - -[node name="Container" type="Container" parent="."] -margin_left = 1036.0 -margin_top = 134.0 -margin_right = 1094.0 -margin_bottom = 174.0 - -[node name="Control" type="Control" parent="Container"] -margin_right = 40.0 -margin_bottom = 40.0 - -[node name="Control2" type="Control" parent="Container"] -margin_right = 40.0 -margin_bottom = 40.0 - -[node name="ColorPicker" type="ColorPicker" parent="."] -margin_top = 178.0 -margin_right = 308.0 -margin_bottom = 590.0 -alignment = 1 -edit_alpha = false -raw_mode = true -deferred_mode = true -presets_enabled = false -presets_visible = false -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="HBoxContainer_NOTHING" type="HBoxContainer" parent="."] -margin_left = 312.0 -margin_top = 178.0 -margin_right = 395.0 -margin_bottom = 590.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VBoxContainer_NOTHING" type="VBoxContainer" parent="."] -margin_left = 399.0 -margin_top = 178.0 -margin_right = 479.0 -margin_bottom = 590.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="CenterContainer" type="CenterContainer" parent="."] -margin_left = 483.0 -margin_top = 178.0 -margin_right = 689.0 -margin_bottom = 590.0 -use_top_left = true -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="ScrollContainer" type="ScrollContainer" parent="."] -margin_left = 693.0 -margin_top = 178.0 -margin_right = 909.0 -margin_bottom = 590.0 - -[node name="GraphNode" type="GraphNode" parent="."] -margin_left = 913.0 -margin_top = 178.0 -margin_right = 960.0 -margin_bottom = 590.0 - -[node name="GridContainer" type="GridContainer" parent="."] -margin_left = 964.0 -margin_top = 178.0 -margin_right = 1016.0 -margin_bottom = 590.0 - -[node name="HSplitContainer_NOTHING" type="HSplitContainer" parent="."] -margin_left = 1020.0 -margin_top = 178.0 -margin_right = 1032.0 -margin_bottom = 590.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VSplitContainer_NOTHING" type="VSplitContainer" parent="."] -margin_left = 1036.0 -margin_top = 178.0 -margin_right = 1094.0 -margin_bottom = 590.0 - -[node name="MarginContainer_NOTHING" type="MarginContainer" parent="."] -margin_top = 594.0 -margin_right = 308.0 -margin_bottom = 630.0 - -[node name="PanelContainer_NOTHING" type="PanelContainer" parent="."] -margin_left = 312.0 -margin_top = 594.0 -margin_right = 395.0 -margin_bottom = 630.0 - -[node name="TabContainer" type="TabContainer" parent="."] -margin_left = 399.0 -margin_top = 594.0 -margin_right = 479.0 -margin_bottom = 630.0 - -[node name="ViewportContainer" type="ViewportContainer" parent="."] -margin_left = 483.0 -margin_top = 594.0 -margin_right = 689.0 -margin_bottom = 630.0 - -[node name="ColorRect" type="ColorRect" parent="."] -margin_left = 693.0 -margin_top = 594.0 -margin_right = 909.0 -margin_bottom = 630.0 - -[node name="GraphEdit" type="GraphEdit" parent="."] -margin_left = 913.0 -margin_top = 594.0 -margin_right = 960.0 -margin_bottom = 630.0 -scroll_offset = Vector2( -47, 0 ) - -[node name="HScrollBar_NOTHING" type="HScrollBar" parent="."] -margin_left = 964.0 -margin_top = 594.0 -margin_right = 1016.0 -margin_bottom = 606.0 - -[node name="VScrollBar_NOTHING" type="VScrollBar" parent="."] -margin_left = 1020.0 -margin_top = 594.0 -margin_right = 1032.0 -margin_bottom = 630.0 - -[node name="HSlider_NOTHING" type="HSlider" parent="."] -margin_left = 1036.0 -margin_top = 594.0 -margin_right = 1094.0 -margin_bottom = 610.0 - -[node name="VSlider_NOTHING" type="VSlider" parent="."] -margin_top = 634.0 -margin_right = 16.0 -margin_bottom = 658.0 - -[node name="ProgressBar" type="ProgressBar" parent="."] -margin_left = 312.0 -margin_top = 634.0 -margin_right = 395.0 -margin_bottom = 648.0 - -[node name="SpinBox" type="SpinBox" parent="."] -margin_left = 399.0 -margin_top = 634.0 -margin_right = 479.0 -margin_bottom = 658.0 - -[node name="TextureProgress" type="TextureProgress" parent="."] -margin_left = 483.0 -margin_top = 634.0 -margin_right = 689.0 -margin_bottom = 658.0 - -[node name="HSeparator" type="HSeparator" parent="."] -margin_left = 693.0 -margin_top = 634.0 -margin_right = 909.0 -margin_bottom = 658.0 - -[node name="VSeparator" type="VSeparator" parent="."] -margin_left = 913.0 -margin_top = 634.0 -margin_right = 960.0 -margin_bottom = 658.0 - -[node name="ItemList" type="ItemList" parent="."] -margin_left = 964.0 -margin_top = 634.0 -margin_right = 1016.0 -margin_bottom = 658.0 - -[node name="Label" type="Label" parent="."] -margin_left = 1020.0 -margin_top = 639.0 -margin_right = 1032.0 -margin_bottom = 653.0 - -[node name="LineEdit" type="LineEdit" parent="."] -margin_left = 1036.0 -margin_top = 634.0 -margin_right = 1094.0 -margin_bottom = 658.0 -caret_blink = true - -[node name="NinePatchRect" type="NinePatchRect" parent="."] -margin_top = 662.0 -margin_right = 308.0 -margin_bottom = 686.0 - -[node name="Panel_NOTHING" type="Panel" parent="."] -margin_left = 312.0 -margin_top = 662.0 -margin_right = 395.0 -margin_bottom = 686.0 - -[node name="ReferenceRect" type="ReferenceRect" parent="."] -margin_left = 399.0 -margin_top = 662.0 -margin_right = 479.0 -margin_bottom = 686.0 - -[node name="RichTextLabel" type="RichTextLabel" parent="."] -margin_left = 483.0 -margin_top = 662.0 -margin_right = 689.0 -margin_bottom = 686.0 - -[node name="Tabs" type="Tabs" parent="."] -margin_left = 693.0 -margin_top = 662.0 -margin_right = 909.0 -margin_bottom = 686.0 - -[node name="TextEdit" type="TextEdit" parent="."] -margin_left = 913.0 -margin_top = 662.0 -margin_right = 960.0 -margin_bottom = 686.0 - -[node name="TextureRect" type="TextureRect" parent="."] -margin_left = 964.0 -margin_top = 662.0 -margin_right = 1016.0 -margin_bottom = 686.0 - -[node name="Tree" type="Tree" parent="."] -margin_left = 1020.0 -margin_top = 662.0 -margin_right = 1032.0 -margin_bottom = 686.0 - -[node name="VideoPlayer" type="VideoPlayer" parent="."] -margin_left = 1036.0 -margin_top = 662.0 -margin_right = 1094.0 -margin_bottom = 686.0 -__meta__ = { -"_edit_use_anchors_": false -} diff --git a/AIO/AllNodes/OtherALL.tscn b/AIO/AllNodes/OtherALL.tscn deleted file mode 100644 index 89c8d7b..0000000 --- a/AIO/AllNodes/OtherALL.tscn +++ /dev/null @@ -1,80 +0,0 @@ -[gd_scene load_steps=5 format=2] - -[sub_resource type="Animation" id=1] -resource_name = "New Anim" -tracks/0/type = "method" -tracks/0/path = NodePath("../Tween") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 1.4, 4.6, 8.1 ), -"transitions": PoolRealArray( 1, 1, 1 ), -"values": [ { -"args": [ ], -"method": "stop_all" -}, { -"args": [ ], -"method": "resume_all" -}, { -"args": [ ], -"method": "is_active" -} ] -} - -[sub_resource type="AnimationNodeBlendSpace1D" id=2] - -[sub_resource type="AudioStreamSample" id=3] - -[sub_resource type="Environment" id=4] - -[node name="OtherALL" type="Node"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -root_node = NodePath("../AudioStreamPlayer") -"anims/New Anim" = SubResource( 1 ) - -[node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 2 ) -anim_player = NodePath("../AnimationPlayer") -parameters/blend_position = 0 - -[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = SubResource( 3 ) -volume_db = 0.066 -pitch_scale = 2.48 - -[node name="CanvasLayer" type="CanvasLayer" parent="."] -layer = 55 -offset = Vector2( 0.019, 0 ) -transform = Transform2D( 1, 0, 0, 1, 0.019, 0 ) -follow_viewport_enable = true - -[node name="ParallaxBackground" type="ParallaxBackground" parent="."] -scroll_offset = Vector2( 0.026, 0 ) -scroll_base_offset = Vector2( 0.038, 0 ) -scroll_base_scale = Vector2( 1, 1.045 ) - -[node name="HTTPRequest" type="HTTPRequest" parent="."] -use_threads = true - -[node name="ResourcePreloader" type="ResourcePreloader" parent="."] - -[node name="SkeletonIK" type="SkeletonIK" parent="."] -process_priority = 1 -interpolation = 0.942 -target = Transform( 2.49, 1.02, -0.07, 1.15, 1, -1.97, -0.7, -1.01, 2.42, -0.7, -0.59, -0.29 ) -magnet = Vector3( 2.8, -3.69, -0.95 ) -target_node = NodePath("../ResourcePreloader") - -[node name="Timer" type="Timer" parent="."] - -[node name="Tween" type="Tween" parent="."] -repeat = true -playback/repeat = true - -[node name="Viewport" type="Viewport" parent="."] - -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource( 4 ) diff --git a/All.tscn b/All.tscn index 0cf89fe..47649d3 100644 --- a/All.tscn +++ b/All.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://Nodes/Nodes.tscn" type="PackedScene" id=1] [ext_resource path="res://AIO/Operators/Operators.tscn" type="PackedScene" id=5] @@ -6,8 +6,6 @@ [ext_resource path="res://Rendering/Lights3D/Lights3D.tscn" type="PackedScene" id=7] [ext_resource path="res://Rendering/Lights2D/Lights2D.tscn" type="PackedScene" id=8] [ext_resource path="res://Physics/3D/Physics3D.tscn" type="PackedScene" id=9] -[ext_resource path="res://Text/Text.tscn" type="PackedScene" id=10] -[ext_resource path="res://AIO/AllNodes/ALL.tscn" type="PackedScene" id=11] [ext_resource path="res://ReparentingDeleting/ReparentingDeleting.tscn" type="PackedScene" id=12] [node name="All" type="Node"] @@ -24,14 +22,10 @@ [node name="Lights3D" parent="Rendering" instance=ExtResource( 7 )] -[node name="Text" parent="." instance=ExtResource( 10 )] - [node name="ReparentingDeleting" parent="." instance=ExtResource( 12 )] [node name="AIO" type="Node" parent="."] -[node name="ALL" parent="AIO" instance=ExtResource( 11 )] - -[node name="Node2D" parent="AIO" instance=ExtResource( 5 )] +[node name="Operators" parent="AIO" instance=ExtResource( 5 )] [node name="MainScenes" parent="." instance=ExtResource( 1 )] diff --git a/Autoload/Autoload.gd b/Autoload/Autoload.gd index 28c910b..cabac65 100644 --- a/Autoload/Autoload.gd +++ b/Autoload/Autoload.gd @@ -20,7 +20,6 @@ const alone_steps : Array = [ "res://Rendering/Lights2D/Lights2D.tscn", "res://Rendering/Lights3D/Lights3D.tscn", "res://ReparentingDeleting/ReparentingDeleting.tscn", - "res://Text/Text.tscn", ] # All scenes run in one step @@ -28,7 +27,6 @@ const alone_steps : Array = [ const all_in_one : Array = [ "res://AIO/Operators/Operators.tscn", "res://AutomaticBugs/FunctionExecutor.tscn", -#"res://AIO/AllNodes/ALL.tscn", # Take too much time - opens ~ 20 seconds in CI inside xvfb-run ] func _init(): @@ -48,7 +46,8 @@ func _init(): func _process(delta: float) -> void: var current_run_time : int = OS.get_ticks_msec() - start_time - while current_run_time > time_to_print_next_time: # This will allow to properly regulate time under heavy operations(e.g. Thread sanitizer) + # While loop instead if, will allow to properly flush results under heavy operations(e.g. Thread sanitizer) + while current_run_time > time_to_print_next_time: print("Test is running now " + str(int(time_to_print_next_time / 1000)) + " seconds") time_to_print_next_time += PRINT_TIME_EVERY_MILISECONDS diff --git a/AutomaticBugs/BasicData.gd b/AutomaticBugs/BasicData.gd index 6f26929..c2946ad 100644 --- a/AutomaticBugs/BasicData.gd +++ b/AutomaticBugs/BasicData.gd @@ -1,170 +1,175 @@ extends Node +var regression_test_project : bool = true # Set it to true in RegressionTestProject + +# Contains info about disabled classes +# Also allows to get list of available classes + +var properties_exceptions : Array = [ + "user_data", + "config_file", + "", + "", +] var function_exceptions : Array = [ -# 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 -"align",# GH 45976 -"_screen_pick_pressed",# GH 45977 -"debug_bake",# GH 45978 -"bake", # GH 45978 -"_editor_settings_changed",# GH 45979 -"_mesh_changed",# GH 45980 -"_submenu_timeout", # GH 45981 -"set_data", # GH 45995 - probably this will cause a lot of different errors in other classes -"_set_user_data", # GH 45996 -"set_config_file", # GH 45997 -"_gui_input", # GH 45998 -"_unhandled_key_input", # GH 45998 -"navpoly_add", #GH 43288 -"create_from_mesh", #GH 45999 -"_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 -"lightmap_unwrap", #GH 46007 - memory leak -"_input_type_changed", #GH 46011 -"add_node", #GH 46012 -"play", #GH 46013 -"connect_nodes_forced", #GH 46014 -"_set_tile_data", #GH 46015 -"add_image", #GH 46016 -"_edit_set_state", #GH 46017 -"_edit_set_position", #GH 46018 -"_edit_set_rect", #GH 46018 -"get", #GH 46019 -"instance_has", #GH 46020 -"_update_shader", #GH 46062 -"generate_tangents", #GH 46059 -"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 -"set_window_size", #GH 46187 -"get_screen_size", #GH 46186 -"get_screen_position", #GH 46185 -"set_current_screen", #GH 46184 -"build_capsule_planes", #GH -"build_cylinder_planes", #GH -"get_latin_keyboard_variant", #GH TODO Memory Leak -"add_feed", #GH -"poll", #GH - HTTP CLIENT -"make_atlas", #GH -"set_editor_hint", #GH -"", #GH + "_set_user_data", + "get_packet", # TODO + "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 + "connect_to_signal", # GH 47572 + "set_config_file", # GH 45997 + "class_get_property", # GH 47573 + "class_set_property", # GH 47573 + "_editor_settings_changed",# GH 45979 + "_submenu_timeout", # GH 45981 + "_gui_input", # GH 45998 + "_unhandled_key_input", # GH 45998 + "_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 + "_unhandled_input", # TODO + "_input", # TODO + "_set_tile_data", #GH 46015 + "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 + "open_midi_inputs", #GH 46183 + "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 + "_vp_input", # TODO + "_vp_unhandled_input", # TODO + "remove_joy_mapping", #GH 46754 + "add_joy_mapping", #GH 46754 + "add_vertex", #GH 47066 + "create_client", # TODO, strange memory leak + "create_shape_owner", #47135 + "shape_owner_get_owner", #47135 -"collide", #GH 46137 -"collide_and_get_contacts", #GH 46137 -"collide_with_motion", #GH 46137 -"collide_with_motion_and_get_contacts", #GH 46137 + "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 Check this later + "propagate_notification", + "notification", -# TODO Adds big spam when i>100 - look for possiblity to -"add_sphere", -# Spam when i~1000 - change to specific -"update_bitmask_region", + # 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", + "set_enabled_inputs", -# Slow Function -"_update_sky", + # 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", + # 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", -"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 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", + # Do not warp mouse + "warp_mouse", + "warp_mouse_position", -# OS -"kill", -"shell_open", -"execute", -"delay_usec", -"delay_msec", -"alert", # Stupid alert window opens + # 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", + # Godot Freeze + "wait_to_finish", + "accept_stream", + "connect_to_stream", + "discover", + "wait", + "debug_bake", + "bake", -"_create", # TODO Check + "_create", # TODO Check -"set_gizmo", # Stupid function, needs as parameter an object which can't be instanced # TODO, create issue to hide it + "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", + # 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", + # 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", +] +var exported : Array = [ + "get_bind_bone", + "get_bind_name", + "get_bind_pose", ] -# List of slow functions, which may frooze project +# List of slow functions, which may frooze project(not simple executing each function alone) var slow_functions : Array = [ "interpolate_baked", "get_baked_length", @@ -217,15 +222,68 @@ var invalid_signals : Array = [ "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 - "SceneTree", # Broke camera visibility + "_OS", # This may sometimes crash compositor, but it should be tested manually sometimes + "GDScript", # Broke script + + # This classes have problems with static/non static methods + "PhysicsDirectSpaceState", + "Physics2DDirectSpaceState", + "PhysicsDirectBodyState", + "Physics2DDirectBodyState", + "BulletPhysicsDirectSpaceState", + "InputDefault", + "IP_Unix", + "JNISingleton", + + + # Just don't use these because they are not normal things + "_Thread", + "_Semaphore", + "_Mutex", ] +# GH 47358 +func _init(): + function_exceptions.append_array(exported) + +# Checks if function can be executed +# Looks at its arguments an +func check_if_is_allowed(method_data : Dictionary) -> bool: + # Function is virtual, so we just skip it + if method_data["flags"] == method_data["flags"] | METHOD_FLAG_VIRTUAL: + return false + + for arg in method_data["args"]: + var name_of_class : String = arg["class_name"] + if name_of_class.empty(): + continue + if name_of_class in disabled_classes: + return false + if name_of_class.find("Server") != -1 && ClassDB.class_exists(name_of_class) && !ClassDB.is_parent_class(name_of_class,"Reference"): + return false + if name_of_class.find("Editor") != -1: # TODO not sure about it + return false + + #This is only for RegressionTestProject, because it needs for now clear visual info what is going on screen, but some nodes broke view + if regression_test_project: + if !ClassDB.is_parent_class(name_of_class, "Node") && !ClassDB.is_parent_class(name_of_class, "Reference"): + return false + + # In case of adding new type, this prevents from crashing due not recognizing this type + var t : int = arg["type"] + if !(t == TYPE_NIL || t == TYPE_AABB || t == TYPE_ARRAY || t == TYPE_BASIS || t == TYPE_BOOL || t == TYPE_COLOR || t == TYPE_COLOR_ARRAY || t == TYPE_DICTIONARY || t == TYPE_INT || t == TYPE_INT_ARRAY || t == TYPE_NODE_PATH || t == TYPE_OBJECT || t == TYPE_PLANE || t == TYPE_QUAT || t == TYPE_RAW_ARRAY || t == TYPE_REAL || t == TYPE_REAL_ARRAY || t == TYPE_RECT2 || t == TYPE_RID || t == TYPE_STRING || t == TYPE_TRANSFORM || t == TYPE_TRANSFORM2D || t == TYPE_VECTOR2 || t == TYPE_VECTOR2_ARRAY || t == TYPE_VECTOR3 || t == TYPE_VECTOR3_ARRAY): + print("----------------------------------------------------------- TODO - MISSING TYPE, ADD SUPPORT IT") + return false + + + return true + # Return all available classes to instance and test -func get_list_of_available_classes() -> Array: +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() @@ -236,13 +294,21 @@ func get_list_of_available_classes() -> Array: if name_of_class in disabled_classes: continue - if name_of_class.find("Server") != -1: +# if rr < 550: +# continue + + #This is only for RegressionTestProject, because it needs for now clear visual info what is going on screen, but some nodes broke view + if regression_test_project: + if !ClassDB.is_parent_class(name_of_class, "Node") && !ClassDB.is_parent_class(name_of_class, "Reference"): + continue + + if name_of_class.find("Server") != -1 && !ClassDB.is_parent_class(name_of_class,"Reference"): continue - - if !ClassDB.is_parent_class(name_of_class, "Node") && !ClassDB.is_parent_class(name_of_class, "Reference"): + if name_of_class.find("Editor") != -1: # TODO not sure about it continue - - if ClassDB.can_instance(name_of_class): + + + if !must_be_instantable || ClassDB.can_instance(name_of_class): classes.push_back(name_of_class) c+= 1 diff --git a/AutomaticBugs/FunctionExecutor.gd b/AutomaticBugs/FunctionExecutor.gd index b1bb4c3..084cc39 100644 --- a/AutomaticBugs/FunctionExecutor.gd +++ b/AutomaticBugs/FunctionExecutor.gd @@ -1,27 +1,33 @@ extends Node +# Execute every object function + var debug_print: bool = true -var add_to_tree: bool = true # Adds nodes to tree +var add_to_tree: bool = false # Adds nodes to tree, freeze godot when removing a lot of nodes 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 +var exiting: bool = true func _ready() -> void: - tests_all_functions() + if BasicData.regression_test_project: + tests_all_functions() + +func _process(_delta: float) -> void: + if !BasicData.regression_test_project: + tests_all_functions() + if exiting: + get_tree().quit() + # Test all functions func tests_all_functions() -> void: for name_of_class in BasicData.get_list_of_available_classes(): - if name_of_class == "_OS": # Do not change size of window - continue - - # 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) + var method_list: Array = ClassDB.class_get_method_list(name_of_class, !use_parent_methods) ## Exception for exception in BasicData.function_exceptions: @@ -34,107 +40,38 @@ func tests_all_functions() -> void: method_list.remove(index) if debug_print: - print("############### CLASS ############### - " + name_of_class) + print("#################### " + name_of_class +" ####################") + for _i in range(1): + for method_data in method_list: + if !BasicData.check_if_is_allowed(method_data): + continue - for method_data in method_list: - # Function is virtual, so we just skip it - if method_data["flags"] == method_data["flags"] | METHOD_FLAG_VIRTUAL: - continue + if debug_print: + print(name_of_class + "." + method_data["name"]) - if debug_print: - print(name_of_class + "." + method_data["name"]) + var arguments: Array = ParseArgumentType.parse_and_return_objects(method_data, debug_print) + object.callv(method_data["name"], arguments) - var arguments: Array = return_for_all(method_data) - object.callv(method_data["name"], arguments) + for argument in arguments: + if argument != null: + if argument is Node: + argument.queue_free() + elif argument is Object && !(argument is Reference): + argument.free() - for argument in arguments: - assert(argument != null) - if argument is Node: - argument.queue_free() - elif argument is Object && ! (argument is Reference): - argument.free() + if use_always_new_object: + assert(object != null, "Object must be instantable") + if object is Node: + object.queue_free() + elif object is Object && !(object is Reference): + object.free() - if use_always_new_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 add_to_tree: + if object is Node: + add_child(object) - object = ClassDB.instance(name_of_class) - - if object is Node: # Just prevent memory leak + if object is Node: object.queue_free() - elif object is Object && ! (object is Reference): + elif object is Object && !(object is Reference): object.free() - - -func return_for_all(method_data: Dictionary) -> Array: - var arguments_array: Array = [] - - ValueCreator.number = 10 - ValueCreator.random = false - ValueCreator.should_be_always_valid = false - - for argument in method_data["args"]: - match argument.type: - TYPE_NIL: # Looks that this means VARIANT not null - arguments_array.push_back(false) # TODO randomize this - TYPE_AABB: - arguments_array.push_back(ValueCreator.get_aabb()) - TYPE_ARRAY: - arguments_array.push_back(ValueCreator.get_array()) - TYPE_BASIS: - arguments_array.push_back(ValueCreator.get_basis()) - TYPE_BOOL: - arguments_array.push_back(ValueCreator.get_bool()) - TYPE_COLOR: - arguments_array.push_back(ValueCreator.get_color()) - TYPE_COLOR_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_color_array()) - TYPE_DICTIONARY: - arguments_array.push_back(ValueCreator.get_dictionary()) - TYPE_INT: - arguments_array.push_back(ValueCreator.get_int()) - TYPE_INT_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_int_array()) - TYPE_NODE_PATH: - arguments_array.push_back(ValueCreator.get_nodepath()) - TYPE_OBJECT: - arguments_array.push_back(ValueCreator.get_object(argument["class_name"])) - TYPE_PLANE: - arguments_array.push_back(ValueCreator.get_plane()) - TYPE_QUAT: - arguments_array.push_back(ValueCreator.get_quat()) - TYPE_RAW_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_byte_array()) - TYPE_REAL: - arguments_array.push_back(ValueCreator.get_float()) - TYPE_REAL_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_real_array()) - TYPE_RECT2: - arguments_array.push_back(ValueCreator.get_rect2()) - TYPE_RID: - arguments_array.push_back(RID()) - TYPE_STRING: - arguments_array.push_back(ValueCreator.get_string()) - TYPE_STRING_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_string_array()) - TYPE_TRANSFORM: - arguments_array.push_back(ValueCreator.get_transform()) - TYPE_TRANSFORM2D: - arguments_array.push_back(ValueCreator.get_transform2D()) - TYPE_VECTOR2: - arguments_array.push_back(ValueCreator.get_vector2()) - TYPE_VECTOR2_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_vector2_array()) - TYPE_VECTOR3: - arguments_array.push_back(ValueCreator.get_vector3()) - TYPE_VECTOR3_ARRAY: - arguments_array.push_back(ValueCreator.get_pool_vector3_array()) - _: - assert(false) # Missed some types, add it - - if debug_print: - print("Parameters " + str(arguments_array)) - return arguments_array diff --git a/AutomaticBugs/FunctionExecutor.tscn b/AutomaticBugs/FunctionExecutor.tscn index 98ff9eb..0c3453c 100644 --- a/AutomaticBugs/FunctionExecutor.tscn +++ b/AutomaticBugs/FunctionExecutor.tscn @@ -2,5 +2,5 @@ [ext_resource path="res://AutomaticBugs/FunctionExecutor.gd" type="Script" id=1] -[node name="FunctionExecutor" type="Node2D"] +[node name="FunctionExecutor" type="Node"] script = ExtResource( 1 ) diff --git a/AutomaticBugs/ParseArgumentType.gd b/AutomaticBugs/ParseArgumentType.gd new file mode 100644 index 0000000..c6da22b --- /dev/null +++ b/AutomaticBugs/ParseArgumentType.gd @@ -0,0 +1,217 @@ +extends Node + +# Parse arguments and return needed info/objects etc. + +class SingleArgument: + var name: String # E.G. var roman, can be empty, so temp variable isn't created(nodes and objects must be created with temp_variable due to memory leaks) + var type: String # np. Vector2 or Object + var value: String # np. randi() % 100 or + var is_object: bool = false # Check if this is object e.g. Node not Vector2 + var is_only_object: bool = false # Only needs to freed with .free() + var is_only_reference: bool = false # Don't needs to be removed manually + var is_only_node: bool = false # Needs to be removed with .queue_free() + + +func create_gdscript_arguments(arguments: Array) -> Array: + var argument_array: Array = [] + + ValueCreator.number = 10 + ValueCreator.random = true + ValueCreator.should_be_always_valid = true # DO NOT CHANGE, BECAUSE NON VALID VALUES WILL SHOW GDSCRIPT ERRORS! + + var counter = 0 + for argument in arguments: + counter += 1 + var sa: SingleArgument = SingleArgument.new() + sa.name = "variable" + str(counter) + match argument["type"]: + TYPE_NIL: # Looks that this means VARIANT not null + sa.type = "Variant" + sa.value = "false" + TYPE_AABB: + sa.type = "AABB" + sa.value = ValueCreator.get_aabb_string() + TYPE_ARRAY: + sa.type = "Array" + sa.value = "[]" + TYPE_BASIS: + sa.type = "Basis" + sa.value = ValueCreator.get_basis_string() + TYPE_BOOL: + sa.type = "bool" + sa.value = ValueCreator.get_bool_string().to_lower() + TYPE_COLOR: + sa.type = "Color" + sa.value = ValueCreator.get_color_string() + TYPE_COLOR_ARRAY: + sa.type = "PoolColorArray" + sa.value = "PoolColorArray([])" + TYPE_DICTIONARY: + sa.type = "Dictionary" + sa.value = "{}" # TODO Why not all use ValueCreator? + TYPE_INT: + sa.type = "int" + sa.value = ValueCreator.get_int_string() + TYPE_INT_ARRAY: + sa.type = "PoolIntArray" + sa.value = "PoolIntArray([])" + TYPE_NODE_PATH: + sa.type = "NodePath" + sa.value = "NodePath(\".\")" + TYPE_OBJECT: + sa.type = ValueCreator.get_object_string(argument["class_name"]) + sa.value = sa.type + ".new()" + + sa.is_object = true + if ClassDB.is_parent_class(sa.type, "Node"): + sa.is_only_node = true + elif ClassDB.is_parent_class(sa.type, "Reference"): + sa.is_only_reference = true + else: + sa.is_only_object = true + + TYPE_PLANE: + sa.type = "Plane" + sa.value = ValueCreator.get_plane_string() + TYPE_QUAT: + sa.type = "Quat" + sa.value = ValueCreator.get_quat_string() + TYPE_RAW_ARRAY: + sa.type = "PoolByteArray" + sa.value = "PoolByteArray([])" + TYPE_REAL: + sa.type = "float" + sa.value = ValueCreator.get_float_string() + TYPE_REAL_ARRAY: + sa.type = "PoolRealArray" + sa.value = "PoolRealArray([])" + TYPE_RECT2: + sa.type = "Rect2" + sa.value = ValueCreator.get_rect2_string() + TYPE_RID: + sa.type = "RID" + sa.value = "RID()" + TYPE_STRING: + sa.type = "String" + sa.value = ValueCreator.get_string_string() + TYPE_STRING_ARRAY: + sa.type = "PoolStringArray" + sa.value = "PoolStringArray([])" + TYPE_TRANSFORM: + sa.type = "Transform" + sa.value = ValueCreator.get_transform_string() + TYPE_TRANSFORM2D: + sa.type = "Transform2D" + sa.value = ValueCreator.get_transform2D_string() + TYPE_VECTOR2: + sa.type = "Vector2" + sa.value = ValueCreator.get_vector2_string() + TYPE_VECTOR2_ARRAY: + sa.type = "PoolVector2Array" + sa.value = "PoolVector2Array([])" + TYPE_VECTOR3: + sa.type = "Vector3" + sa.value = ValueCreator.get_vector3_string() + TYPE_VECTOR3_ARRAY: + sa.type = "PoolVector3Array" + sa.value = "PoolVector3Array([])" + _: + assert(false, "Missing type, needs to be added to project") + argument_array.append(sa) + + return argument_array + + +func parse_and_return_objects(method_data: Dictionary, debug_print: bool = false) -> Array: + var arguments_array: Array = [] + + if BasicData.regression_test_project: + ValueCreator.number = 100 + ValueCreator.random = false # Results in RegressionTestProject must be always reproducible + else: + ValueCreator.number = 1000 + ValueCreator.random = true + ValueCreator.should_be_always_valid = false + + for argument in method_data["args"]: + match argument.type: + TYPE_NIL: # Looks that this means VARIANT not null + if ValueCreator.random == false: + arguments_array.push_back(false) + else: + if randi() % 3: + arguments_array.push_back(ValueCreator.get_array()) + elif randi() % 3: + arguments_array.push_back(ValueCreator.get_object("Object")) + elif randi() % 3: + arguments_array.push_back(ValueCreator.get_dictionary()) + elif randi() % 3: + arguments_array.push_back(ValueCreator.get_string()) + elif randi() % 3: + arguments_array.push_back(ValueCreator.get_int()) + else: + arguments_array.push_back(ValueCreator.get_basis()) + TYPE_AABB: + arguments_array.push_back(ValueCreator.get_aabb()) + TYPE_ARRAY: + arguments_array.push_back(ValueCreator.get_array()) + TYPE_BASIS: + arguments_array.push_back(ValueCreator.get_basis()) + TYPE_BOOL: + arguments_array.push_back(ValueCreator.get_bool()) + TYPE_COLOR: + arguments_array.push_back(ValueCreator.get_color()) + TYPE_COLOR_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_color_array()) + TYPE_DICTIONARY: + arguments_array.push_back(ValueCreator.get_dictionary()) + TYPE_INT: + arguments_array.push_back(ValueCreator.get_int()) + TYPE_INT_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_int_array()) + TYPE_NODE_PATH: + arguments_array.push_back(ValueCreator.get_nodepath()) + TYPE_OBJECT: + if ValueCreator.random && randi() % 2: + arguments_array.push_back(null) + else: + var obj: Object = ValueCreator.get_object(argument["class_name"]) + arguments_array.push_back(obj) + assert(obj != null, "Failed to create an object of type " + argument["class_name"]) + + TYPE_PLANE: + arguments_array.push_back(ValueCreator.get_plane()) + TYPE_QUAT: + arguments_array.push_back(ValueCreator.get_quat()) + TYPE_RAW_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_byte_array()) + TYPE_REAL: + arguments_array.push_back(ValueCreator.get_float()) + TYPE_REAL_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_real_array()) + TYPE_RECT2: + arguments_array.push_back(ValueCreator.get_rect2()) + TYPE_RID: + arguments_array.push_back(RID()) + TYPE_STRING: + arguments_array.push_back(ValueCreator.get_string()) + TYPE_STRING_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_string_array()) + TYPE_TRANSFORM: + arguments_array.push_back(ValueCreator.get_transform()) + TYPE_TRANSFORM2D: + arguments_array.push_back(ValueCreator.get_transform2D()) + TYPE_VECTOR2: + arguments_array.push_back(ValueCreator.get_vector2()) + TYPE_VECTOR2_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_vector2_array()) + TYPE_VECTOR3: + arguments_array.push_back(ValueCreator.get_vector3()) + TYPE_VECTOR3_ARRAY: + arguments_array.push_back(ValueCreator.get_pool_vector3_array()) + _: + assert(false, "Missing type, needs to be added to project") + + if debug_print: + print("Parameters " + str(arguments_array)) + return arguments_array diff --git a/AutomaticBugs/ValueCreator.gd b/AutomaticBugs/ValueCreator.gd index 3b3e15d..924d4c9 100644 --- a/AutomaticBugs/ValueCreator.gd +++ b/AutomaticBugs/ValueCreator.gd @@ -1,8 +1,10 @@ extends Node +# Creates random or not objects, variables etc. + 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 should_be_always_valid: bool = true # Generate only valid values e.g. to Node generate Node2D instead var max_array_size: int = 15 @@ -62,26 +64,44 @@ func get_bool_string() -> String: func get_vector2() -> Vector2: + if random: + if randi() % 2: + return Vector2(get_float(), get_float()).normalized() return Vector2(get_float(), get_float()) func get_vector2_string() -> String: + if random: + if randi() % 2: + return "Vector2(" + get_float_string() + ", " + get_float_string() + ").normalized()" return "Vector2(" + get_float_string() + ", " + get_float_string() + ")" func get_vector2_string_csharp() -> String: + if random: + if randi() % 2: + return "new Vector2(" + get_float_string() + ", " + get_float_string() + ").Normalized()" return "new Vector2(" + get_float_string() + ", " + get_float_string() + ")" func get_vector3() -> Vector3: + if random: + if randi() % 2: + return Vector3(get_float(), get_float(), get_float()).normalized() return Vector3(get_float(), get_float(), get_float()) func get_vector3_string() -> String: + if random: + if randi() % 2: + return "Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ").normalized()" return "Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ")" func get_vector3_string_csharp() -> String: + if random: + if randi() % 2: + return "new Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ").Normalized()" return "new Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ")" @@ -216,17 +236,24 @@ func get_nodepath_string_csharp() -> String: func get_array() -> Array: var array: Array = [] for _i in range(int(min(max_array_size, number))): - array.append([]) + if random && randi() % 2: + array.append(randi() % 100) + else: + array.append([]) return Array([]) -# TODO func get_dictionary() -> Dictionary: + if random: + if randi() % 2: + return Dictionary({"roman": 22, 22: 25, BoxShape.new(): BoxShape.new()}) return Dictionary({}) func get_pool_string_array() -> PoolStringArray: var array: Array = [] + if random && randi() % 2: + return PoolStringArray(array) for _i in range(int(min(max_array_size, number))): array.append(get_string()) return PoolStringArray(array) @@ -234,6 +261,8 @@ func get_pool_string_array() -> PoolStringArray: func get_pool_int_array() -> PoolIntArray: var array: Array = [] + if random && randi() % 2: + return PoolIntArray(array) for _i in range(int(min(max_array_size, number))): array.append(get_int()) return PoolIntArray(array) @@ -241,6 +270,8 @@ func get_pool_int_array() -> PoolIntArray: func get_pool_byte_array() -> PoolByteArray: var array: Array = [] + if random && randi() % 2: + return PoolByteArray(array) for _i in range(int(min(max_array_size, number))): array.append(get_int()) return PoolByteArray(array) @@ -248,6 +279,8 @@ func get_pool_byte_array() -> PoolByteArray: func get_pool_real_array() -> PoolRealArray: var array: Array = [] + if random && randi() % 2: + return PoolRealArray(array) for _i in range(int(min(max_array_size, number))): array.append(get_float()) return PoolRealArray(array) @@ -255,6 +288,8 @@ func get_pool_real_array() -> PoolRealArray: func get_pool_vector2_array() -> PoolVector2Array: var array: Array = [] + if random && randi() % 2: + return PoolVector2Array(array) for _i in range(int(min(max_array_size, number))): array.append(get_vector2()) return PoolVector2Array(array) @@ -262,6 +297,8 @@ func get_pool_vector2_array() -> PoolVector2Array: func get_pool_vector3_array() -> PoolVector3Array: var array: Array = [] + if random && randi() % 2: + return PoolVector3Array(array) for _i in range(int(min(max_array_size, number))): array.append(get_vector3()) return PoolVector3Array(array) @@ -269,13 +306,17 @@ func get_pool_vector3_array() -> PoolVector3Array: func get_pool_color_array() -> PoolColorArray: var array: Array = [] + if random && randi() % 2: + return PoolColorArray(array) for _i in range(int(min(max_array_size, number))): array.append(get_color()) return PoolColorArray(array) func get_object(object_name: String) -> Object: - assert(ClassDB.class_exists(object_name)) + assert(ClassDB.class_exists(object_name), "Class " + object_name + " doesn't exists.") + if object_name == "PhysicsDirectSpaceState" || object_name == "Physics2DDirectSpaceState": + return BoxShape.new() var a = 0 if random: @@ -287,7 +328,7 @@ func get_object(object_name: String) -> Object: 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) + && !(choosen_class in BasicData.disabled_classes) ): return ClassDB.instance(choosen_class) @@ -295,40 +336,55 @@ func get_object(object_name: String) -> Object: 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) + if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes: + assert(to_use_classes.size() > 0, "Cannot find proper instantable child for " + object_name) 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) + assert(false, "Cannot find proper instantable child for " + object_name) var choosen_class: String = to_use_classes[randi() % to_use_classes.size()] - if ClassDB.can_instance(choosen_class) && ! (choosen_class in BasicData.disabled_classes): + 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) + assert(false, "Cannot find proper instantable child for " + object_name) 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): + 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) - assert(false) # Other argument types are not supported + + # 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, "Cannot find proper instantable child for " + object_name) + + 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, "Cannot find proper instantable child for " + object_name) + 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 + assert(list_of_class.size() > 0, "Cannot find proper instantable child for " + object_name) # 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, "Cannot find proper instantable child for " + object_name) - assert(false) + assert(false, "Cannot find proper instantable child for " + object_name) return BoxShape.new() @@ -350,15 +406,15 @@ func get_object_string(object_name: String) -> String: 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) + if !ClassDB.can_instance(object_name): + assert(to_use_classes.size() > 0, "Cannot find proper instantable child for " + object_name) 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) + assert(false, "Cannot find proper instantable child for " + object_name) var choosen_class: String = to_use_classes[randi() % to_use_classes.size()] if ClassDB.can_instance(choosen_class): return choosen_class @@ -366,23 +422,37 @@ func get_object_string(object_name: String) -> String: while true: a += 1 if a > 30: - assert(false) + assert(false, "Cannot find proper instantable child for " + object_name) var choosen_class: String = classes[randi() % classes.size()] - if ! ClassDB.is_parent_class(choosen_class, object_name): + if !ClassDB.is_parent_class(choosen_class, object_name): return choosen_class - assert(false) # Other argument types are not supported + # 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, "Cannot find proper instantable child for " + object_name) + + 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, "Cannot find proper instantable child for " + object_name) + 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 + assert(list_of_class.size() > 0, "Cannot find proper instantable child for " + object_name) # 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, "Cannot find proper instantable child for " + object_name) - assert(false) + assert(false, "Cannot find proper instantable child for " + object_name) return "BoxMesh" diff --git a/Text/Label.gd b/Text/Label.gd deleted file mode 100644 index 5c582c9..0000000 --- a/Text/Label.gd +++ /dev/null @@ -1,18 +0,0 @@ -extends Label - -const TIME : float = 0.3 -var time_to_stop : float = TIME -var current_type : int = 0 - -func _process(delta: float) -> void: - time_to_stop -= delta - if time_to_stop < 0: - time_to_stop = TIME - - current_type += 1 - current_type %= 2 - - if current_type == 0: - set_text("ŚWIERSZCZ NAD GŻEGŻÓŁKĄ W ŻÓŁCI") - else: - text += "AQWAMARYNA" diff --git a/Text/Label.tscn b/Text/Label.tscn deleted file mode 100644 index f0d3d82..0000000 --- a/Text/Label.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://Text/Label.gd" type="Script" id=1] - -[node name="Label" type="Label"] -margin_right = 83.0 -margin_bottom = 14.0 -text = "Stomatologia" -script = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} diff --git a/Text/RichTextLabel.gd b/Text/RichTextLabel.gd deleted file mode 100644 index d991763..0000000 --- a/Text/RichTextLabel.gd +++ /dev/null @@ -1,18 +0,0 @@ -extends RichTextLabel - -const TIME : float = 0.3 -var time_to_stop : float = TIME -var current_type : int = 0 - -func _process(delta: float) -> void: - time_to_stop -= delta - if time_to_stop < 0: - time_to_stop = TIME - - current_type += 1 - current_type %= 2 - - if current_type == 0: - set_text("ŚWIERSZCZ NAD GŻEGŻÓŁKĄ W ŻÓŁCI, Świeci nad Źrebięciem w ciągu szeleszczącej burzy") - else: - text += "AQWAMARYNA JEST ZROBIONA Z KROMKI PO MAŚLE I NAD REDUNDANCJĄ TRZEBA ZROBIĆ DWIE ABY SIĘ NIE POŚLIZGNĄĆ" diff --git a/Text/RichTextLabel.tscn b/Text/RichTextLabel.tscn deleted file mode 100644 index badc963..0000000 --- a/Text/RichTextLabel.tscn +++ /dev/null @@ -1,15 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://Text/RichTextLabel.gd" type="Script" id=1] - -[node name="RichTextLabel" type="RichTextLabel"] -anchor_right = 1.0 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -bbcode_text = "Szyszka" -text = "Szyszka" -script = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} diff --git a/Text/Text.tscn b/Text/Text.tscn deleted file mode 100644 index 65e2c6f..0000000 --- a/Text/Text.tscn +++ /dev/null @@ -1,27 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://Text/RichTextLabel.tscn" type="PackedScene" id=1] -[ext_resource path="res://Text/Label.tscn" type="PackedScene" id=2] - -[node name="Text" type="GridContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -columns = 5 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="Label" parent="." instance=ExtResource( 2 )] -margin_top = 293.0 -margin_bottom = 307.0 - -[node name="RichTextLabel" parent="." instance=ExtResource( 1 )] -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 87.0 -margin_right = 321.0 -margin_bottom = 600.0 -bbcode_text = "Roman -" -text = "Roman -" diff --git a/project.godot b/project.godot index 630ce5e..6fec023 100644 --- a/project.godot +++ b/project.godot @@ -28,6 +28,7 @@ config/icon="res://icon.png" Autoload="*res://Autoload/Autoload.gd" ValueCreator="*res://AutomaticBugs/ValueCreator.gd" BasicData="*res://AutomaticBugs/BasicData.gd" +ParseArgumentType="*res://AutomaticBugs/ParseArgumentType.gd" [debug]