mirror of
https://github.com/Relintai/regression-test-project.git
synced 2025-02-02 16:05:58 +01:00
Sync project with 3.2
This commit is contained in:
parent
24d7edd8f9
commit
963ebf67a0
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,6 +1,6 @@
|
||||
.DS_Store
|
||||
*~
|
||||
.import/
|
||||
#.import/
|
||||
logs/
|
||||
.~lock.*#
|
||||
.mono/
|
||||
@ -8,4 +8,6 @@ logs/
|
||||
TEMP/
|
||||
#export_presets.cfg
|
||||
logs/
|
||||
.godot/
|
||||
.godot/imported/
|
||||
.godot/editor
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,105 +1,103 @@
|
||||
[gd_scene load_steps=34 format=2]
|
||||
[gd_scene load_steps=37 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=50]
|
||||
[ext_resource path="res://icon.png" type="Texture2D" id=50]
|
||||
|
||||
[sub_resource type="SpriteFrames" id=1]
|
||||
[sub_resource type="StandardMaterial3D" id=1]
|
||||
|
||||
[sub_resource type="SpriteFrames" id=2]
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 50 ) ],
|
||||
"loop": true,
|
||||
"name": "default",
|
||||
"name": @"default",
|
||||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[sub_resource type="CubeMesh" id=2]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=3]
|
||||
[sub_resource type="BoxMesh" id=3]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=4]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=5]
|
||||
|
||||
[sub_resource type="CapsuleMesh" id=6]
|
||||
material = SubResource( 5 )
|
||||
[sub_resource type="StandardMaterial3D" id=6]
|
||||
|
||||
[sub_resource type="CapsuleMesh" id=7]
|
||||
material = SubResource( 6 )
|
||||
radius = 1.272
|
||||
mid_height = 0.001
|
||||
radial_segments = 4
|
||||
rings = 2
|
||||
|
||||
[sub_resource type="CameraTexture" id=7]
|
||||
[sub_resource type="CameraTexture" id=8]
|
||||
camera_feed_id = 1
|
||||
which_feed = 1
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=8]
|
||||
roughness_texture = SubResource( 7 )
|
||||
[sub_resource type="StandardMaterial3D" id=9]
|
||||
roughness_texture = SubResource( 8 )
|
||||
roughness_texture_channel = 1
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=9]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=10]
|
||||
vertex_color_use_as_albedo = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=11]
|
||||
vertex_color_use_as_albedo = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=12]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=13]
|
||||
params_diffuse_mode = 1
|
||||
params_specular_mode = 1
|
||||
params_blend_mode = 1
|
||||
params_cull_mode = 1
|
||||
params_depth_draw_mode = 1
|
||||
|
||||
[sub_resource type="CubeMesh" id=14]
|
||||
material = SubResource( 13 )
|
||||
[sub_resource type="StandardMaterial3D" id=14]
|
||||
blend_mode = 1
|
||||
cull_mode = 1
|
||||
diffuse_mode = 1
|
||||
specular_mode = 1
|
||||
|
||||
[sub_resource type="BoxMesh" id=15]
|
||||
material = SubResource( 14 )
|
||||
size = Vector3( 2.25, 1.56, 2.49 )
|
||||
|
||||
[sub_resource type="Skin" id=15]
|
||||
[sub_resource type="Skin" id=16]
|
||||
bind_count = 10
|
||||
bind/0/name = ""
|
||||
bind/0/name = @""
|
||||
bind/0/bone = -1
|
||||
bind/0/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/1/name = ""
|
||||
bind/1/name = @""
|
||||
bind/1/bone = -1
|
||||
bind/1/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/2/name = ""
|
||||
bind/2/name = @""
|
||||
bind/2/bone = -1
|
||||
bind/2/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/3/name = ""
|
||||
bind/3/name = @""
|
||||
bind/3/bone = -1
|
||||
bind/3/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/4/name = ""
|
||||
bind/4/name = @""
|
||||
bind/4/bone = -1
|
||||
bind/4/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/5/name = ""
|
||||
bind/5/name = @""
|
||||
bind/5/bone = -1
|
||||
bind/5/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/6/name = ""
|
||||
bind/6/name = @""
|
||||
bind/6/bone = -1
|
||||
bind/6/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/7/name = ""
|
||||
bind/7/name = @""
|
||||
bind/7/bone = -1
|
||||
bind/7/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/8/name = ""
|
||||
bind/8/name = @""
|
||||
bind/8/bone = -1
|
||||
bind/8/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
bind/9/name = ""
|
||||
bind/9/name = @""
|
||||
bind/9/bone = -1
|
||||
bind/9/pose = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="CubeMesh" id=16]
|
||||
[sub_resource type="StandardMaterial3D" id=17]
|
||||
|
||||
[sub_resource type="MultiMesh" id=17]
|
||||
color_format = 2
|
||||
[sub_resource type="BoxMesh" id=18]
|
||||
|
||||
[sub_resource type="MultiMesh" id=19]
|
||||
transform_format = 1
|
||||
custom_data_format = 2
|
||||
instance_count = 15
|
||||
visible_instance_count = 121212
|
||||
mesh = SubResource( 16 )
|
||||
transform_array = PoolVector3Array( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
color_array = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 )
|
||||
custom_data_array = PoolColorArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
|
||||
instance_count = 3
|
||||
mesh = SubResource( 18 )
|
||||
buffer = PackedFloat32Array( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 )
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=18]
|
||||
[sub_resource type="ParticlesMaterial" id=20]
|
||||
render_priority = 127
|
||||
emission_shape = 2
|
||||
emission_box_extents = Vector3( 1, 1, 1 )
|
||||
@ -108,35 +106,45 @@ radial_accel_random = 1.0
|
||||
tangential_accel = 3.1
|
||||
tangential_accel_random = 1.0
|
||||
|
||||
[sub_resource type="BakedLightmapData" id=19]
|
||||
energy = 5.7
|
||||
[sub_resource type="BoxMesh" id=21]
|
||||
|
||||
[sub_resource type="BoxShape" id=20]
|
||||
[sub_resource type="BakedLightmapData" id=22]
|
||||
user_data = [ ]
|
||||
probe_data = {
|
||||
"bounds": AABB( 0, 0, 0, 0, 0, 0 ),
|
||||
"bsp": PackedInt32Array( ),
|
||||
"interior": false,
|
||||
"points": PackedVector3Array( ),
|
||||
"sh": PackedColorArray( ),
|
||||
"tetrahedra": PackedInt32Array( )
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id=23]
|
||||
margin = 0.5
|
||||
extents = Vector3( 1, 26.5038, 3.22286 )
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=21]
|
||||
[sub_resource type="PhysicsMaterial" id=24]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=22]
|
||||
[sub_resource type="PhysicsMaterial" id=25]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=23]
|
||||
[sub_resource type="PhysicsMaterial" id=26]
|
||||
friction = 0.53
|
||||
|
||||
[sub_resource type="AudioStreamGenerator" id=24]
|
||||
[sub_resource type="AudioStreamGenerator" id=27]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape" id=25]
|
||||
[sub_resource type="ConcavePolygonShape3D" id=28]
|
||||
margin = 0.067
|
||||
|
||||
[sub_resource type="CapsuleMesh" id=26]
|
||||
[sub_resource type="CapsuleMesh" id=29]
|
||||
|
||||
[sub_resource type="MeshLibrary" id=27]
|
||||
[sub_resource type="MeshLibrary" id=30]
|
||||
item/0/name = ""
|
||||
item/0/mesh = SubResource( 26 )
|
||||
item/0/mesh = SubResource( 29 )
|
||||
item/0/mesh_transform = null
|
||||
item/0/shapes = [ ]
|
||||
item/0/navmesh_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="NavigationMesh" id=28]
|
||||
[sub_resource type="NavigationMesh" id=31]
|
||||
polygons = [ ]
|
||||
sample_partition_type/sample_partition_type = 2
|
||||
geometry/parsed_geometry_type = 1
|
||||
geometry/collision_mask = 2147483647
|
||||
@ -157,152 +165,188 @@ filter/low_hanging_obstacles = true
|
||||
filter/ledge_spans = true
|
||||
filter/filter_walkable_low_height_spans = true
|
||||
|
||||
[sub_resource type="Curve3D" id=29]
|
||||
[sub_resource type="Curve3D" id=32]
|
||||
bake_interval = 10.0
|
||||
_data = {
|
||||
"points": PoolVector3Array( 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007, 0, 0, 0, 0, 0, 0, -18.4839, 0.381447, -2.2567, 0, 0, 0, 0, 0, 0, -9.25256, -1.66295, 1.34504, 0, 0, 0, 0, 0, 0, 14.3498, 1.51124, -0.660617, 0, 0, 0, 0, 0, 0, 16.5666, 7.48303, -8.42252, 0, 0, 0, 0, 0, 0, 5.21951, 11.8408, -15.3123, 0, 0, 0, 0, 0, 0, -6.34309, 13.0513, -18.0214, 0, 0, 0, 0, 0, 0, -22.2367, 9.90402, -15.3228, 0, 0, 0, 0, 0, 0, -5.97389, 1.40365, -2.43845, 0, 0, 0, 0, 0, 0, 1.22511, 4.12054, -5.38451, 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007 ),
|
||||
"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
|
||||
"points": PackedVector3Array( 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007, 0, 0, 0, 0, 0, 0, -18.4839, 0.381447, -2.2567, 0, 0, 0, 0, 0, 0, -9.25256, -1.66295, 1.34504, 0, 0, 0, 0, 0, 0, 14.3498, 1.51124, -0.660617, 0, 0, 0, 0, 0, 0, 16.5666, 7.48303, -8.42252, 0, 0, 0, 0, 0, 0, 5.21951, 11.8408, -15.3123, 0, 0, 0, 0, 0, 0, -6.34309, 13.0513, -18.0214, 0, 0, 0, 0, 0, 0, -22.2367, 9.90402, -15.3228, 0, 0, 0, 0, 0, 0, -5.97389, 1.40365, -2.43845, 0, 0, 0, 0, 0, 0, 1.22511, 4.12054, -5.38451, 0, 0, 0, 0, 0, 0, -4.21835, 8.31693, -11.5007 ),
|
||||
"tilts": PackedFloat32Array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape" id=30]
|
||||
[sub_resource type="BoxShape3D" id=33]
|
||||
margin = 1.21
|
||||
extents = Vector3( 1, 1.77, 1.71 )
|
||||
|
||||
[sub_resource type="CapsuleShape" id=31]
|
||||
[sub_resource type="CapsuleShape3D" id=34]
|
||||
|
||||
[sub_resource type="CubeMesh" id=32]
|
||||
[sub_resource type="BoxMesh" id=35]
|
||||
|
||||
[node name="3DALL" type="Node3D"]
|
||||
script = null
|
||||
|
||||
[node name="ARVROrigin" type="ARVROrigin" parent="."]
|
||||
[node name="ARVROrigin" type="XROrigin3D" parent="."]
|
||||
world_scale = 1.01
|
||||
script = null
|
||||
|
||||
[node name="ARVRAnchor" type="ARVRAnchor" parent="ARVROrigin"]
|
||||
[node name="ARVRAnchor" type="XRAnchor3D" parent="ARVROrigin"]
|
||||
anchor_id = 32
|
||||
script = null
|
||||
|
||||
[node name="ARVRCamera3D_NOTHING" type="ARVRCamera" parent="ARVROrigin"]
|
||||
size = 16004.7
|
||||
[node name="ARVRCamera_NOTHING" type="XRCamera3D" parent="ARVROrigin"]
|
||||
h_offset = 0.159
|
||||
v_offset = -0.909
|
||||
doppler_tracking = 1
|
||||
projection = 1
|
||||
size = 91.71
|
||||
near = 2235.15
|
||||
far = 1.1
|
||||
script = null
|
||||
|
||||
[node name="ARVRController" type="ARVRController" parent="ARVROrigin"]
|
||||
[node name="ARVRController" type="XRController3D" parent="ARVROrigin"]
|
||||
controller_id = 3
|
||||
script = null
|
||||
|
||||
[node name="Camera3D" type="Camera" parent="."]
|
||||
[node name="Camera" type="Camera3D" parent="."]
|
||||
h_offset = 0.032
|
||||
v_offset = 0.03
|
||||
doppler_tracking = 1
|
||||
projection = 1
|
||||
fov = 75.7
|
||||
size = 1.23
|
||||
near = 0.42
|
||||
far = 1134.3
|
||||
far = 356.3
|
||||
script = null
|
||||
|
||||
[node name="ClippedCamera3D" type="ClippedCamera" parent="."]
|
||||
[node name="ClippedCamera" type="ClippedCamera3D" parent="."]
|
||||
h_offset = 0.038
|
||||
v_offset = -0.146
|
||||
fov = 64.8
|
||||
size = 15954.2
|
||||
near = 0.45
|
||||
margin = 23.09
|
||||
script = null
|
||||
|
||||
[node name="InterpolatedCamera3D" type="InterpolatedCamera" parent="."]
|
||||
size = 16384.0
|
||||
target = NodePath("../ARVROrigin/ARVRController")
|
||||
speed = 1.06
|
||||
[node name="InterpolatedCamera" type="Node" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
material_override = SubResource( 1 )
|
||||
offset = Vector2( 0.026, 0 )
|
||||
flip_h = true
|
||||
frames = SubResource( 1 )
|
||||
flip_v = true
|
||||
modulate = Color( 0.454902, 0.25098, 0.25098, 1 )
|
||||
opacity = 0.74
|
||||
pixel_size = 0.0526
|
||||
billboard = 1
|
||||
shaded = true
|
||||
frames = SubResource( 2 )
|
||||
frame = 2
|
||||
playing = true
|
||||
script = null
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
flip_h = true
|
||||
flip_v = true
|
||||
texture = ExtResource( 50 )
|
||||
hframes = 13
|
||||
frame = 2
|
||||
script = null
|
||||
|
||||
[node name="CPUParticles" type="CPUParticles" parent="."]
|
||||
mesh = SubResource( 2 )
|
||||
[node name="CPUParticles" type="CPUParticles3D" parent="."]
|
||||
emitting = false
|
||||
amount = 5
|
||||
lifetime = 1.83
|
||||
speed_scale = 2.68
|
||||
explosiveness = 0.24
|
||||
randomness = 0.87
|
||||
lifetime_randomness = 0.75
|
||||
mesh = SubResource( 3 )
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 1.0
|
||||
script = null
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="."]
|
||||
[node name="CSGBox" type="CSGBox3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 25.6943 )
|
||||
operation = 1
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
material = SubResource( 4 )
|
||||
script = null
|
||||
|
||||
[node name="CSGCylinder" type="CSGCylinder" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, 0, 0 )
|
||||
[node name="CSGCylinder" type="CSGCylinder3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 0.745602, 0, 0, 0, 1, 0, -21.0098, 0 )
|
||||
invert_faces = true
|
||||
radius = 123.75
|
||||
height = 45.8309
|
||||
sides = 3
|
||||
cone = true
|
||||
material = SubResource( 4 )
|
||||
material = SubResource( 5 )
|
||||
script = null
|
||||
|
||||
[node name="CSGMesh" type="CSGMesh" parent="."]
|
||||
[node name="CSGMesh" type="CSGMesh3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 3.78, 0, 0, 0, 7.64, 5.27772, 5.196, 0 )
|
||||
invert_faces = true
|
||||
mesh = SubResource( 6 )
|
||||
material = SubResource( 8 )
|
||||
|
||||
[node name="CSGPolygon" type="CSGPolygon" parent="."]
|
||||
polygon = PoolVector2Array( 1.3, 0.59, 1, 0.06, 1, -6.56, 0, 0, 0, 0, 0, 0 )
|
||||
depth = 1.123
|
||||
mesh = SubResource( 7 )
|
||||
material = SubResource( 9 )
|
||||
script = null
|
||||
|
||||
[node name="CSGSphere" type="CSGSphere" parent="."]
|
||||
[node name="CSGPolygon" type="CSGPolygon3D" parent="."]
|
||||
polygon = PackedVector2Array( 1.3, 0.59, 1, 0.06, 1, -6.56, 0, 0, 0, 0, 0, 0 )
|
||||
depth = 1.123
|
||||
material = SubResource( 10 )
|
||||
script = null
|
||||
|
||||
[node name="CSGSphere" type="CSGSphere3D" parent="."]
|
||||
invert_faces = true
|
||||
radius = 19.668
|
||||
radial_segments = 4
|
||||
rings = 4
|
||||
rings = 3
|
||||
smooth_faces = false
|
||||
material = SubResource( 10 )
|
||||
material = SubResource( 11 )
|
||||
script = null
|
||||
|
||||
[node name="CSGTorus" type="CSGTorus" parent="."]
|
||||
[node name="CSGTorus" type="CSGTorus3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.71423, -3.42086 )
|
||||
invert_faces = true
|
||||
inner_radius = 0.001
|
||||
outer_radius = 19.109
|
||||
sides = 5
|
||||
material = SubResource( 11 )
|
||||
sides = 4
|
||||
ring_sides = 5
|
||||
material = SubResource( 12 )
|
||||
script = null
|
||||
|
||||
[node name="CSGCombiner_NOTHING" type="CSGCombiner" parent="."]
|
||||
[node name="CSGCombiner_NOTHING" type="CSGCombiner3D" parent="."]
|
||||
operation = 1
|
||||
script = null
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="CSGCombiner_NOTHING"]
|
||||
[node name="CSGBox" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
material = SubResource( 4 )
|
||||
script = null
|
||||
|
||||
[node name="CSGBox2" type="CSGBox" parent="CSGCombiner_NOTHING"]
|
||||
[node name="CSGBox2" type="CSGBox3D" parent="CSGCombiner_NOTHING"]
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
material = SubResource( 4 )
|
||||
script = null
|
||||
|
||||
[node name="CSGBox3" type="CSGBox" parent="CSGCombiner_NOTHING"]
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
|
||||
[node name="CSGBox4" type="CSGBox" parent="CSGCombiner_NOTHING"]
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
|
||||
[node name="CSGBox5" type="CSGBox" parent="CSGCombiner_NOTHING"]
|
||||
invert_faces = true
|
||||
width = 44.173
|
||||
height = 19.604
|
||||
material = SubResource( 3 )
|
||||
|
||||
[node name="ImmediateGeometry" type="ImmediateGeometry" parent="."]
|
||||
material_override = SubResource( 12 )
|
||||
[node name="ImmediateGeometry" type="ImmediateGeometry3D" parent="."]
|
||||
material_override = SubResource( 13 )
|
||||
extra_cull_margin = 0.08
|
||||
use_in_baked_light = true
|
||||
gi_mode = 1
|
||||
script = null
|
||||
|
||||
[node name="MeshInstance" type="MeshInstance" parent="."]
|
||||
mesh = SubResource( 14 )
|
||||
skin = SubResource( 15 )
|
||||
material/0 = null
|
||||
[node name="MeshInstance" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource( 15 )
|
||||
skin = SubResource( 16 )
|
||||
material/0 = SubResource( 17 )
|
||||
script = null
|
||||
|
||||
[node name="MultiMeshInstance" type="MultiMeshInstance" parent="."]
|
||||
multimesh = SubResource( 17 )
|
||||
[node name="MultiMeshInstance" type="MultiMeshInstance3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.9485, 0 )
|
||||
multimesh = SubResource( 19 )
|
||||
script = null
|
||||
|
||||
[node name="Particles" type="Particles" parent="."]
|
||||
[node name="Particles" type="GPUParticles3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -27.0754 )
|
||||
emitting = false
|
||||
amount = 4
|
||||
lifetime = 1.42
|
||||
preprocess = 0.5
|
||||
speed_scale = 1.3
|
||||
@ -310,290 +354,226 @@ explosiveness = 0.41
|
||||
randomness = 0.34
|
||||
fract_delta = false
|
||||
local_coords = false
|
||||
process_material = SubResource( 18 )
|
||||
process_material = SubResource( 20 )
|
||||
draw_pass_1 = SubResource( 21 )
|
||||
script = null
|
||||
|
||||
[node name="BakedLightmap" type="BakedLightmap" parent="."]
|
||||
bake_cell_size = 1.94
|
||||
bake_propagation = 0.0
|
||||
bake_energy = 1.58
|
||||
image_path = "res://file.jpg"
|
||||
light_data = SubResource( 19 )
|
||||
light_data = SubResource( 22 )
|
||||
script = null
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="."]
|
||||
[node name="DirectionalLight" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 0.639291, -0.768965, 0, 0.768965, 0.639291, 0, 21.5838, 0 )
|
||||
light_energy = 7.54
|
||||
shadow_enabled = true
|
||||
script = null
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16.2155 )
|
||||
light_energy = 1.11
|
||||
[node name="SpotLight" type="SpotLight3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, -0.171431, -0.985196, 0, 0.985196, -0.171431, 0, 0, -16.2155 )
|
||||
light_energy = 4.05
|
||||
light_negative = true
|
||||
shadow_enabled = true
|
||||
shadow_bias = 0.4
|
||||
script = null
|
||||
|
||||
[node name="GIProbe" type="GIProbe" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.945391, 1.15135, 1.78806 )
|
||||
extents = Vector3( 10, 10, 22.3077 )
|
||||
energy = 1.89
|
||||
propagation = 1.0
|
||||
bias = 1.58
|
||||
normal_bias = 0.061
|
||||
interior = true
|
||||
compress = true
|
||||
script = null
|
||||
|
||||
[node name="ReflectionProbe" type="ReflectionProbe" parent="."]
|
||||
update_mode = 1
|
||||
intensity = 0.51
|
||||
max_distance = 1.7
|
||||
extents = Vector3( 1, 1.583, 1 )
|
||||
box_projection = true
|
||||
script = null
|
||||
|
||||
[node name="RootMotionView" type="RootMotionView" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="Area" type="Area" parent="."]
|
||||
[node name="Area" type="Area3D" parent="."]
|
||||
gravity = 22.39
|
||||
linear_damp = 0.126
|
||||
monitoring = false
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="Area"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="Area"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="Area"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="Area"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="Area"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="KinematicBody" type="KinematicBody" parent="."]
|
||||
[node name="KinematicBody" type="KinematicBody3D" parent="."]
|
||||
collision/safe_margin = 0.033
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="KinematicBody"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="KinematicBody"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="KinematicBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="KinematicBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="KinematicBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="PhysicalBone" type="PhysicalBone" parent="."]
|
||||
[node name="PhysicalBone" type="PhysicalBone3D" parent="."]
|
||||
mass = 1.21
|
||||
weight = 11.858
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="PhysicalBone"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="PhysicalBone"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="PhysicalBone"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="PhysicalBone"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="PhysicalBone"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="RigidBody" type="RigidBody" parent="."]
|
||||
[node name="RigidBody" type="RigidBody3D" parent="."]
|
||||
mass = 1.19
|
||||
physics_material_override = SubResource( 21 )
|
||||
physics_material_override = SubResource( 24 )
|
||||
gravity_scale = 1.12
|
||||
axis_lock_linear_x = true
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="RigidBody"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="RigidBody"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="RigidBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="RigidBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="RigidBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="VehicleBody" type="VehicleBody" parent="."]
|
||||
physics_material_override = SubResource( 22 )
|
||||
[node name="VehicleBody" type="VehicleBody3D" parent="."]
|
||||
physics_material_override = SubResource( 25 )
|
||||
engine_force = 16.41
|
||||
brake = 0.46
|
||||
steering = 0.17
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="VehicleBody"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="VehicleBody"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="VehicleBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="VehicleBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="VehicleBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="VehicleWheel" type="VehicleWheel" parent="VehicleBody"]
|
||||
[node name="VehicleWheel4" type="VehicleWheel3D" parent="VehicleBody"]
|
||||
engine_force = 5.60519e-45
|
||||
brake = 0.46
|
||||
script = null
|
||||
|
||||
[node name="VehicleWheel2" type="VehicleWheel" parent="VehicleBody"]
|
||||
engine_force = 5.60519e-45
|
||||
brake = 0.46
|
||||
[node name="StaticBody" type="StaticBody3D" parent="."]
|
||||
physics_material_override = SubResource( 26 )
|
||||
constant_linear_velocity = Vector3( 0.049, 0, 0 )
|
||||
script = null
|
||||
|
||||
[node name="VehicleWheel3" type="VehicleWheel" parent="VehicleBody"]
|
||||
engine_force = 5.60519e-45
|
||||
brake = 0.46
|
||||
|
||||
[node name="VehicleWheel4" type="VehicleWheel" parent="VehicleBody"]
|
||||
engine_force = 5.60519e-45
|
||||
brake = 0.46
|
||||
|
||||
[node name="StaticBody" type="StaticBody" parent="."]
|
||||
physics_material_override = SubResource( 23 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="StaticBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="StaticBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="StaticBody"]
|
||||
shape = SubResource( 20 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="StaticBody"]
|
||||
shape = SubResource( 20 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="StaticBody"]
|
||||
shape = SubResource( 23 )
|
||||
script = null
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource( 24 )
|
||||
stream = SubResource( 27 )
|
||||
attenuation_model = 1
|
||||
unit_db = 0.031
|
||||
unit_size = 5.5
|
||||
max_db = 2.953
|
||||
pitch_scale = 1.42
|
||||
script = null
|
||||
|
||||
[node name="BoneAttachment" type="BoneAttachment" parent="."]
|
||||
[node name="BoneAttachment" type="BoneAttachment3D" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="CollisionPolygon" type="CollisionPolygon" parent="."]
|
||||
polygon = PoolVector2Array( 66.9045, 31.0067, 286.784, -62.3473, 22.8219, -35.2817, -25.9028, -19.5722, -43.33, 5.94586, -43.7357, 15.5874, -36.475, 6.06905, -45.3994, 19.6661 )
|
||||
[node name="CollisionPolygon" type="CollisionPolygon3D" parent="."]
|
||||
polygon = PackedVector2Array( 66.9045, 31.0067, 286.784, -62.3473, 22.8219, -35.2817, -25.9028, -19.5722, -43.33, 5.94586, -43.7357, 15.5874, -36.475, 6.06905, -45.3994, 19.6661 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -26.583 )
|
||||
shape = SubResource( 25 )
|
||||
shape = SubResource( 28 )
|
||||
script = null
|
||||
|
||||
[node name="GridMap" type="GridMap" parent="."]
|
||||
mesh_library = SubResource( 27 )
|
||||
mesh_library = SubResource( 30 )
|
||||
cell_size = Vector3( 2, 1.14, 3.08 )
|
||||
data = {
|
||||
"cells": PoolIntArray( 26, 0, 0, 27, 0, 0, 21, 1, 0, 23, 1, 0, 25, 1, 0, 26, 1, 0, 18, 2, 0, 19, 2, 0, 65523, 5, 0, 65524, 5, 0, 65516, 65524, 0, 65523, 65524, 0, 65514, 65531, 0, 65515, 65531, 0, 65513, 65532, 0, 65514, 65532, 0, 65513, 65533, 0 )
|
||||
"cells": PackedInt32Array( 23, 1, 0, 25, 1, 0, 26, 1, 0, 18, 2, 0, 65523, 5, 0, 65524, 5, 0, 65530, 65515, 0, 65520, 65520, 0, 65519, 65521, 0, 65520, 65521, 0, 65519, 65522, 0, 65518, 65523, 0, 65523, 65524, 0, 65526, 65528, 0, 65513, 65533, 0 )
|
||||
}
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_editor_clip_": 0
|
||||
}
|
||||
|
||||
[node name="Listener" type="Listener" parent="."]
|
||||
[node name="Listener" type="Listener3D" parent="."]
|
||||
current = true
|
||||
script = null
|
||||
|
||||
[node name="Navigation_LEAK" type="Navigation" parent="."]
|
||||
up_vector = Vector3( 0, 1.228, 0 )
|
||||
[node name="Navigation" type="Node" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="Navigation_LEAK"]
|
||||
navmesh = SubResource( 28 )
|
||||
[node name="NavigationMeshInstance" type="NavigationRegion3D" parent="Navigation"]
|
||||
navmesh = SubResource( 31 )
|
||||
script = null
|
||||
|
||||
[node name="NavigationMeshInstance2" type="NavigationMeshInstance" parent="Navigation_LEAK"]
|
||||
navmesh = SubResource( 28 )
|
||||
[node name="NavigationMeshInstance" type="NavigationRegion3D" parent="."]
|
||||
navmesh = SubResource( 31 )
|
||||
script = null
|
||||
|
||||
[node name="NavigationMeshInstance3" type="NavigationMeshInstance" parent="Navigation_LEAK"]
|
||||
navmesh = SubResource( 28 )
|
||||
[node name="Path" type="Path3D" parent="."]
|
||||
curve = SubResource( 32 )
|
||||
script = null
|
||||
|
||||
[node name="NavigationMeshInstance4" type="NavigationMeshInstance" parent="Navigation_LEAK"]
|
||||
navmesh = SubResource( 28 )
|
||||
[node name="PathFollow" type="PathFollow3D" parent="Path"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.21835, 8.31693, -11.5007 )
|
||||
script = null
|
||||
|
||||
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
|
||||
navmesh = SubResource( 28 )
|
||||
|
||||
[node name="Path" type="Path" parent="."]
|
||||
curve = SubResource( 29 )
|
||||
|
||||
[node name="PathFollow" type="PathFollow" parent="Path"]
|
||||
|
||||
[node name="PathFollow2" type="PathFollow" parent="Path"]
|
||||
|
||||
[node name="PathFollow3" type="PathFollow" parent="Path"]
|
||||
|
||||
[node name="PathFollow4" type="PathFollow" parent="Path"]
|
||||
|
||||
[node name="PathFollow" type="PathFollow" parent="."]
|
||||
offset = 0.28
|
||||
[node name="PathFollow" type="PathFollow3D" parent="."]
|
||||
offset = 2.09
|
||||
h_offset = 0.101
|
||||
script = null
|
||||
|
||||
[node name="Position3D_NOTHING" type="Position3D" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="Camera3D_DEFAULT_CAMERA" type="Camera" parent="."]
|
||||
[node name="Camera_DEFAULT_CAMERA" type="Camera3D" parent="."]
|
||||
current = true
|
||||
script = null
|
||||
|
||||
[node name="ProximityGroup" type="ProximityGroup" parent="."]
|
||||
[node name="ProximityGroup" type="ProximityGroup3D" parent="."]
|
||||
dispatch_mode = 1
|
||||
script = null
|
||||
|
||||
[node name="RayCast" type="RayCast" parent="."]
|
||||
enabled = true
|
||||
[node name="RayCast" type="RayCast3D" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="RemoteTransform" type="RemoteTransform" parent="."]
|
||||
remote_path = NodePath("../Camera3D")
|
||||
[node name="RemoteTransform" type="RemoteTransform3D" parent="."]
|
||||
remote_path = NodePath("../Camera")
|
||||
script = null
|
||||
|
||||
[node name="Skeleton" type="Skeleton" parent="."]
|
||||
[node name="Skeleton" type="Skeleton3D" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="PhysicalBone" type="PhysicalBone" parent="Skeleton"]
|
||||
[node name="PhysicalBone" type="PhysicalBone3D" parent="Skeleton"]
|
||||
script = null
|
||||
|
||||
[node name="BoneAttachment" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
|
||||
[node name="BoneAttachment" type="BoneAttachment3D" parent="Skeleton/PhysicalBone"]
|
||||
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
|
||||
script = null
|
||||
|
||||
[node name="BoneAttachment2" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
|
||||
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
|
||||
[node name="CollisionShape4" type="CollisionShape3D" parent="Skeleton/PhysicalBone"]
|
||||
shape = SubResource( 33 )
|
||||
script = null
|
||||
|
||||
[node name="BoneAttachment3" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
|
||||
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[node name="BoneAttachment4" type="BoneAttachment" parent="Skeleton/PhysicalBone"]
|
||||
transform = Transform( 1, -1.78814e-07, -1.78814e-07, -9.68575e-08, 1, -5.96046e-08, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="Skeleton/PhysicalBone"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="Skeleton/PhysicalBone"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="Skeleton/PhysicalBone"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="PhysicalBone 3" type="PhysicalBone" parent="Skeleton"]
|
||||
[node name="PhysicalBone 3" type="PhysicalBone3D" parent="Skeleton"]
|
||||
mass = 0.958163
|
||||
weight = 9.39
|
||||
friction = 0.62
|
||||
bounce = 0.3
|
||||
gravity_scale = 0.6
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
|
||||
shape = SubResource( 30 )
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="Skeleton/PhysicalBone 3"]
|
||||
shape = SubResource( 33 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape2" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
|
||||
shape = SubResource( 30 )
|
||||
[node name="SpringArm" type="SpringArm3D" parent="."]
|
||||
shape = SubResource( 34 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionShape3" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="CollisionShape4" type="CollisionShape" parent="Skeleton/PhysicalBone 3"]
|
||||
shape = SubResource( 30 )
|
||||
|
||||
[node name="SpringArm" type="SpringArm" parent="."]
|
||||
shape = SubResource( 31 )
|
||||
|
||||
[node name="VehicleWheel" type="VehicleWheel" parent="."]
|
||||
[node name="VehicleWheel" type="VehicleWheel3D" parent="."]
|
||||
engine_force = 0.49
|
||||
brake = 0.74
|
||||
steering = -0.63
|
||||
script = null
|
||||
|
||||
[node name="VisibilityNotifier" type="VisibilityNotifier" parent="."]
|
||||
[node name="VisibilityNotifier" type="VisibilityNotifier3D" parent="."]
|
||||
aabb = AABB( -1, -0.982, -1, 2, 2.078, 2 )
|
||||
script = null
|
||||
|
||||
[node name="VisibilityEnabler" type="VisibilityEnabler" parent="."]
|
||||
[node name="VisibilityEnabler" type="VisibilityEnabler3D" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="Generic6DOFJoint" type="Generic6DOFJoint" parent="."]
|
||||
[node name="Generic6DOFJoint" type="Generic6DOFJoint3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.63619, -0.392871, 2.48948 )
|
||||
nodes/node_a = NodePath("../StaticBody")
|
||||
nodes/node_b = NodePath("../PhysicalBone")
|
||||
@ -607,8 +587,9 @@ angular_spring_z/enabled = true
|
||||
angular_spring_z/stiffness = 0.5
|
||||
angular_spring_z/damping = 0.64
|
||||
angular_spring_z/equilibrium_point = -0.9
|
||||
script = null
|
||||
|
||||
[node name="HingeJoint" type="HingeJoint" parent="."]
|
||||
[node name="HingeJoint" type="HingeJoint3D" parent="."]
|
||||
nodes/node_a = NodePath("../StaticBody")
|
||||
nodes/node_b = NodePath("../PhysicalBone")
|
||||
params/bias = 0.99
|
||||
@ -621,8 +602,9 @@ angular_limit/relaxation = 3.6
|
||||
motor/enable = true
|
||||
motor/target_velocity = -1.3
|
||||
motor/max_impulse = 30.2
|
||||
script = null
|
||||
|
||||
[node name="SliderJoint" type="SliderJoint" parent="."]
|
||||
[node name="SliderJoint" type="SliderJoint3D" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17785, 0.25203, 4.6063 )
|
||||
nodes/node_a = NodePath("../VehicleBody")
|
||||
nodes/node_b = NodePath("../StaticBody")
|
||||
@ -642,15 +624,17 @@ angular_limit/lower_angle = 38.8
|
||||
angular_motion/softness = 2.18
|
||||
angular_motion/restitution = 1.77
|
||||
angular_motion/damping = 4.88
|
||||
script = null
|
||||
|
||||
[node name="PinJoint" type="PinJoint" parent="."]
|
||||
nodes/node_a = NodePath("../Area")
|
||||
[node name="PinJoint" type="PinJoint3D" parent="."]
|
||||
nodes/node_a = NodePath("../KinematicBody")
|
||||
nodes/node_b = NodePath("../StaticBody")
|
||||
params/bias = 0.99
|
||||
params/damping = 7.3
|
||||
params/impulse_clamp = 7.2
|
||||
script = null
|
||||
|
||||
[node name="ConeTwistJoint" type="ConeTwistJoint" parent="."]
|
||||
[node name="ConeTwistJoint" type="ConeTwistJoint3D" parent="."]
|
||||
nodes/node_a = NodePath("../PhysicalBone")
|
||||
nodes/node_b = NodePath("../RigidBody")
|
||||
solver/priority = 8
|
||||
@ -658,31 +642,19 @@ twist_span = 9500.4
|
||||
bias = 0.46
|
||||
softness = 0.95
|
||||
relaxation = 0.83
|
||||
script = null
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="."]
|
||||
[node name="OmniLight" type="OmniLight3D" parent="."]
|
||||
light_energy = 1.61
|
||||
light_indirect_energy = 1.35
|
||||
light_specular = 0.68
|
||||
omni_range = 118.9
|
||||
omni_attenuation = 1.51572
|
||||
omni_shadow_mode = 0
|
||||
omni_shadow_detail = 0
|
||||
|
||||
[node name="Generic6DOFJoint2" type="Generic6DOFJoint" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.63619, -0.392871, 2.48948 )
|
||||
nodes/node_a = NodePath("../StaticBody")
|
||||
nodes/node_b = NodePath("../PhysicalBone")
|
||||
solver/priority = 5
|
||||
collision/exclude_nodes = false
|
||||
linear_limit_x/upper_distance = 0.18
|
||||
linear_limit_x/lower_distance = 0.059
|
||||
linear_limit_x/softness = 2.62
|
||||
linear_limit_x/restitution = 1.54
|
||||
angular_motor_z/enabled = true
|
||||
angular_motor_z/target_velocity = 0.11
|
||||
angular_motor_z/force_limit = 300.5
|
||||
angular_spring_z/enabled = true
|
||||
angular_spring_z/stiffness = 0.5
|
||||
angular_spring_z/damping = 0.64
|
||||
angular_spring_z/equilibrium_point = -0.9
|
||||
script = null
|
||||
|
||||
[node name="SoftBody" type="SoftBody3D" parent="."]
|
||||
mesh = SubResource( 35 )
|
||||
material/0 = null
|
||||
pinned_points = [ ]
|
||||
script = null
|
||||
|
@ -1,8 +1,7 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://AIO/AllNodes/OtherALL.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://AIO/AllNodes/2DALL.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://AIO/AllNodes/ResourcesALL.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://AIO/AllNodes/ControlALL.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://AIO/AllNodes/3DALL.tscn" type="PackedScene" id=5]
|
||||
|
||||
@ -15,5 +14,3 @@
|
||||
[node name="ControlALL" parent="." instance=ExtResource( 4 )]
|
||||
|
||||
[node name="OtherALL" parent="." instance=ExtResource( 1 )]
|
||||
|
||||
[node name="ResourcesALL" parent="." instance=ExtResource( 3 )]
|
||||
|
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture2D" id=1]
|
||||
|
||||
[sub_resource type="Theme" id=1]
|
||||
|
||||
@ -8,468 +8,440 @@
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
columns = 9
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Popup" type="Popup" parent="."]
|
||||
visible = true
|
||||
modulate = Color( 0.607843, 0.4, 0.4, 1 )
|
||||
self_modulate = Color( 0.835294, 0.717647, 0.717647, 1 )
|
||||
show_behind_parent = true
|
||||
light_mask = 16387
|
||||
margin_left = 80.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 130.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
hint_tooltip = "dfadfasf"
|
||||
focus_neighbour_left = NodePath("../Button_ALL")
|
||||
focus_neighbour_top = NodePath("../ToolButton")
|
||||
focus_neighbour_right = NodePath("../LinkButton")
|
||||
focus_neighbour_bottom = NodePath("../Container")
|
||||
focus_next = NodePath("../TextureButton")
|
||||
focus_previous = NodePath("../CheckBox")
|
||||
focus_mode = 2
|
||||
mouse_filter = 1
|
||||
mouse_default_cursor_shape = 4
|
||||
size_flags_horizontal = 14
|
||||
size_flags_vertical = 15
|
||||
size_flags_stretch_ratio = 121.49
|
||||
theme = SubResource( 1 )
|
||||
popup_exclusive = true
|
||||
script = null
|
||||
|
||||
[node name="WindowDialog" type="WindowDialog" parent="."]
|
||||
visible = true
|
||||
margin_left = 84.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 130.0
|
||||
popup_exclusive = true
|
||||
window_title = "wfaas"
|
||||
resizable = true
|
||||
[node name="WindowDialog" type="Node" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="AcceptDialog" type="AcceptDialog" parent="."]
|
||||
visible = true
|
||||
margin_left = 171.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 130.0
|
||||
window_title = "asfas"
|
||||
resizable = true
|
||||
position = Vector2i( 0, 64 )
|
||||
dialog_text = "fqwfqwfqwf"
|
||||
dialog_hide_on_ok = false
|
||||
dialog_autowrap = true
|
||||
script = null
|
||||
|
||||
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."]
|
||||
visible = true
|
||||
margin_left = 255.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 130.0
|
||||
rect_min_size = Vector2( 138, 48.3 )
|
||||
window_title = "Please Confirm...asfasfas"
|
||||
resizable = true
|
||||
position = Vector2i( 0, 64 )
|
||||
dialog_text = "fas"
|
||||
dialog_hide_on_ok = false
|
||||
dialog_autowrap = true
|
||||
script = null
|
||||
|
||||
[node name="FileDialog" type="FileDialog" parent="."]
|
||||
visible = true
|
||||
margin_left = 465.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 130.0
|
||||
rect_min_size = Vector2( 138, 48.3 )
|
||||
window_title = "Open File(s)"
|
||||
position = Vector2i( 0, 64 )
|
||||
size = Vector2i( 371, 122 )
|
||||
dialog_text = "sffasfasf"
|
||||
dialog_hide_on_ok = true
|
||||
dialog_autowrap = true
|
||||
mode_overrides_title = false
|
||||
mode = 1
|
||||
access = 1
|
||||
filters = PoolStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" )
|
||||
filters = PackedStringArray( "", "as", "", "fasf", "", "s", "", "asfasfa", "sf", "", "" )
|
||||
show_hidden_files = true
|
||||
current_dir = "user://"
|
||||
current_file = "asf"
|
||||
current_path = "user://asf"
|
||||
script = null
|
||||
|
||||
[node name="PopupDialog_NOTHING" type="PopupDialog" parent="."]
|
||||
visible = true
|
||||
margin_left = 685.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 130.0
|
||||
popup_exclusive = true
|
||||
[node name="PopupDialog_NOTHING" type="Node" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="PopupMenu" type="PopupMenu" parent="."]
|
||||
margin_top = 923.0
|
||||
margin_right = 308.0
|
||||
margin_bottom = 943.0
|
||||
items = [ ]
|
||||
hide_on_item_selection = false
|
||||
hide_on_checkable_item_selection = false
|
||||
hide_on_state_item_selection = true
|
||||
submenu_popup_delay = 5.32352e+07
|
||||
allow_search = true
|
||||
script = null
|
||||
|
||||
[node name="PopupPanel_NOTHING" type="PopupPanel" parent="."]
|
||||
visible = true
|
||||
margin_left = 741.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 130.0
|
||||
popup_exclusive = true
|
||||
script = null
|
||||
|
||||
[node name="Button" type="Button" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 130.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 40.0
|
||||
text = "asfasf"
|
||||
flat = true
|
||||
clip_text = true
|
||||
align = 0
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="CheckBox_NOTHING" type="CheckBox" parent="."]
|
||||
margin_left = 819.0
|
||||
margin_right = 1127.0
|
||||
margin_bottom = 130.0
|
||||
offset_left = 62.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 40.0
|
||||
text = "safasf"
|
||||
flat = true
|
||||
clip_text = true
|
||||
align = 2
|
||||
script = null
|
||||
|
||||
[node name="CheckButton_NOTHING" type="CheckButton" parent="."]
|
||||
margin_top = 134.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 374.0
|
||||
offset_right = 454.0
|
||||
offset_bottom = 40.0
|
||||
text = "asfq"
|
||||
flat = true
|
||||
clip_text = true
|
||||
align = 1
|
||||
script = null
|
||||
|
||||
[node name="ColorPickerButton" type="ColorPickerButton" parent="."]
|
||||
margin_left = 84.0
|
||||
margin_top = 134.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 458.0
|
||||
offset_right = 532.0
|
||||
offset_bottom = 40.0
|
||||
text = "asfasf"
|
||||
flat = true
|
||||
clip_text = true
|
||||
align = 2
|
||||
color = Color( 0.639216, 0.576471, 0.576471, 1 )
|
||||
edit_alpha = false
|
||||
script = null
|
||||
|
||||
[node name="MenuButton" type="MenuButton" parent="."]
|
||||
margin_left = 171.0
|
||||
margin_top = 134.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 536.0
|
||||
offset_right = 580.0
|
||||
offset_bottom = 40.0
|
||||
icon = ExtResource( 1 )
|
||||
items = [ ]
|
||||
switch_on_hover = true
|
||||
script = null
|
||||
|
||||
[node name="OptionButton" type="OptionButton" parent="."]
|
||||
margin_left = 255.0
|
||||
margin_top = 134.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 584.0
|
||||
offset_right = 645.0
|
||||
offset_bottom = 40.0
|
||||
icon = ExtResource( 1 )
|
||||
items = [ ]
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="ToolButton_NOTHING" type="ToolButton" parent="."]
|
||||
margin_left = 465.0
|
||||
margin_top = 134.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 546.0
|
||||
[node name="ToolButton_NOTHING" type="Button" parent="."]
|
||||
offset_left = 649.0
|
||||
offset_right = 695.0
|
||||
offset_bottom = 40.0
|
||||
text = "asfasf"
|
||||
icon = ExtResource( 1 )
|
||||
flat = false
|
||||
clip_text = true
|
||||
align = 2
|
||||
script = null
|
||||
|
||||
[node name="LinkButton" type="LinkButton" parent="."]
|
||||
margin_left = 685.0
|
||||
margin_top = 134.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 699.0
|
||||
offset_right = 751.0
|
||||
offset_bottom = 40.0
|
||||
text = "asfqfqwf"
|
||||
underline = 2
|
||||
structured_text_bidi_override_options = [ ]
|
||||
script = null
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="."]
|
||||
margin_left = 741.0
|
||||
margin_top = 134.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 755.0
|
||||
offset_right = 767.0
|
||||
offset_bottom = 40.0
|
||||
expand = true
|
||||
stretch_mode = 5
|
||||
script = null
|
||||
|
||||
[node name="Container" type="Container" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_top = 134.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 546.0
|
||||
offset_top = 44.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
|
||||
[node name="Control" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
script = null
|
||||
|
||||
[node name="Control2" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Control3" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Control4" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Control5" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Control6" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Control7" type="Control" parent="Container"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
script = null
|
||||
|
||||
[node name="ColorPicker" type="ColorPicker" parent="."]
|
||||
margin_left = 819.0
|
||||
margin_top = 134.0
|
||||
margin_right = 1127.0
|
||||
margin_bottom = 546.0
|
||||
offset_left = 62.0
|
||||
offset_top = 44.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 454.0
|
||||
alignment = 1
|
||||
edit_alpha = false
|
||||
raw_mode = true
|
||||
deferred_mode = true
|
||||
presets_enabled = false
|
||||
presets_visible = false
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="HBoxContainer_NOTHING" type="HBoxContainer" parent="."]
|
||||
margin_top = 550.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 374.0
|
||||
offset_top = 44.0
|
||||
offset_right = 454.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VBoxContainer_NOTHING" type="VBoxContainer" parent="."]
|
||||
margin_left = 84.0
|
||||
margin_top = 550.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 458.0
|
||||
offset_top = 44.0
|
||||
offset_right = 532.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="."]
|
||||
margin_left = 171.0
|
||||
margin_top = 550.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 536.0
|
||||
offset_top = 44.0
|
||||
offset_right = 580.0
|
||||
offset_bottom = 454.0
|
||||
use_top_left = true
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
margin_left = 255.0
|
||||
margin_top = 550.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 584.0
|
||||
offset_top = 44.0
|
||||
offset_right = 645.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
|
||||
[node name="GraphNode" type="GraphNode" parent="."]
|
||||
margin_left = 465.0
|
||||
margin_top = 550.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 649.0
|
||||
offset_top = 44.0
|
||||
offset_right = 695.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
margin_left = 685.0
|
||||
margin_top = 550.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 699.0
|
||||
offset_top = 44.0
|
||||
offset_right = 751.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
|
||||
[node name="HSplitContainer_NOTHING" type="HSplitContainer" parent="."]
|
||||
margin_left = 741.0
|
||||
margin_top = 550.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 755.0
|
||||
offset_top = 44.0
|
||||
offset_right = 767.0
|
||||
offset_bottom = 454.0
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VSplitContainer_NOTHING" type="VSplitContainer" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_top = 550.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 580.0
|
||||
offset_top = 458.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="MarginContainer_NOTHING" type="MarginContainer" parent="."]
|
||||
margin_left = 819.0
|
||||
margin_top = 550.0
|
||||
margin_right = 1127.0
|
||||
margin_bottom = 580.0
|
||||
offset_left = 62.0
|
||||
offset_top = 458.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="PanelContainer_NOTHING" type="PanelContainer" parent="."]
|
||||
margin_top = 584.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 620.0
|
||||
offset_left = 374.0
|
||||
offset_top = 458.0
|
||||
offset_right = 454.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="."]
|
||||
margin_left = 84.0
|
||||
margin_top = 584.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 620.0
|
||||
offset_left = 458.0
|
||||
offset_top = 458.0
|
||||
offset_right = 532.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="ViewportContainer" type="ViewportContainer" parent="."]
|
||||
margin_left = 171.0
|
||||
margin_top = 584.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 620.0
|
||||
[node name="ViewportContainer" type="SubViewportContainer" parent="."]
|
||||
offset_left = 536.0
|
||||
offset_top = 458.0
|
||||
offset_right = 580.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
margin_left = 255.0
|
||||
margin_top = 584.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 620.0
|
||||
offset_left = 584.0
|
||||
offset_top = 458.0
|
||||
offset_right = 645.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="GraphEdit" type="GraphEdit" parent="."]
|
||||
margin_left = 465.0
|
||||
margin_top = 584.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 620.0
|
||||
scroll_offset = Vector2( -102, 0 )
|
||||
offset_left = 649.0
|
||||
offset_top = 458.0
|
||||
offset_right = 695.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="HScrollBar_NOTHING" type="HScrollBar" parent="."]
|
||||
margin_left = 685.0
|
||||
margin_top = 584.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 596.0
|
||||
offset_left = 699.0
|
||||
offset_top = 458.0
|
||||
offset_right = 751.0
|
||||
offset_bottom = 470.0
|
||||
script = null
|
||||
|
||||
[node name="VScrollBar_NOTHING" type="VScrollBar" parent="."]
|
||||
margin_left = 741.0
|
||||
margin_top = 584.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 620.0
|
||||
offset_left = 755.0
|
||||
offset_top = 458.0
|
||||
offset_right = 767.0
|
||||
offset_bottom = 490.0
|
||||
script = null
|
||||
|
||||
[node name="HSlider_NOTHING" type="HSlider" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_top = 584.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 600.0
|
||||
offset_top = 494.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 510.0
|
||||
script = null
|
||||
|
||||
[node name="VSlider_NOTHING" type="VSlider" parent="."]
|
||||
margin_left = 819.0
|
||||
margin_top = 584.0
|
||||
margin_right = 835.0
|
||||
margin_bottom = 620.0
|
||||
offset_left = 62.0
|
||||
offset_top = 494.0
|
||||
offset_right = 78.0
|
||||
offset_bottom = 518.0
|
||||
script = null
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="."]
|
||||
margin_top = 624.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 638.0
|
||||
offset_left = 374.0
|
||||
offset_top = 494.0
|
||||
offset_right = 454.0
|
||||
offset_bottom = 508.0
|
||||
script = null
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="."]
|
||||
margin_left = 84.0
|
||||
margin_top = 624.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 648.0
|
||||
offset_left = 458.0
|
||||
offset_top = 494.0
|
||||
offset_right = 532.0
|
||||
offset_bottom = 518.0
|
||||
script = null
|
||||
|
||||
[node name="TextureProgress" type="TextureProgress" parent="."]
|
||||
margin_left = 171.0
|
||||
margin_top = 624.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 648.0
|
||||
[node name="TextureProgress" type="TextureProgressBar" parent="."]
|
||||
offset_left = 536.0
|
||||
offset_top = 494.0
|
||||
offset_right = 580.0
|
||||
offset_bottom = 518.0
|
||||
script = null
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="."]
|
||||
margin_left = 255.0
|
||||
margin_top = 624.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 648.0
|
||||
offset_left = 584.0
|
||||
offset_top = 494.0
|
||||
offset_right = 645.0
|
||||
offset_bottom = 518.0
|
||||
script = null
|
||||
|
||||
[node name="VSeparator" type="VSeparator" parent="."]
|
||||
margin_left = 465.0
|
||||
margin_top = 624.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 648.0
|
||||
offset_left = 649.0
|
||||
offset_top = 494.0
|
||||
offset_right = 695.0
|
||||
offset_bottom = 518.0
|
||||
script = null
|
||||
|
||||
[node name="ItemList" type="ItemList" parent="."]
|
||||
margin_left = 685.0
|
||||
margin_top = 624.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 648.0
|
||||
offset_left = 699.0
|
||||
offset_top = 494.0
|
||||
offset_right = 751.0
|
||||
offset_bottom = 518.0
|
||||
items = [ ]
|
||||
script = null
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
margin_left = 741.0
|
||||
margin_top = 629.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 643.0
|
||||
offset_left = 755.0
|
||||
offset_top = 499.0
|
||||
offset_right = 767.0
|
||||
offset_bottom = 513.0
|
||||
structured_text_bidi_override_options = [ ]
|
||||
script = null
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_top = 624.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 648.0
|
||||
offset_top = 522.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 546.0
|
||||
structured_text_bidi_override_options = [ ]
|
||||
caret_blink = true
|
||||
script = null
|
||||
|
||||
[node name="NinePatchRect" type="NinePatchRect" parent="."]
|
||||
margin_left = 819.0
|
||||
margin_top = 624.0
|
||||
margin_right = 1127.0
|
||||
margin_bottom = 648.0
|
||||
offset_left = 62.0
|
||||
offset_top = 522.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="Panel_NOTHING" type="Panel" parent="."]
|
||||
margin_top = 652.0
|
||||
margin_right = 80.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 374.0
|
||||
offset_top = 522.0
|
||||
offset_right = 454.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="ReferenceRect" type="ReferenceRect" parent="."]
|
||||
margin_left = 84.0
|
||||
margin_top = 652.0
|
||||
margin_right = 167.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 458.0
|
||||
offset_top = 522.0
|
||||
offset_right = 532.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="."]
|
||||
margin_left = 171.0
|
||||
margin_top = 652.0
|
||||
margin_right = 251.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 536.0
|
||||
offset_top = 522.0
|
||||
offset_right = 580.0
|
||||
offset_bottom = 546.0
|
||||
custom_effects = [ ]
|
||||
structured_text_bidi_override_options = [ ]
|
||||
script = null
|
||||
|
||||
[node name="Tabs" type="Tabs" parent="."]
|
||||
margin_left = 255.0
|
||||
margin_top = 652.0
|
||||
margin_right = 461.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 584.0
|
||||
offset_top = 522.0
|
||||
offset_right = 645.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="TextEdit" type="TextEdit" parent="."]
|
||||
margin_left = 465.0
|
||||
margin_top = 652.0
|
||||
margin_right = 681.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 649.0
|
||||
offset_top = 522.0
|
||||
offset_right = 695.0
|
||||
offset_bottom = 546.0
|
||||
structured_text_bidi_override_options = [ ]
|
||||
script = null
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
margin_left = 685.0
|
||||
margin_top = 652.0
|
||||
margin_right = 737.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 699.0
|
||||
offset_top = 522.0
|
||||
offset_right = 751.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="Tree" type="Tree" parent="."]
|
||||
margin_left = 741.0
|
||||
margin_top = 652.0
|
||||
margin_right = 753.0
|
||||
margin_bottom = 676.0
|
||||
offset_left = 755.0
|
||||
offset_top = 522.0
|
||||
offset_right = 767.0
|
||||
offset_bottom = 546.0
|
||||
script = null
|
||||
|
||||
[node name="VideoPlayer" type="VideoPlayer" parent="."]
|
||||
margin_left = 757.0
|
||||
margin_top = 652.0
|
||||
margin_right = 815.0
|
||||
margin_bottom = 676.0
|
||||
offset_top = 550.0
|
||||
offset_right = 58.0
|
||||
offset_bottom = 550.0
|
||||
script = null
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
@ -9,9 +9,18 @@ tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( ),
|
||||
"transitions": PoolRealArray( ),
|
||||
"values": [ ]
|
||||
"times": PackedFloat32Array( 1.4, 4.6, 8.1 ),
|
||||
"transitions": PackedFloat32Array( 1, 1, 1 ),
|
||||
"values": [ {
|
||||
"args": [ ],
|
||||
"method": @"stop_all"
|
||||
}, {
|
||||
"args": [ ],
|
||||
"method": @"resume_all"
|
||||
}, {
|
||||
"args": [ ],
|
||||
"method": @"is_active"
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace1D" id=2]
|
||||
@ -21,48 +30,66 @@ tracks/0/keys = {
|
||||
[sub_resource type="Environment" id=4]
|
||||
|
||||
[node name="OtherALL" type="Node"]
|
||||
script = null
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("../AudioStreamPlayer")
|
||||
"anims/New Anim" = SubResource( 1 )
|
||||
blend_times = [ ]
|
||||
script = null
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||||
tree_root = SubResource( 2 )
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
parameters/blend_position = 0
|
||||
script = null
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = SubResource( 3 )
|
||||
volume_db = 0.066
|
||||
pitch_scale = 2.48
|
||||
script = null
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
layer = 55
|
||||
offset = Vector2( 0.019, 0 )
|
||||
transform = Transform2D( 1, 0, 0, 1, 0.019, 0 )
|
||||
follow_viewport_enable = true
|
||||
script = null
|
||||
|
||||
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
|
||||
scroll_offset = Vector2( 0.026, 0 )
|
||||
scroll_base_offset = Vector2( 0.038, 0 )
|
||||
scroll_base_scale = Vector2( 1, 1.045 )
|
||||
script = null
|
||||
|
||||
[node name="HTTPRequest" type="HTTPRequest" parent="."]
|
||||
use_threads = true
|
||||
script = null
|
||||
|
||||
[node name="ResourcePreloader" type="ResourcePreloader" parent="."]
|
||||
resources = [ PackedStringArray( ), [ ] ]
|
||||
script = null
|
||||
|
||||
[node name="SkeletonIK" type="SkeletonIK" parent="."]
|
||||
[node name="SkeletonIK" type="SkeletonIK3D" parent="."]
|
||||
process_priority = 1
|
||||
interpolation = 0.942
|
||||
target = Transform( 2.49, 1.02, -0.07, 1.15, 1, -1.97, -0.7, -1.01, 2.42, -0.7, -0.59, -0.29 )
|
||||
magnet = Vector3( 2.8, -3.69, -0.95 )
|
||||
target_node = NodePath("../ResourcePreloader")
|
||||
script = null
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="Tween" type="Tween" parent="."]
|
||||
repeat = true
|
||||
playback/repeat = true
|
||||
script = null
|
||||
|
||||
[node name="Viewport" type="Viewport" parent="."]
|
||||
[node name="Viewport" type="SubViewport" parent="."]
|
||||
script = null
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource( 4 )
|
||||
script = null
|
||||
|
@ -1,918 +0,0 @@
|
||||
[gd_scene format=2]
|
||||
|
||||
[node name="Resources" type="Node2D"]
|
||||
|
||||
[node name="Reference_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="ARVRInterface_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="ARVRInterfaceGDNative" type="Node2D" parent="."]
|
||||
|
||||
[node name="MobileVRInterface" type="Node2D" parent="."]
|
||||
|
||||
[node name="AStar" type="Node2D" parent="."]
|
||||
|
||||
[node name="AStar2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Resource" type="Node2D" parent="."]
|
||||
|
||||
[node name="Texture_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimatedTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="AtlasTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="CameraTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="CurveTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="GradientTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="ImageTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="LargeTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="MeshTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="NoiseTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="ProxyTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="ViewportTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="Animation" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNode" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeAdd2" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeAdd3" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationRootNode" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeAnimation" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendSpace1D" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendSpace2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendTree" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendMachine" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendBlend2" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendBlend3" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeOneShot" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeOutput" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeTimeScale" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeTimeSeek" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeTransition" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendStateMachinePlayback" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationNodeBlendStateMachineTransition" type="Node2D" parent="."]
|
||||
|
||||
[node name="Mesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="ArrayMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="PrimitiveMesh_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="CapsuleMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="CubeMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="CylinderMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="PlaneMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="PointMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="PrismMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="QuadMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="SphereMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioBusLayout" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffect_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectAmplify" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectBandLimitFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectBandPassFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectHighPassFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectHighShelfFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectLowPassFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectLowShelfFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectNotchFilter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectChorus" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectCompressor" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectDelay" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectDistortion" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectEQ" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectEQ10" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectEQ21" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectEQ6" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectLimiter" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectPanner" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectPhaser" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectPitchShift" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectRecord" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectReverb" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectSpectrumAnalyzer" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectStereoEnhance" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStream_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamGenerator" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamMicrophone" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamOGGVorbis" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamRandomPitch" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamSample" type="Node2D" parent="."]
|
||||
|
||||
[node name="BakedLightmapData" type="Node2D" parent="."]
|
||||
|
||||
[node name="BitMap" type="Node2D" parent="."]
|
||||
|
||||
[node name="Font_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="BitmapFont" type="Node2D" parent="."]
|
||||
|
||||
[node name="DynamicFont" type="Node2D" parent="."]
|
||||
|
||||
[node name="Shape_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="BoxShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="CapsuleShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="ConcavePolygonShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="ConvexPolygonShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="CylinderShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="HeightMapShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="PlaneShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="RayShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="SphereShape" type="Node2D" parent="."]
|
||||
|
||||
[node name="ButtonGroup" type="Node2D" parent="."]
|
||||
|
||||
[node name="Material_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="CanvasItemMaterial" type="Node2D" parent="."]
|
||||
|
||||
[node name="ParticlesMaterial" type="Node2D" parent="."]
|
||||
|
||||
[node name="ShaderMaterial" type="Node2D" parent="."]
|
||||
|
||||
[node name="StandardMaterial3D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Shape2D_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="CapsuleShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="CircleShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="ConcavePolygonShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="ConvexPolygonShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="LineShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="RayShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="RectangleShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="SegmentShape2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="CryptoKey" type="Node2D" parent="."]
|
||||
|
||||
[node name="CubeMap" type="Node2D" parent="."]
|
||||
|
||||
[node name="Curve" type="Node2D" parent="."]
|
||||
|
||||
[node name="Curve2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Curve3D" type="Node2D" parent="."]
|
||||
|
||||
[node name="DynamicFontData" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorSettings_JUST_DONT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorNode3DGizmoPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Environment" type="Node2D" parent="."]
|
||||
|
||||
[node name="GDNativeLibrary" type="Node2D" parent="."]
|
||||
|
||||
[node name="Script_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="GDScript_WORKAROUND" type="Node2D" parent="."]
|
||||
|
||||
[node name="NativeScript_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="PluginScript_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScript" type="Node2D" parent="."]
|
||||
|
||||
[node name="GIProbeData" type="Node2D" parent="."]
|
||||
|
||||
[node name="Gradient" type="Node2D" parent="."]
|
||||
|
||||
[node name="Image" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEvent_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventAction" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventWithModifiers_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventGesture_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventMagnifyGesture" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventPanGesture" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventKey" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventMouse_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventMouseButton" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventMouseMotion" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventJoypadButton" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventJoypadMotion" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventMIDI" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventScreenDrag" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputEventScreenTouch" type="Node2D" parent="."]
|
||||
|
||||
[node name="MeshLibrary" type="Node2D" parent="."]
|
||||
|
||||
[node name="MultiMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="NavigationMesh" type="Node2D" parent="."]
|
||||
|
||||
[node name="NavigationPolygon" type="Node2D" parent="."]
|
||||
|
||||
[node name="OccluderPolygon2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="OpenSimplexNoise" type="Node2D" parent="."]
|
||||
|
||||
[node name="Translation" type="Node2D" parent="."]
|
||||
|
||||
[node name="PHashTranslation" type="Node2D" parent="."]
|
||||
|
||||
[node name="PackedDataContainer" type="Node2D" parent="."]
|
||||
|
||||
[node name="PackedScene" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sky_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="PanoramaSky" type="Node2D" parent="."]
|
||||
|
||||
[node name="ProceduralSky" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsMaterial" type="Node2D" parent="."]
|
||||
|
||||
[node name="PolygonPathFinder" type="Node2D" parent="."]
|
||||
|
||||
[node name="RichTextEffect" type="Node2D" parent="."]
|
||||
|
||||
[node name="Shader" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShader" type="Node2D" parent="."]
|
||||
|
||||
[node name="ShortCut" type="Node2D" parent="."]
|
||||
|
||||
[node name="Skin" type="Node2D" parent="."]
|
||||
|
||||
[node name="SpriteFrames" type="Node2D" parent="."]
|
||||
|
||||
[node name="StyleBox_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="StyleBoxEmpty_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="StyleBoxFlat" type="Node2D" parent="."]
|
||||
|
||||
[node name="StyleBoxLine" type="Node2D" parent="."]
|
||||
|
||||
[node name="StyleBoxTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="TextFile_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="TextureLayered_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Texture3D_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="TextureArray_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Theme" type="Node2D" parent="."]
|
||||
|
||||
[node name="TileSet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VideoStream_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="VideoStreamGDNative" type="Node2D" parent="."]
|
||||
|
||||
[node name="VideoStreamTheora" type="Node2D" parent="."]
|
||||
|
||||
[node name="VideoStreamWebm" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptNode_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptBasicTypeConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptBuiltinFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptClassConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptComment" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptLists_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptComposeArray_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptCondition_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptConstructor" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptCustomNode_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptDeconstruct" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptEmitSignal" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptEngineSingleton" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptExpression_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptFunction_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptFunctionCall" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptGlobalConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptIndexGet_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptIndexSet_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptInputAction" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptIterator_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptLocalVar" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptLocalVarSet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptMathConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptOperator" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptPreload" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptPropertyGet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptPropertySet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptResourcePath" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptReturn" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSceneNode" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSceneTree_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSelect" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSelf_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSequence" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSubCall_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptSwitch_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptTypeCast" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptVariableGet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptWhile_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptYield" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptYieldSignal" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNode_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeBooleanConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeBooleanUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeColorUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTextureUniform" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTextureUniformTriplanar_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVec3Uniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeColorConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeColorFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeColorOp" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeCompare" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptVariableSet" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeCubeMap" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeCubeMapUniform_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeCustom_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeDeterminant_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeDotProduct_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeGroupBase" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeExpression" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeGlobalExpression" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeFaceForward_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeFresnel_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeIf_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeInput" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeIs" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeOuterProduct_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeOutput_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarClamp_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarDerivativeFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarInterp_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarOp" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarSmoothStep_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeSwitch_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeScalarSwitch_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTexture" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformCompose_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformConstant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeDecompose_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformMult" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeTransformVecMult" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVec3Constant" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorClamp_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorCompose_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorDecompose_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorDerivativeFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorDistance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorFunc" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorInterp_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorLen_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorOp" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorRefract_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorScalarMix_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorScalarSmoothStep_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorScalarStep_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualShaderNodeVectorSmoothStep_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="World" type="Node2D" parent="."]
|
||||
|
||||
[node name="World2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="X509Certificate" type="Node2D" parent="."]
|
||||
|
||||
[node name="AnimationTrackEditPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectInstance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectAmplifyInstance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectEQInstance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectPannerInstance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioEffectSpectrumAnalyzerInstance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamPlayback_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamPlaybackResampled_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioStreamGeneratorPlayback_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Camera3DFeed" type="Node2D" parent="."]
|
||||
|
||||
[node name="CharFXTransform" type="Node2D" parent="."]
|
||||
|
||||
[node name="ConfigFile" type="Node2D" parent="."]
|
||||
|
||||
[node name="Crypto" type="Node2D" parent="."]
|
||||
|
||||
[node name="Directory" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorExportPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorFeatureProfile_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceImporter_CANT2" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorImportPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceImporterOGGVorbis_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorInspectorPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorResourceConversionPlugin_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorResourcePreviewGenerator_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorSceneImporter_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorSceneImporterAssimp_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorScenePostImport_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorScript_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Node3DGizmo_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorNode3DGizmo_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EncodedObjectAsID" type="Node2D" parent="."]
|
||||
|
||||
[node name="Expression" type="Node2D" parent="."]
|
||||
|
||||
[node name="File" type="Node2D" parent="."]
|
||||
|
||||
[node name="FuncRef_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="GDNative" type="Node2D" parent="."]
|
||||
|
||||
[node name="GDScriptFunctionState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="GDScriptNativeClass_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="HTTPClient" type="Node2D" parent="."]
|
||||
|
||||
[node name="HashingContext" type="Node2D" parent="."]
|
||||
|
||||
[node name="JSONParseResult" type="Node2D" parent="."]
|
||||
|
||||
[node name="KinematicCollision" type="Node2D" parent="."]
|
||||
|
||||
[node name="KinematicCollision2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Marshalls_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="MeshDataTool" type="Node2D" parent="."]
|
||||
|
||||
[node name="MultiplayerAPI" type="Node2D" parent="."]
|
||||
|
||||
[node name="PacketPeer_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="NetworkedMultiplayerPeer_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="MultiplayerPeerGDNative_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="NetworkedMultiplayerENet" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebRTCMultiplayer" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebSocketMultiplayerPeer_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebSocketClient" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebSocketServer_SPAM" type="Node2D" parent="."]
|
||||
|
||||
[node name="PacketPeerGDNative_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="PacketPeerStream" type="Node2D" parent="."]
|
||||
|
||||
[node name="PacketPeerUDP" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebRTCDataChannel_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebRTCDataChannelGDNative_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebSocketPeer" type="Node2D" parent="."]
|
||||
|
||||
[node name="Mutex" type="Node2D" parent="."]
|
||||
|
||||
[node name="PCKPacker" type="Node2D" parent="."]
|
||||
|
||||
[node name="PackerDatacontainerRef_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DShapeQueryParameters" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DShapeQueryResult_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DTestMotionResult" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsShapeQueryParameters" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsShapeQueryResult_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="RandomNumberGenerator" type="Node2D" parent="."]
|
||||
|
||||
[node name="RegEx" type="Node2D" parent="."]
|
||||
|
||||
[node name="RegExMatch" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceFormatLoader_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceFormatLoaderCrypto_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceFormatSaver_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceFormatSaverCrypto_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceImporter_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourveInteractiveLoader_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="SceneState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="SceneTreeTimer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Semaphore_DONT_USE" type="Node2D" parent="."]
|
||||
|
||||
[node name="SkinReference_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Node3DVelocityTracker" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamPeer_CHILD" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamPeerBuffer" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamPeerGDNative_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamPeerSSL" type="Node2D" parent="."]
|
||||
|
||||
[node name="StreamPeerTCP" type="Node2D" parent="."]
|
||||
|
||||
[node name="SurfaceTool" type="Node2D" parent="."]
|
||||
|
||||
[node name="TCP_Server" type="Node2D" parent="."]
|
||||
|
||||
[node name="Thread" type="Node2D" parent="."]
|
||||
|
||||
[node name="TriangleMesh_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="UPNP" type="Node2D" parent="."]
|
||||
|
||||
[node name="UPNPDevice" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptFunctionState" type="Node2D" parent="."]
|
||||
|
||||
[node name="WeakRef" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebRTCPeerConnection" type="Node2D" parent="."]
|
||||
|
||||
[node name="WebRTCPeerConnectionGDNative_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="XMLParser" type="Node2D" parent="."]
|
||||
|
||||
[node name="ARVRPositionalTracker_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="ARVRServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AudioServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsDirectBodyState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="BulletPhysicsDirectBodyState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsDirectSpaceState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="BulletPhysicsDirectSpaceState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="PhysicsServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="BulletPhysicsServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Camera3DServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ClassDB_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorFileSystemDirectory_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorNavigationMeshGenerator_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorSelection_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="EditorVCSInterface_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Engine_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Geometry_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="IP_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="IP_Unix_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Input_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputDefault_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="InputMap_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="JSON_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="JSONRPC_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="JavaScript_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="MainLoop_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="SceneTree\?" type="Node2D" parent="."]
|
||||
|
||||
[node name="OS_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Performance_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DDirectBodyState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DDirectBodyStateSW_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DDirectSpaceState_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DDirectSpaceStateSW_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Physics2DServerSW_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ProjectSettings_JUST_DONT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceLoader_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="ResourceSaver_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="TranslationServer_SERVER" type="Node2D" parent="."]
|
||||
|
||||
[node name="TreeItem_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="UndoRedo_LEAK" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualScriptEditor_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="VisualServer_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="AABB_MOVED" type="Node2D" parent="."]
|
||||
|
||||
[node name="Array" type="Node2D" parent="."]
|
||||
|
||||
[node name="Basis" type="Node2D" parent="."]
|
||||
|
||||
[node name="Color" type="Node2D" parent="."]
|
||||
|
||||
[node name="Dictionary" type="Node2D" parent="."]
|
||||
|
||||
[node name="Nil_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="NodePath" type="Node2D" parent="."]
|
||||
|
||||
[node name="Plane" type="Node2D" parent="."]
|
||||
|
||||
[node name="PoolByteArray" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolColorArray" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolIntArray" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolRealArray" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolStringArray" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolVector2Array" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="PoolVector3Array" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Quat" type="Node2D" parent="."]
|
||||
|
||||
[node name="RID" type="Node2D" parent="."]
|
||||
|
||||
[node name="Rect2" type="Node2D" parent="."]
|
||||
|
||||
[node name="String" type="Node2D" parent="."]
|
||||
|
||||
[node name="Transform" type="Node2D" parent="."]
|
||||
|
||||
[node name="Transform2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Variant_CANT" type="Node2D" parent="."]
|
||||
|
||||
[node name="Vector2" type="Node2D" parent="."]
|
||||
|
||||
[node name="Vector3" type="Node2D" parent="."]
|
||||
|
||||
[node name="bool" type="Node2D" parent="."]
|
||||
|
||||
[node name="float" type="Node2D" parent="."]
|
||||
|
||||
[node name="int" type="Node2D" parent="."]
|
22
All.tscn
22
All.tscn
@ -1,9 +1,6 @@
|
||||
[gd_scene load_steps=12 format=2]
|
||||
[gd_scene load_steps=10 format=2]
|
||||
|
||||
[ext_resource path="res://MainScenes/Control.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://MainScenes/Node3D.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://MainScenes/Node2D.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://MainScenes/Other.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://Nodes/Nodes.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://AIO/Operators/Operators.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://Physics/2D/Physics2D.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://Rendering/Lights3D/Lights3D.tscn" type="PackedScene" id=7]
|
||||
@ -11,19 +8,10 @@
|
||||
[ext_resource path="res://Physics/3D/Physics3D.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://Text/Text.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://AIO/AllNodes/ALL.tscn" type="PackedScene" id=11]
|
||||
[ext_resource path="res://ReparentingDeleting/ReparentingDeleting.tscn" type="PackedScene" id=12]
|
||||
|
||||
[node name="All" type="Node"]
|
||||
|
||||
[node name="MainScenes" type="Node" parent="."]
|
||||
|
||||
[node name="Node3D" parent="MainScenes" instance=ExtResource( 2 )]
|
||||
|
||||
[node name="Node2D" parent="MainScenes" instance=ExtResource( 3 )]
|
||||
|
||||
[node name="Other" parent="MainScenes" instance=ExtResource( 4 )]
|
||||
|
||||
[node name="Control" parent="MainScenes" instance=ExtResource( 1 )]
|
||||
|
||||
[node name="Physics" type="Node" parent="."]
|
||||
|
||||
[node name="Physics2D" parent="Physics" instance=ExtResource( 6 )]
|
||||
@ -38,8 +26,12 @@
|
||||
|
||||
[node name="Text" parent="." instance=ExtResource( 10 )]
|
||||
|
||||
[node name="ReparentingDeleting" parent="." instance=ExtResource( 12 )]
|
||||
|
||||
[node name="AIO" type="Node" parent="."]
|
||||
|
||||
[node name="ALL" parent="AIO" instance=ExtResource( 11 )]
|
||||
|
||||
[node name="Node2D" parent="AIO" instance=ExtResource( 5 )]
|
||||
|
||||
[node name="MainScenes" parent="." instance=ExtResource( 1 )]
|
||||
|
@ -8,20 +8,17 @@ var last_time : int
|
||||
const PRINT_TIME_EVERY_MILISECONDS : int = 5000
|
||||
var time_to_print_next_time : int = PRINT_TIME_EVERY_MILISECONDS
|
||||
|
||||
var time_to_show: int = 30 * 1000 # How long test works in miliseconds
|
||||
var time_to_show: int = 25 * 1000 # How long test works in miliseconds
|
||||
|
||||
var time_for_each_step : int = -1
|
||||
|
||||
# Each scene runs alone
|
||||
const alone_steps : Array = [
|
||||
"res://MainScenes/Control.tscn",
|
||||
"res://MainScenes/Node2D.tscn",
|
||||
"res://MainScenes/Other.tscn",
|
||||
"res://MainScenes/Node3D.tscn",
|
||||
"res://Physics/2D/Physics2D.tscn",
|
||||
"res://Physics/3D/Physics3D.tscn",
|
||||
"res://Rendering/Lights2D/Lights2D.tscn",
|
||||
"res://Rendering/Lights3D/Lights3D.tscn",
|
||||
"res://Nodes/Nodes.tscn",
|
||||
"res://ReparentingDeleting/ReparentingDeleting.tscn",
|
||||
"res://Text/Text.tscn",
|
||||
]
|
||||
@ -30,27 +27,33 @@ const alone_steps : Array = [
|
||||
# This should be put regression scripts which needs to run only once
|
||||
const all_in_one : Array = [
|
||||
"res://AIO/Operators/Operators.tscn",
|
||||
#"res://AIO/AllNodes/ALL.tscn",
|
||||
"res://AutomaticBugs/FunctionExecutor.tscn",
|
||||
#"res://AIO/AllNodes/ALL.tscn", # Take too much time - opens ~ 20 seconds in CI inside xvfb-run
|
||||
]
|
||||
|
||||
func _init():
|
||||
func _ready():
|
||||
start_time = OS.get_ticks_msec()
|
||||
|
||||
# In case when user doesn't provide time
|
||||
time_for_each_step = time_to_show / (alone_steps.size() + 1)
|
||||
var time_set : bool = false
|
||||
|
||||
for argument in OS.get_cmdline_args():
|
||||
if argument.is_valid_float(): # Ignore all non numeric arguments
|
||||
time_set = true
|
||||
time_to_show = int(argument.to_float() * 1000)
|
||||
time_for_each_step = time_to_show / (alone_steps.size() + 1)
|
||||
print("Time set to: " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size() + 1) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
|
||||
time_for_each_step = time_to_show / (alone_steps.size())
|
||||
print("Time set to: " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size()) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
|
||||
break # We only need to take first argument
|
||||
|
||||
# In case when user doesn't provide time
|
||||
if !time_set:
|
||||
time_for_each_step = time_to_show / (alone_steps.size())
|
||||
print("Default time - " + str(time_to_show / 1000.0) + " seconds with "+ str(alone_steps.size()) + " steps, each step will take " + str(time_for_each_step / 1000.0) + " seconds.")
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var current_run_time : int = OS.get_ticks_msec() - start_time
|
||||
|
||||
if current_run_time > time_to_print_next_time:
|
||||
while current_run_time > time_to_print_next_time: # This will allow to properly regulate time under heavy operations(e.g. Thread sanitizer)
|
||||
print("Test is running now " + str(int(time_to_print_next_time / 1000)) + " seconds")
|
||||
time_to_print_next_time += PRINT_TIME_EVERY_MILISECONDS
|
||||
|
||||
|
303
AutomaticBugs/BasicData.gd
Normal file
303
AutomaticBugs/BasicData.gd
Normal file
@ -0,0 +1,303 @@
|
||||
extends Node
|
||||
|
||||
var properties_exceptions : Array = [
|
||||
"user_data",
|
||||
"config_file",
|
||||
"",
|
||||
"",
|
||||
]
|
||||
var function_exceptions : Array = [
|
||||
"play",
|
||||
#GODOT 4.0
|
||||
"create_from_image",
|
||||
"set_point_position",
|
||||
"connect", # OTHER THINGS
|
||||
"set_base",
|
||||
"particles_collision_set_height_field_resolution",
|
||||
"set_deconstruct_type",
|
||||
"set_constant_type",
|
||||
"set_enabled_inputs",
|
||||
"load_threaded_request",
|
||||
"get_sdfgi_max_distance",
|
||||
"draw_multiline_string",
|
||||
"draw_font",
|
||||
"create",
|
||||
"add_string",
|
||||
"draw_string",
|
||||
"set_dropcap",
|
||||
"set_sdfgi_max_distance",
|
||||
"get_inverse_inertia_tensor",
|
||||
"generate_lod",
|
||||
"optimize_indices_for_cache",
|
||||
"add_file",
|
||||
"set_texture",
|
||||
"_activate",
|
||||
"add_node", #GH 46012
|
||||
|
||||
"_set_user_data",
|
||||
"create_from_mesh",
|
||||
# They exists without assigment like Class.method, because they may be a parent of other objects and children also should have disabled child.method, its children also etc. which is too much to do
|
||||
"_editor_settings_changed",# GH 45979
|
||||
"_submenu_timeout", # GH 45981
|
||||
"set_config_file", # GH 45997
|
||||
"_gui_input", # GH 45998
|
||||
"_unhandled_key_input", # GH 45998
|
||||
"navpoly_add", #GH 43288
|
||||
"_thread_done", #GH 46000
|
||||
"generate", #GH 46001
|
||||
"_proximity_group_broadcast", #GH 46002
|
||||
"_direct_state_changed", #GH 46003
|
||||
"create_from", #GH 46004
|
||||
"create_from_blend_shape", #GH 46004
|
||||
"append_from", #GH 46004
|
||||
"get_column_width", #GH 46005
|
||||
"_unhandled_input", # TODO
|
||||
"_input", # TODO
|
||||
"_set_tile_data", #GH 46015
|
||||
"_edit_set_state", #GH 46017
|
||||
"_edit_set_position", #GH 46018
|
||||
"_edit_set_rect", #GH 46018
|
||||
"get", #GH 46019
|
||||
"instance_has", #GH 46020
|
||||
"get_var", #GH 46096
|
||||
"force_drag", #GH 46114
|
||||
"set_script", #GH 46120
|
||||
"getvar", #GH 46019
|
||||
"get_available_chars", #GH 46118
|
||||
"set_primary_interface", #GH 46180
|
||||
"add_feed", #GH 46181
|
||||
"open_midi_inputs", #GH 46183
|
||||
"get_unix_time_from_datetime", #GH 46188
|
||||
"set_icon", #GH 46189
|
||||
"get_latin_keyboard_variant", #GH TODO Memory Leak
|
||||
"set_editor_hint", #GH 46252
|
||||
"get_item_at_position", #TODO hard to find
|
||||
"set_probe_data", #GH 46570
|
||||
"_range_click_timeout",
|
||||
"draw", #GH 46648
|
||||
"get_indexed", #GH 46019
|
||||
"set_RGB_img", #GH 46724
|
||||
"_set_RGB_img", #GH 46724
|
||||
"_set_YCbCr_img", #GH 46724
|
||||
"set_YCbCr_img", #GH 46724
|
||||
"set_YCbCr_imgs", #GH 46724
|
||||
"_set_YCbCr_imgs", #GH 46724
|
||||
"_vp_input", # TODO
|
||||
"_vp_unhandled_input", # TODO
|
||||
"remove_joy_mapping", #GH 46754
|
||||
"add_joy_mapping", #GH 46754
|
||||
"add_vertex", #GH 47066
|
||||
|
||||
"collide", #GH 46137
|
||||
"collide_and_get_contacts", #GH 46137
|
||||
"collide_with_motion", #GH 46137
|
||||
"collide_with_motion_and_get_contacts", #GH 46137
|
||||
|
||||
# TODO Check this later
|
||||
"propagate_notification",
|
||||
"notification",
|
||||
|
||||
# TODO Adds big spam when i>100 - look for possiblity to
|
||||
"add_sphere",
|
||||
"_update_inputs", # Cause big spam with add_input
|
||||
# Spam when i~1000 - change to specific
|
||||
"update_bitmask_region",
|
||||
|
||||
# Slow Function
|
||||
"_update_sky",
|
||||
|
||||
# Undo/Redo function which doesn't provide enough information about types of objects, probably due vararg(variable size argument)
|
||||
"add_do_method",
|
||||
"add_undo_method",
|
||||
|
||||
# Do not save files and create files and folders
|
||||
"pck_start",
|
||||
"save",
|
||||
"save_png",
|
||||
"save_to_wav",
|
||||
"save_to_file",
|
||||
"make_dir",
|
||||
"make_dir_recursive",
|
||||
"save_encrypted",
|
||||
"save_encrypted_pass",
|
||||
"save_exr",
|
||||
"dump_resources_to_file",
|
||||
"dump_memory_to_file",
|
||||
# This also allow to save files
|
||||
"open",
|
||||
"open_encrypted",
|
||||
"open_encrypted_with_pass",
|
||||
"open_compressed",
|
||||
|
||||
# Do not warp mouse
|
||||
"warp_mouse",
|
||||
"warp_mouse_position",
|
||||
|
||||
# OS
|
||||
"kill",
|
||||
"shell_open",
|
||||
"execute",
|
||||
"delay_usec",
|
||||
"delay_msec",
|
||||
"alert", # Stupid alert window opens
|
||||
|
||||
# Godot Freeze
|
||||
"wait_to_finish",
|
||||
"accept_stream",
|
||||
"connect_to_stream",
|
||||
"discover",
|
||||
"wait",
|
||||
"debug_bake",
|
||||
"bake",
|
||||
|
||||
"_create", # TODO Check
|
||||
|
||||
|
||||
"set_gizmo", # Stupid function, needs as parameter an object which can't be instanced # TODO, create issue to hide it
|
||||
|
||||
# Spams Output
|
||||
"print_tree",
|
||||
"print_stray_nodes",
|
||||
"print_tree_pretty",
|
||||
"print_all_textures_by_size",
|
||||
"print_all_resources",
|
||||
"print_resources_in_use",
|
||||
|
||||
# Do not call other functions
|
||||
"_call_function",
|
||||
"call",
|
||||
"call_deferred",
|
||||
"callv",
|
||||
# Looks like a bug in FuncRef, probably but not needed, because it call other functions
|
||||
"call_func",
|
||||
|
||||
# Too dangerous, because add, mix and remove randomly nodes and objects
|
||||
"replace_by",
|
||||
"create_instance",
|
||||
"set_owner",
|
||||
"set_root_node",
|
||||
"instance",
|
||||
"init_ref",
|
||||
"reference",
|
||||
"unreference",
|
||||
"new",
|
||||
"duplicate",
|
||||
"queue_free",
|
||||
"free",
|
||||
"remove_and_skip",
|
||||
"remove_child",
|
||||
"move_child",
|
||||
"raise",
|
||||
"add_child",
|
||||
"add_child_below_node",
|
||||
]
|
||||
# List of slow functions, which may frooze project(not simple executing each function alone)
|
||||
var slow_functions : Array = [
|
||||
"interpolate_baked",
|
||||
"get_baked_length",
|
||||
"get_baked_points",
|
||||
"get_closest_offset",
|
||||
"get_closest_point", # Only Curve, but looks that a lot of other classes uses this
|
||||
"get_baked_up_vectors",
|
||||
"interpolate_baked_up_vector",
|
||||
"tessellate",
|
||||
"get_baked_tilts",
|
||||
"set_enabled_inputs",
|
||||
"grow_mask",
|
||||
"force_update_transform",
|
||||
|
||||
|
||||
# In 3d view some options are really slow, needs to be limited
|
||||
"set_rings",
|
||||
"set_amount", # Particles
|
||||
|
||||
|
||||
# Just a little slow functions
|
||||
"is_enabler_enabled",
|
||||
"set_enabler",
|
||||
"get_aabb",
|
||||
"set_aabb",
|
||||
"is_on_screen"
|
||||
]
|
||||
# Specific classes which are initialized in specific way e.g. var undo_redo = get_undo_redo() instead var undo_redo = UndoRedo.new()
|
||||
var only_instance : Array = [
|
||||
"UndoRedo",
|
||||
"Object",
|
||||
"JSONRPC",
|
||||
"MainLoop",
|
||||
"SceneTree",
|
||||
"ARVRPositionalTracker",
|
||||
]
|
||||
var invalid_signals : Array = [
|
||||
"multi_selected",
|
||||
"item_collapsed",
|
||||
"button_pressed",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
||||
|
||||
# Probably Vararg
|
||||
"tween_step",
|
||||
"tween_completed",
|
||||
"tween_started",
|
||||
"data_channel_received",
|
||||
"",
|
||||
]
|
||||
# Used only in ValueCreator
|
||||
var disabled_classes : Array = [
|
||||
"ProjectSettings", # Don't mess with project settings, because they can broke entire your workflow
|
||||
"EditorSettings", # Also don't mess with editor settings
|
||||
"_OS", # This may sometimes crash compositor, but it should be tested manually sometimes
|
||||
|
||||
|
||||
# Godot 4.0 Leaks, crashes etc.
|
||||
"World3D",
|
||||
"GPUParticlesCollisionHeightField", #4.0 Crash
|
||||
"NavigationAgent2D",
|
||||
"NavigationAgent3D",
|
||||
"Image",
|
||||
"GIProbe",
|
||||
|
||||
# Just don't use these because they are not normal things
|
||||
"_Thread",
|
||||
"_Semaphore",
|
||||
"_Mutex",
|
||||
|
||||
"Image",
|
||||
|
||||
"PhysicalSkyMaterial", # Slow
|
||||
"ProceduralSkyMaterial", # Slow
|
||||
"PanoramaSkyMaterial", # Slow
|
||||
]
|
||||
|
||||
# Return all available classes to instance and test
|
||||
func get_list_of_available_classes(must_be_instantable : bool = true) -> Array:
|
||||
var full_class_list : Array = Array(ClassDB.get_class_list())
|
||||
var classes : Array = []
|
||||
full_class_list.sort()
|
||||
var c = 0
|
||||
var rr = 0
|
||||
for name_of_class in full_class_list:
|
||||
rr += 1
|
||||
if name_of_class in disabled_classes:
|
||||
continue
|
||||
|
||||
# if rr < 550:
|
||||
# continue
|
||||
|
||||
if name_of_class.find("Server") != -1 && !ClassDB.is_parent_class(name_of_class,"Reference"):
|
||||
continue
|
||||
if name_of_class.find("Editor") != -1 || name_of_class == "GLTFMesh": # TODO not sure about it, GLTFMesh is Editor node
|
||||
continue
|
||||
|
||||
# Enable This for RegressionTestProject, to get visual info about what is going on the screen, because without it different nodes can broke view
|
||||
if !ClassDB.is_parent_class(name_of_class, "Node") && !ClassDB.is_parent_class(name_of_class, "Reference"):
|
||||
continue
|
||||
|
||||
if !must_be_instantable || ClassDB.can_instance(name_of_class):
|
||||
classes.push_back(name_of_class)
|
||||
c+= 1
|
||||
|
||||
print(str(c) + " choosen classes from all " + str(full_class_list.size()) + " classes.")
|
||||
return classes
|
157
AutomaticBugs/FunctionExecutor.gd
Normal file
157
AutomaticBugs/FunctionExecutor.gd
Normal file
@ -0,0 +1,157 @@
|
||||
extends Node
|
||||
|
||||
var debug_print: bool = true
|
||||
var add_to_tree: bool = true # Adds nodes to tree
|
||||
var use_parent_methods: bool = false # Allows Node2D use Node methods etc. - it is a little slow option which rarely shows
|
||||
var use_always_new_object: bool = true # Don't allow to "remeber" other function effects
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
tests_all_functions()
|
||||
|
||||
|
||||
# Test all functions
|
||||
func tests_all_functions() -> void:
|
||||
for name_of_class in BasicData.get_list_of_available_classes():
|
||||
# Instance object to be able to execute on it specific functions and later delete to prevent memory leak if it is a Node
|
||||
var object: Object = ClassDB.instance(name_of_class)
|
||||
assert(object != null) # This should be checked before when collectiong functions
|
||||
if add_to_tree:
|
||||
if object is Node:
|
||||
add_child(object)
|
||||
var method_list: Array = ClassDB.class_get_method_list(name_of_class, !use_parent_methods)
|
||||
|
||||
## Exception
|
||||
for exception in BasicData.function_exceptions:
|
||||
var index: int = -1
|
||||
for method_index in range(method_list.size()):
|
||||
if method_list[method_index].get("name") == exception:
|
||||
index = method_index
|
||||
break
|
||||
if index != -1:
|
||||
method_list.remove(index)
|
||||
|
||||
if debug_print:
|
||||
print("############### CLASS ############### - " + name_of_class)
|
||||
for _i in range(1):
|
||||
for method_data in method_list:
|
||||
# Function is virtual, so we just skip it
|
||||
if method_data.get("flags") == method_data.get("flags") | METHOD_FLAG_VIRTUAL:
|
||||
continue
|
||||
|
||||
if debug_print:
|
||||
print(method_data.get("name"))
|
||||
|
||||
var arguments: Array = return_for_all(method_data)
|
||||
object.callv(method_data.get("name"), arguments)
|
||||
|
||||
for argument in arguments:
|
||||
if argument is Object:
|
||||
assert(argument != null)
|
||||
if argument is Node:
|
||||
argument.queue_free()
|
||||
elif argument is Object && !(argument is Reference):
|
||||
argument.free()
|
||||
|
||||
if use_always_new_object:
|
||||
if object is Object:
|
||||
assert(object != null)
|
||||
if object is Node:
|
||||
object.queue_free()
|
||||
elif object is Object && !(object is Reference):
|
||||
object.free()
|
||||
|
||||
object = ClassDB.instance(name_of_class)
|
||||
|
||||
if object is Node: # Just prevent memory leak
|
||||
object.queue_free()
|
||||
elif object is Object && !(object is Reference):
|
||||
object.free()
|
||||
|
||||
|
||||
func return_for_all(method_data: Dictionary) -> Array:
|
||||
var arguments_array: Array = []
|
||||
|
||||
ValueCreator.number = 100
|
||||
ValueCreator.random = false
|
||||
ValueCreator.should_be_always_valid = false
|
||||
|
||||
for argument in method_data.get("args"):
|
||||
var type = argument.get("type")
|
||||
if type == TYPE_NIL: # Looks that this means VARIANT not null
|
||||
arguments_array.push_back(false) # TODO Add some randomization
|
||||
# assert(false)
|
||||
elif type == TYPE_MAX:
|
||||
assert(false)
|
||||
elif type == TYPE_AABB:
|
||||
arguments_array.push_back(ValueCreator.get_aabb())
|
||||
elif type == TYPE_ARRAY:
|
||||
arguments_array.push_back(ValueCreator.get_array())
|
||||
elif type == TYPE_BASIS:
|
||||
arguments_array.push_back(ValueCreator.get_basis())
|
||||
elif type == TYPE_BOOL:
|
||||
arguments_array.push_back(ValueCreator.get_bool())
|
||||
elif type == TYPE_COLOR:
|
||||
arguments_array.push_back(ValueCreator.get_color())
|
||||
elif type == TYPE_COLOR_ARRAY:
|
||||
arguments_array.push_back(PackedColorArray([]))
|
||||
elif type == TYPE_DICTIONARY:
|
||||
arguments_array.push_back(ValueCreator.get_dictionary())
|
||||
elif type == TYPE_INT:
|
||||
arguments_array.push_back(ValueCreator.get_int())
|
||||
elif type == TYPE_INT32_ARRAY:
|
||||
arguments_array.push_back(PackedInt32Array([]))
|
||||
elif type == TYPE_INT64_ARRAY:
|
||||
arguments_array.push_back(PackedInt64Array([]))
|
||||
elif type == TYPE_NODE_PATH:
|
||||
arguments_array.push_back(ValueCreator.get_nodepath())
|
||||
elif type == TYPE_OBJECT:
|
||||
arguments_array.push_back(ValueCreator.get_object(argument.get("class_name")))
|
||||
elif type == TYPE_PLANE:
|
||||
arguments_array.push_back(ValueCreator.get_plane())
|
||||
elif type == TYPE_QUAT:
|
||||
arguments_array.push_back(ValueCreator.get_quat())
|
||||
elif type == TYPE_RAW_ARRAY:
|
||||
arguments_array.push_back(PackedByteArray([]))
|
||||
elif type == TYPE_FLOAT:
|
||||
arguments_array.push_back(ValueCreator.get_float())
|
||||
elif type == TYPE_FLOAT32_ARRAY:
|
||||
arguments_array.push_back(PackedFloat32Array([]))
|
||||
elif type == TYPE_FLOAT64_ARRAY:
|
||||
arguments_array.push_back(PackedFloat64Array([]))
|
||||
elif type == TYPE_RECT2:
|
||||
arguments_array.push_back(ValueCreator.get_rect2())
|
||||
elif type == TYPE_RECT2I:
|
||||
arguments_array.push_back(ValueCreator.get_rect2i())
|
||||
elif type == TYPE_RID:
|
||||
arguments_array.push_back(RID())
|
||||
elif type == TYPE_STRING:
|
||||
arguments_array.push_back(ValueCreator.get_string())
|
||||
elif type == TYPE_STRING_NAME:
|
||||
arguments_array.push_back(StringName(ValueCreator.get_string()))
|
||||
elif type == TYPE_STRING_ARRAY:
|
||||
arguments_array.push_back(PackedStringArray([]))
|
||||
elif type == TYPE_TRANSFORM:
|
||||
arguments_array.push_back(ValueCreator.get_transform())
|
||||
elif type == TYPE_TRANSFORM2D:
|
||||
arguments_array.push_back(ValueCreator.get_transform2D())
|
||||
elif type == TYPE_VECTOR2:
|
||||
arguments_array.push_back(ValueCreator.get_vector2())
|
||||
elif type == TYPE_VECTOR2I:
|
||||
arguments_array.push_back(ValueCreator.get_vector2i())
|
||||
elif type == TYPE_VECTOR2_ARRAY:
|
||||
arguments_array.push_back(PackedVector2Array([]))
|
||||
elif type == TYPE_VECTOR3:
|
||||
arguments_array.push_back(ValueCreator.get_vector3())
|
||||
elif type == TYPE_VECTOR3I:
|
||||
arguments_array.push_back(ValueCreator.get_vector3i())
|
||||
elif type == TYPE_VECTOR3_ARRAY:
|
||||
arguments_array.push_back(PackedVector3Array([]))
|
||||
elif type== TYPE_CALLABLE:
|
||||
arguments_array.push_back(Callable(BoxMesh.new(),"Rar"))
|
||||
else:
|
||||
assert(false) # Missed some types, add it
|
||||
|
||||
if debug_print:
|
||||
print("Parameters " + str(arguments_array))
|
||||
return arguments_array
|
6
AutomaticBugs/FunctionExecutor.tscn
Normal file
6
AutomaticBugs/FunctionExecutor.tscn
Normal file
@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://AutomaticBugs/FunctionExecutor.gd" type="Script" id=1]
|
||||
|
||||
[node name="FunctionExecutor" type="Node2D"]
|
||||
script = ExtResource( 1 )
|
363
AutomaticBugs/ValueCreator.gd
Normal file
363
AutomaticBugs/ValueCreator.gd
Normal file
@ -0,0 +1,363 @@
|
||||
extends Node
|
||||
|
||||
var number: float = 0.0
|
||||
var random: bool = false
|
||||
var should_be_always_valid: bool = true # Generate only valid values e.g. to Node generate Node2D instead
|
||||
|
||||
var max_array_size: int = 15
|
||||
|
||||
func _ready() -> void:
|
||||
randomize()
|
||||
|
||||
|
||||
func get_int() -> int:
|
||||
if random:
|
||||
if int(number) == 0:
|
||||
return 0
|
||||
return (randi() % int(number)) - int(number / 2.0)
|
||||
else:
|
||||
return int(number)
|
||||
|
||||
func get_int_string() -> String:
|
||||
if random:
|
||||
if int(number) == 0:
|
||||
return "0"
|
||||
return "(randi() % int(number)) - int(number / 2.0)".replace("number",str(number))
|
||||
else:
|
||||
return str(int(number))
|
||||
|
||||
func get_float() -> float:
|
||||
if random:
|
||||
return (randf() * number) - (number / 2.0)
|
||||
else:
|
||||
return number
|
||||
|
||||
func get_float_string() -> String:
|
||||
if random:
|
||||
return "(randf() * number) - (number / 2.0)".replace("number", str(number))
|
||||
else:
|
||||
return str(number)
|
||||
|
||||
func get_bool() -> bool:
|
||||
if random:
|
||||
if number < 2:
|
||||
return bool()
|
||||
return bool(randi() % 2)
|
||||
else:
|
||||
return bool()
|
||||
|
||||
func get_bool_string() -> String:
|
||||
if random:
|
||||
if number < 2:
|
||||
return str(bool())
|
||||
return "bool(randi() % 2)"
|
||||
else:
|
||||
return str(bool())
|
||||
|
||||
func get_vector2() -> Vector2:
|
||||
return Vector2(get_float(), get_float())
|
||||
|
||||
func get_vector2i() -> Vector2i:
|
||||
return Vector2i(get_int(), get_int())
|
||||
|
||||
func get_vector2_string() -> String:
|
||||
return "Vector2(" + get_float_string() + ", " + get_float_string() + ")"
|
||||
|
||||
func get_vector2i_string() -> String:
|
||||
return "Vector2i(" + get_int_string() + ", " + get_int_string() + ")"
|
||||
|
||||
func get_vector3() -> Vector3:
|
||||
return Vector3(get_float(),get_float(),get_float())
|
||||
|
||||
func get_vector3i() -> Vector3i:
|
||||
return Vector3i(get_int(),get_int(),get_int())
|
||||
|
||||
func get_vector3i_string() -> String:
|
||||
return "Vector3i(" + get_int_string() + ", " + get_int_string()+ ", " + get_int_string() + ")"
|
||||
|
||||
func get_vector3_string() -> String:
|
||||
return "Vector3(" + get_float_string() + ", " + get_float_string() + ", " + get_float_string() + ")"
|
||||
|
||||
func get_aabb() -> AABB:
|
||||
return AABB(get_vector3(),get_vector3())
|
||||
|
||||
func get_aabb_string() -> String:
|
||||
return "AABB(" + get_vector3_string() + ", " + get_vector3_string() + ")"
|
||||
|
||||
func get_transform() -> Transform:
|
||||
return Transform(get_vector3(),get_vector3(),get_vector3(),get_vector3())
|
||||
|
||||
func get_transform_string() -> String:
|
||||
return "Transform(" + get_vector3_string() + ", " + get_vector3_string() + ", " + get_vector3_string() + ", " + get_vector3_string() + ")"
|
||||
|
||||
func get_transform2D() -> Transform2D:
|
||||
return Transform2D(get_vector2(),get_vector2(),get_vector2())
|
||||
|
||||
func get_transform2D_string() -> String:
|
||||
return "Transform2D(" + get_vector2_string() + ", " + get_vector2_string()+ ", " + get_vector2_string() + ")"
|
||||
|
||||
|
||||
func get_plane() -> Plane:
|
||||
return Plane(get_vector3(),get_vector3(),get_vector3())
|
||||
|
||||
func get_plane_string() -> String:
|
||||
return "Plane(" + get_vector3_string() + ", " + get_vector3_string()+ ", " + get_vector3_string() + ")"
|
||||
|
||||
func get_quat() -> Quat:
|
||||
return Quat(get_vector3())
|
||||
|
||||
func get_quat_string() -> String:
|
||||
return "Quat(" + get_vector3_string() + ")"
|
||||
|
||||
func get_basis() -> Basis:
|
||||
return Basis(get_vector3())
|
||||
|
||||
func get_basis_string() -> String:
|
||||
return "Basis(" + get_vector3_string() + ")"
|
||||
|
||||
func get_rect2() -> Rect2:
|
||||
return Rect2(get_vector2(), get_vector2())
|
||||
|
||||
func get_rect2i() -> Rect2i:
|
||||
return Rect2i(get_vector2i(), get_vector2i())
|
||||
|
||||
func get_rect2_string() -> String:
|
||||
return "Rect2(" + get_vector2_string() + ", " + get_vector2_string()+ ")"
|
||||
|
||||
func get_rect2i_string() -> String:
|
||||
return "Rect2i(" + get_vector2i_string() + ", " + get_vector2i_string()+ ")"
|
||||
|
||||
func get_color() -> Color:
|
||||
return Color(get_float(), get_float(),get_float())
|
||||
|
||||
func get_color_string() -> String:
|
||||
return "Color(" + get_float_string() + ", " + get_float_string()+ ", " + get_float_string() + ")"
|
||||
|
||||
# TODO
|
||||
func get_string() -> String:
|
||||
if random:
|
||||
if randi() % 2 == 0:
|
||||
return String(".")
|
||||
else:
|
||||
return str(randi())
|
||||
return String()
|
||||
|
||||
func get_string_string() -> String:
|
||||
if random:
|
||||
if randi() % 2 == 0:
|
||||
return "\".\""
|
||||
else:
|
||||
return "\"randi())\""
|
||||
return "\"\""
|
||||
# TODO
|
||||
func get_nodepath() -> NodePath:
|
||||
return NodePath(get_string())
|
||||
# TODO
|
||||
func get_array() -> Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append([])
|
||||
return Array([])
|
||||
# TODO
|
||||
func get_dictionary() -> Dictionary:
|
||||
return Dictionary({})
|
||||
|
||||
|
||||
func get_Packed_string_array() -> PackedStringArray:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_string())
|
||||
return PackedStringArray(array)
|
||||
|
||||
func get_Packed_int32_array() -> PackedInt32Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_int())
|
||||
return PackedInt32Array(array)
|
||||
|
||||
func get_Packed_int64_array() -> PackedInt32Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_int())
|
||||
return PackedInt32Array(array)
|
||||
|
||||
func get_Packed_byte_array() -> PackedByteArray:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_int())
|
||||
return PackedByteArray(array)
|
||||
|
||||
func get_Packed_float32_array() -> PackedFloat32Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_float())
|
||||
return PackedFloat32Array(array)
|
||||
|
||||
func get_Packed_float64_array() -> PackedFloat64Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_float())
|
||||
return PackedFloat64Array(array)
|
||||
|
||||
func get_Packed_vector2_array() -> PackedVector2Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_vector2())
|
||||
return PackedVector2Array(array)
|
||||
|
||||
func get_Packed_vector3_array() -> PackedVector3Array:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_vector3())
|
||||
return PackedVector3Array(array)
|
||||
|
||||
func get_Packed_color_array() -> PackedColorArray:
|
||||
var array : Array = []
|
||||
for _i in range(int(min(max_array_size,number))):
|
||||
array.append(get_color())
|
||||
return PackedColorArray(array)
|
||||
|
||||
|
||||
func get_object(object_name: String) -> Object:
|
||||
assert(ClassDB.class_exists(object_name))
|
||||
if object_name == "PhysicsDirectSpaceState" || object_name == "Physics2DDirectSpaceState":
|
||||
return BoxMesh.new()
|
||||
|
||||
var a = 0
|
||||
if random:
|
||||
var classes = ClassDB.get_inheriters_from_class("Node") + ClassDB.get_inheriters_from_class("Reference")
|
||||
|
||||
if object_name == "Object":
|
||||
while true:
|
||||
var choosen_class: String = classes[randi() % classes.size()]
|
||||
if (
|
||||
ClassDB.can_instance(choosen_class)
|
||||
&& (ClassDB.is_parent_class(choosen_class, "Node") || ClassDB.is_parent_class(choosen_class, "Reference"))
|
||||
&& !(choosen_class in BasicData.disabled_classes)
|
||||
):
|
||||
return ClassDB.instance(choosen_class)
|
||||
|
||||
if ClassDB.is_parent_class(object_name, "Node") || ClassDB.is_parent_class(object_name, "Reference"):
|
||||
if should_be_always_valid:
|
||||
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
|
||||
to_use_classes.append(object_name)
|
||||
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
|
||||
assert(to_use_classes.size() > 0)
|
||||
|
||||
while true:
|
||||
a += 1
|
||||
if a > 50:
|
||||
# Object doesn't have children which can be instanced
|
||||
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
|
||||
assert(false)
|
||||
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
|
||||
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
|
||||
return ClassDB.instance(choosen_class)
|
||||
else:
|
||||
while true:
|
||||
a += 1
|
||||
if a > 50:
|
||||
assert(false)
|
||||
var choosen_class: String = classes[randi() % classes.size()]
|
||||
if ClassDB.can_instance(choosen_class) && !ClassDB.is_parent_class(choosen_class, object_name) && !(choosen_class in BasicData.disabled_classes):
|
||||
return ClassDB.instance(choosen_class)
|
||||
|
||||
# Non Node/Resource object
|
||||
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
|
||||
to_use_classes.append(object_name)
|
||||
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
|
||||
assert(to_use_classes.size() > 0)
|
||||
|
||||
while true:
|
||||
a += 1
|
||||
if a > 50:
|
||||
# Object doesn't have children which can be instanced
|
||||
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
|
||||
assert(false)
|
||||
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
|
||||
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
|
||||
return ClassDB.instance(choosen_class)
|
||||
|
||||
else:
|
||||
if ClassDB.can_instance(object_name): # E.g. Texture is not instantable or shouldn't be, but LargeTexture is
|
||||
return ClassDB.instance(object_name)
|
||||
else: # Found child of non instantable object
|
||||
var list_of_class = ClassDB.get_inheriters_from_class(object_name)
|
||||
assert(list_of_class.size() > 0) # Number of inherited class of non instantable class must be greater than 0, otherwise this function would be useless
|
||||
for i in list_of_class:
|
||||
if ClassDB.can_instance(i) && (ClassDB.is_parent_class(i, "Node") || ClassDB.is_parent_class(i, "Reference")):
|
||||
return ClassDB.instance(i)
|
||||
assert(false)
|
||||
|
||||
assert(false)
|
||||
return BoxMesh.new()
|
||||
|
||||
|
||||
# TODO Update this with upper implementation
|
||||
func get_object_string(object_name: String) -> String:
|
||||
assert(ClassDB.class_exists(object_name))
|
||||
|
||||
var a = 0
|
||||
if random:
|
||||
var classes = ClassDB.get_inheriters_from_class("Node") + ClassDB.get_inheriters_from_class("Reference")
|
||||
|
||||
if object_name == "Object":
|
||||
while true:
|
||||
var choosen_class: String = classes[randi() % classes.size()]
|
||||
if ClassDB.can_instance(choosen_class) && (ClassDB.is_parent_class(choosen_class, "Node") || ClassDB.is_parent_class(choosen_class, "Reference")):
|
||||
return choosen_class
|
||||
|
||||
if ClassDB.is_parent_class(object_name, "Node") || ClassDB.is_parent_class(object_name, "Reference"):
|
||||
if should_be_always_valid:
|
||||
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
|
||||
to_use_classes.append(object_name)
|
||||
if !ClassDB.can_instance(object_name):
|
||||
assert(to_use_classes.size() > 0)
|
||||
|
||||
while true:
|
||||
a += 1
|
||||
if a > 30:
|
||||
# Object doesn't have children which can be instanced
|
||||
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
|
||||
assert(false)
|
||||
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
|
||||
if ClassDB.can_instance(choosen_class):
|
||||
return choosen_class
|
||||
else:
|
||||
while true:
|
||||
a += 1
|
||||
if a > 30:
|
||||
assert(false)
|
||||
var choosen_class: String = classes[randi() % classes.size()]
|
||||
if !ClassDB.is_parent_class(choosen_class, object_name):
|
||||
return choosen_class
|
||||
|
||||
# Non Node/Resource object
|
||||
var to_use_classes = ClassDB.get_inheriters_from_class(object_name)
|
||||
to_use_classes.append(object_name)
|
||||
if !ClassDB.can_instance(object_name) && object_name in BasicData.disabled_classes:
|
||||
assert(to_use_classes.size() > 0)
|
||||
|
||||
while true:
|
||||
a += 1
|
||||
if a > 50:
|
||||
# Object doesn't have children which can be instanced
|
||||
# This shouldn't happens, but sadly happen with e.g. SpatialGizmo
|
||||
assert(false)
|
||||
var choosen_class: String = to_use_classes[randi() % to_use_classes.size()]
|
||||
if ClassDB.can_instance(choosen_class) && !(choosen_class in BasicData.disabled_classes):
|
||||
return choosen_class
|
||||
|
||||
else:
|
||||
if ClassDB.can_instance(object_name): # E.g. Texture is not instantable or shouldn't be, but LargeTexture is
|
||||
return object_name
|
||||
else: # Found child of non instantable object
|
||||
var list_of_class = ClassDB.get_inheriters_from_class(object_name)
|
||||
assert(list_of_class.size() > 0) # Number of inherited class of non instantable class must be greater than 0, otherwise this function would be useless
|
||||
for i in list_of_class:
|
||||
if ClassDB.can_instance(i) && (ClassDB.is_parent_class(i, "Node") || ClassDB.is_parent_class(i, "Reference")):
|
||||
return i
|
||||
assert(false)
|
||||
|
||||
assert(false)
|
||||
return "BoxMesh"
|
@ -1,38 +1,29 @@
|
||||
#!/bin/bash
|
||||
grep -rl "onready" . --exclude-dir=.git,Godot4Update.sh | xargs sed -i 's/@onready /@onready /'
|
||||
|
||||
grep -rl "onready" . --exclude-dir=.git| xargs sed -i 's/onready /@onready /'
|
||||
grep -rl "extends RigidBody3D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody/extends RigidBody3D/'
|
||||
grep -rl "extends RigidBody3D3D2D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody2D/extends RigidBody2D/'
|
||||
|
||||
grep -rl "PointLight2D" . --exclude-dir=.git | xargs sed -i 's/Light2D/PointLight2D/'
|
||||
|
||||
grep -rl "SpatialMaterial" . --exclude-dir=.git | xargs sed -i 's/SpatialMaterial/StandardMaterial3D/'
|
||||
grep -rl "Camera3D" . --exclude-dir=.git | xargs sed -i 's/Camera/Camera3D/'
|
||||
grep -rl "Camera3D3D2D" . --exclude-dir=.git | xargs sed -i 's/Camera2D/Camera2D/'
|
||||
grep -rl "if i.get_name() != \"Camera3D3D\":" . --exclude-dir=.git | xargs sed -i 's/if i.get_name() != "Camera":/if i.get_name() != "Camera":/'
|
||||
|
||||
grep -rl "DirectionalLight3D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight/DirectionalLight3D/'
|
||||
grep -rl "DirectionalLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight2D/DirectionalPointLight2D/'
|
||||
|
||||
grep -rl "SpotLight3D" . --exclude-dir=.git | xargs sed -i 's/SpotLight/SpotLight3D/'
|
||||
grep -rl "SpotLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/SpotLight2D/SpotPointLight2D/'
|
||||
|
||||
grep -rl "OmniLight3D" . --exclude-dir=.git | xargs sed -i 's/OmniLight/OmniLight3D/'
|
||||
grep -rl "OmniLight3D3D2D" . --exclude-dir=.git | xargs sed -i 's/OmniLight2D/OmniPointLight2D/'
|
||||
|
||||
grep -rl "Node3D" . --exclude-dir=.git | xargs sed -i 's/Spatial/Node3D/'
|
||||
|
||||
grep -rl "extends RigidBody" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody/extends RigidBody3D/'
|
||||
grep -rl "extends RigidBody3D2D" . --exclude-dir=.git | xargs sed -i 's/extends RigidBody3D2D/extends RigidBody2D/'
|
||||
|
||||
mv "Rendering/Lights2D/Light2D.tscn" "Rendering/Lights2D/PointLight2D.tscn"
|
||||
mv "Rendering/Lights2D/Light2D.gd" "Rendering/Lights2D/PointLight2D.gd"
|
||||
grep -rl "Light2D" . --exclude-dir=.git | xargs sed -i 's/Light2D/PointLight2D/'
|
||||
|
||||
mv "Rendering/Lights3D/Camera.gd" "Rendering/Lights3D/Camera3D.gd"
|
||||
grep -rl "Camera" . --exclude-dir=.git | xargs sed -i 's/Camera/Camera3D/'
|
||||
grep -rl "Camera3D2D" . --exclude-dir=.git | xargs sed -i 's/Camera3D2D/Camera2D/'
|
||||
grep -rl "Camera3DTexture" . --exclude-dir=.git | xargs sed -i 's/Camera3DTexture/CameraTexture/'
|
||||
grep -rl "if i.get_name() != \"Camera3D\":" . --exclude-dir=.git | xargs sed -i 's/if i.get_name() != "Camera":/if i.get_name() != "Camera":/'
|
||||
|
||||
mv "Rendering/Lights3D/DirectionalLight.gd" "Rendering/Lights3D/DirectionalLight3D.gd"
|
||||
grep -rl "DirectionalLight" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight/DirectionalLight3D/'
|
||||
grep -rl "DirectionalLight3D2D" . --exclude-dir=.git | xargs sed -i 's/DirectionalLight3D2D/DirectionalPointLight2D/'
|
||||
|
||||
mv "Rendering/Lights3D/SpotLight.gd" "Rendering/Lights3D/SpotLight3D.gd"
|
||||
grep -rl "SpotLight" . --exclude-dir=.git | xargs sed -i 's/SpotLight/SpotLight3D/'
|
||||
grep -rl "SpotLight3D2D" . --exclude-dir=.git | xargs sed -i 's/SpotLight3D2D/SpotPointLight2D/'
|
||||
|
||||
mv "Rendering/Lights3D/OmniLight.gd" "Rendering/Lights3D/OmniLight3D.gd"
|
||||
grep -rl "OmniLight" . --exclude-dir=.git | xargs sed -i 's/OmniLight/OmniLight3D/'
|
||||
grep -rl "OmniLight3D2D" . --exclude-dir=.git | xargs sed -i 's/OmniLight3D2D/OmniPointLight2D/'
|
||||
|
||||
mv "MainScenes/Spatial.tscn" "MainScenes/Node3D.tscn"
|
||||
mv "MainScenes/Spatial.gd" "MainScenes/Node3D.gd"
|
||||
grep -rl "Spatial" . --exclude-dir=.git | xargs sed -i 's/Spatial/Node3D/'
|
||||
|
||||
|
||||
|
||||
|
@ -1,62 +0,0 @@
|
||||
extends GridContainer
|
||||
|
||||
|
||||
func _ready():
|
||||
for _i in range(5):
|
||||
add_child(Control.new())
|
||||
add_child(Popup.new())
|
||||
add_child(AcceptDialog.new())
|
||||
add_child(ConfirmationDialog.new())
|
||||
add_child(FileDialog.new())
|
||||
add_child(PopupMenu.new())
|
||||
add_child(PopupPanel.new())
|
||||
add_child(Button.new())
|
||||
add_child(CheckBox.new())
|
||||
add_child(CheckButton.new())
|
||||
add_child(ColorPickerButton.new())
|
||||
add_child(MenuButton.new())
|
||||
add_child(OptionButton.new())
|
||||
add_child(LinkButton.new())
|
||||
add_child(TextureButton.new())
|
||||
add_child(Container.new())
|
||||
add_child(ColorPicker.new())
|
||||
add_child(VBoxContainer.new())
|
||||
add_child(HBoxContainer.new())
|
||||
add_child(CenterContainer.new())
|
||||
add_child(ScrollContainer.new())
|
||||
add_child(GraphNode.new())
|
||||
add_child(GridContainer.new())
|
||||
add_child(HSplitContainer.new())
|
||||
add_child(VSplitContainer.new())
|
||||
add_child(MarginContainer.new())
|
||||
add_child(PanelContainer.new())
|
||||
add_child(TabContainer.new())
|
||||
add_child(ColorRect.new())
|
||||
add_child(HScrollBar.new())
|
||||
add_child(VScrollBar.new())
|
||||
add_child(HSlider.new())
|
||||
add_child(VSlider.new())
|
||||
add_child(ProgressBar.new())
|
||||
add_child(SpinBox.new())
|
||||
add_child(TextureProgressBar.new())
|
||||
add_child(GraphEdit.new())
|
||||
add_child(HSeparator.new())
|
||||
add_child(VSeparator.new())
|
||||
add_child(ItemList.new())
|
||||
add_child(Label.new())
|
||||
add_child(LineEdit.new())
|
||||
add_child(NinePatchRect.new())
|
||||
add_child(Panel.new())
|
||||
add_child(ReferenceRect.new())
|
||||
add_child(RichTextLabel.new())
|
||||
add_child(Tabs.new())
|
||||
add_child(TextEdit.new())
|
||||
add_child(TextureRect.new())
|
||||
add_child(Tree.new())
|
||||
add_child(VideoPlayer.new())
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
for i in get_children():
|
||||
if i is Control:
|
||||
i._set_size(Vector2(200 * randf() - 100, 200 * randf() - 100))
|
@ -1,12 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://MainScenes/Control.gd" type="Script" id=1]
|
||||
|
||||
[node name="GridContainer" type="GridContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
columns = 5
|
||||
script = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
func _ready():
|
||||
for _i in range(5):
|
||||
add_child(Node2D.new())
|
||||
add_child(AnimatedSprite2D.new())
|
||||
add_child(Area2D.new())
|
||||
add_child(KinematicBody2D.new())
|
||||
add_child(RigidBody2D.new())
|
||||
add_child(StaticBody2D.new())
|
||||
add_child(AudioStreamPlayer2D.new())
|
||||
add_child(BackBufferCopy.new())
|
||||
add_child(Bone2D.new())
|
||||
add_child(CPUParticles2D.new())
|
||||
add_child(Camera2D.new())
|
||||
add_child(CanvasModulate.new())
|
||||
add_child(CollisionPolygon2D.new())
|
||||
add_child(CollisionShape2D.new())
|
||||
add_child(DampedSpringJoint2D.new())
|
||||
add_child(GrooveJoint2D.new())
|
||||
add_child(PinJoint2D.new())
|
||||
add_child(Light2D.new())
|
||||
add_child(LightOccluder2D.new())
|
||||
add_child(Line2D.new())
|
||||
add_child(MeshInstance2D.new())
|
||||
add_child(MultiMeshInstance2D.new())
|
||||
add_child(ParallaxLayer.new())
|
||||
add_child(GPUParticles2D.new())
|
||||
add_child(Path2D.new())
|
||||
add_child(PathFollow2D.new())
|
||||
add_child(Polygon2D.new())
|
||||
add_child(Position2D.new())
|
||||
add_child(RayCast2D.new())
|
||||
add_child(RemoteTransform2D.new())
|
||||
add_child(Skeleton2D.new())
|
||||
add_child(Sprite2D.new())
|
||||
add_child(TileMap.new())
|
||||
add_child(TouchScreenButton.new())
|
||||
add_child(VisibilityNotifier2D.new())
|
||||
add_child(VisibilityEnabler2D.new())
|
||||
add_child(YSort.new())
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
for i in get_children():
|
||||
if i is Node2D:
|
||||
i.set_position(Vector2(1000 * randf() - 500, 1000 * randf() - 500))
|
@ -1,8 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://MainScenes/Node2D.gd" type="Script" id=1]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
@ -1,78 +0,0 @@
|
||||
extends Node3D
|
||||
|
||||
|
||||
func _ready():
|
||||
for i in range(5):
|
||||
add_child(Node3D.new())
|
||||
add_child(XRAnchor3D.new())
|
||||
add_child(Camera3D.new())
|
||||
add_child(XRCamera3D.new())
|
||||
add_child(ClippedCamera3D.new())
|
||||
add_child(XRController3D.new())
|
||||
add_child(XROrigin3D.new())
|
||||
add_child(AnimatedSprite3D.new())
|
||||
add_child(Sprite3D.new())
|
||||
add_child(CPUParticles3D.new())
|
||||
add_child(CSGBox3D.new())
|
||||
add_child(CSGCylinder3D.new())
|
||||
add_child(CSGMesh3D.new())
|
||||
add_child(CSGPolygon3D.new())
|
||||
add_child(CSGSphere3D.new())
|
||||
add_child(CSGTorus3D.new())
|
||||
add_child(CSGCombiner3D.new())
|
||||
add_child(ImmediateGeometry3D.new())
|
||||
add_child(MeshInstance3D.new())
|
||||
add_child(SoftBody3D.new())
|
||||
add_child(MultiMeshInstance3D.new())
|
||||
add_child(GPUParticles3D.new())
|
||||
add_child(BakedLightmap.new())
|
||||
add_child(DirectionalLight3D.new())
|
||||
add_child(OmniLight3D.new())
|
||||
add_child(SpotLight3D.new())
|
||||
add_child(GIProbe.new())
|
||||
add_child(ReflectionProbe.new())
|
||||
add_child(Area3D.new())
|
||||
add_child(KinematicBody3D.new())
|
||||
add_child(PhysicalBone3D.new())
|
||||
add_child(RigidBody3D.new())
|
||||
add_child(VehicleBody3D.new())
|
||||
add_child(StaticBody3D.new())
|
||||
add_child(AudioStreamPlayer3D.new())
|
||||
add_child(BoneAttachment3D.new())
|
||||
add_child(CollisionPolygon3D.new())
|
||||
add_child(CollisionShape3D.new())
|
||||
add_child(ConeTwistJoint3D.new())
|
||||
add_child(Generic6DOFJoint3D.new())
|
||||
add_child(HingeJoint3D.new())
|
||||
add_child(PinJoint3D.new())
|
||||
add_child(SliderJoint3D.new())
|
||||
add_child(GridMap.new())
|
||||
add_child(Listener3D.new())
|
||||
add_child(Path3D.new())
|
||||
add_child(PathFollow3D.new())
|
||||
add_child(Position3D.new())
|
||||
add_child(ProximityGroup3D.new())
|
||||
add_child(RayCast3D.new())
|
||||
add_child(RemoteTransform3D.new())
|
||||
add_child(Skeleton3D.new())
|
||||
add_child(SpringArm3D.new())
|
||||
add_child(VehicleWheel3D.new())
|
||||
add_child(VisibilityNotifier3D.new())
|
||||
add_child(VisibilityEnabler3D.new())
|
||||
|
||||
|
||||
add_child(GPUParticlesAttractorBox.new())
|
||||
add_child(GPUParticlesAttractorSphere.new())
|
||||
add_child(GPUParticlesAttractorVectorField.new())
|
||||
|
||||
add_child(GPUParticlesCollisionBox.new())
|
||||
# add_child(GPUParticlesCollisionHeightField.new())
|
||||
add_child(GPUParticlesCollisionSphere.new())
|
||||
add_child(GPUParticlesCollisionSDF.new())
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
for i in get_children():
|
||||
if i.get_name() != "Camera":
|
||||
i.set_scale(Vector3(delta + 1, delta + 1, delta + 1))
|
||||
i.set_translation(Vector3(10 * randf(), 10 * randf(), 10 * randf()))
|
@ -1,9 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://MainScenes/Node3D.gd" type="Script" id=1]
|
||||
|
||||
[node name="Node3D" type="Spatial"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Camera3D" type="Camera" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 0.690617, 0.72322, 0, -0.72322, 0.690617, 0, 3.77374, 5.42622 )
|
@ -1,18 +0,0 @@
|
||||
extends Node
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
for _i in range(5):
|
||||
add_child(AnimationPlayer.new())
|
||||
add_child(AnimationTree.new())
|
||||
add_child(AudioStreamPlayer.new())
|
||||
add_child(CanvasLayer.new())
|
||||
add_child(ParallaxBackground.new())
|
||||
add_child(HTTPRequest.new())
|
||||
add_child(ResourcePreloader.new())
|
||||
add_child(Skeleton2D.new())
|
||||
add_child(Timer.new())
|
||||
add_child(Tween.new())
|
||||
add_child(Viewport.new())
|
||||
add_child(WorldEnvironment.new())
|
||||
|
@ -1,6 +0,0 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://MainScenes/Other.gd" type="Script" id=1]
|
||||
|
||||
[node name="Node" type="Node"]
|
||||
script = ExtResource( 1 )
|
54
Nodes/Nodes.gd
Normal file
54
Nodes/Nodes.gd
Normal file
@ -0,0 +1,54 @@
|
||||
extends Node
|
||||
|
||||
var TIME_TO_DELETE : float = 1.0
|
||||
var time_to_delete : float = TIME_TO_DELETE
|
||||
|
||||
var disabled_classes : Array = ["NavigationAgent2D", "NavigationAgent3D","GPUParticlesCollisionHeightField"]
|
||||
|
||||
func _populate() -> void:
|
||||
for _i in range(2): # Number of created
|
||||
for name_of_class in ClassDB.get_class_list():
|
||||
if name_of_class in disabled_classes:
|
||||
continue
|
||||
if !ClassDB.can_instance(name_of_class):
|
||||
continue
|
||||
|
||||
|
||||
if ClassDB.is_parent_class(name_of_class,"Control"):
|
||||
add_child(ClassDB.instance(name_of_class))
|
||||
continue
|
||||
if ClassDB.is_parent_class(name_of_class,"Node3D"):
|
||||
add_child(ClassDB.instance(name_of_class))
|
||||
continue
|
||||
if ClassDB.is_parent_class(name_of_class,"Node2D"):
|
||||
add_child(ClassDB.instance(name_of_class))
|
||||
continue
|
||||
if ClassDB.is_parent_class(name_of_class,"Node"):
|
||||
add_child(ClassDB.instance(name_of_class))
|
||||
continue
|
||||
|
||||
|
||||
# Populate at start
|
||||
func _ready() -> void:
|
||||
_populate()
|
||||
|
||||
# Move nodes a little and delete and readd them later
|
||||
func _process(delta: float) -> void:
|
||||
for i in get_children():
|
||||
if i is Control:
|
||||
i._set_size(Vector2(200 * randf() - 100, 200 * randf() - 100))
|
||||
if i is Node2D:
|
||||
i.set_position(Vector2(1000 * randf() - 500, 1000 * randf() - 500))
|
||||
if i is Node3D:
|
||||
if i.get_name() != "Camera":
|
||||
i.set_scale(Vector3(delta + 1, delta + 1, delta + 1))
|
||||
i.set_translation(Vector3(10 * randf(), 10 * randf(), 10 * randf()))
|
||||
|
||||
time_to_delete -= delta
|
||||
if time_to_delete < 0:
|
||||
time_to_delete += TIME_TO_DELETE
|
||||
|
||||
for i in get_children():
|
||||
i.queue_free()
|
||||
|
||||
_populate()
|
6
Nodes/Nodes.tscn
Normal file
6
Nodes/Nodes.tscn
Normal file
@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Nodes/Nodes.gd" type="Script" id=1]
|
||||
|
||||
[node name="Nodes" type="Node"]
|
||||
script = ExtResource( 1 )
|
@ -1,19 +1,22 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture2D" id=1]
|
||||
[ext_resource path="res://Physics/2D/Area2D.gd" type="Script" id=2]
|
||||
|
||||
[node name="Area2D" type="Area2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||
polygon = PoolVector2Array( 4.018, -13.1782, -15.9057, 3.23778, 1.63277, 17.5492, 19.3115, 2.39594 )
|
||||
polygon = PackedVector2Array( 4.018, -13.1782, -15.9057, 3.23778, 1.63277, 17.5492, 19.3115, 2.39594 )
|
||||
script = null
|
||||
|
||||
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="."]
|
||||
polygon = PoolVector2Array( -4.58427, -16.8342, -20.5974, -4.94143, -8.23639, 16.784, 20.4187, 13.5065 )
|
||||
polygon = PackedVector2Array( -4.58427, -16.8342, -20.5974, -4.94143, -8.23639, 16.784, 20.4187, 13.5065 )
|
||||
script = null
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture = ExtResource( 1 )
|
||||
script = null
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_Area2D_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_Area2D_body_entered"]
|
||||
|
@ -8,7 +8,7 @@
|
||||
friction = 0.89
|
||||
rough = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=2]
|
||||
[sub_resource type="SpatialMaterial" id=2]
|
||||
albedo_color = Color( 1, 1, 1, 0.521569 )
|
||||
albedo_texture = ExtResource( 1 )
|
||||
metallic = 1.0
|
||||
@ -18,7 +18,7 @@ metallic_texture = ExtResource( 1 )
|
||||
[sub_resource type="BoxShape" id=3]
|
||||
extents = Vector3( 50, 2, 50 )
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id=4]
|
||||
[sub_resource type="SpatialMaterial" id=4]
|
||||
params_diffuse_mode = 1
|
||||
albedo_texture = ExtResource( 1 )
|
||||
metallic = 0.8
|
||||
@ -32,13 +32,13 @@ extents = Vector3( 11.8794, 1.37845, 22.281 )
|
||||
[sub_resource type="BoxShape" id=7]
|
||||
extents = Vector3( 11.8794, 1.37845, 22.281 )
|
||||
|
||||
[node name="Physics3D" type="Node3D"]
|
||||
[node name="Physics3D" type="Spatial"]
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="."]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, -0.959707, 0.281002, 0, -0.281002, -0.959707, 0, 35.3705, 0 )
|
||||
light_energy = 1.45
|
||||
|
||||
[node name="StaticArena" type="Node3D" parent="."]
|
||||
[node name="StaticArena" type="Spatial" parent="."]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="StaticBody" type="StaticBody" parent="StaticArena"]
|
||||
@ -156,26 +156,26 @@ width = 23.9394
|
||||
depth = 44.6359
|
||||
|
||||
[node name="StaticBody9" type="StaticBody" parent="StaticArena"]
|
||||
transform = Transform( 0.289683, -0.599318, 0.746259, -0.123608, -0.796586, -0.591753, 0.949107, 0.0791774, -0.304838, 10.0702, 12.1813, -25.555 )
|
||||
transform = Transform( 0.289683, -0.599318, 0.746259, -0.123608, -0.796586, -0.591753, 0.949107, 0.0791774, -0.304838, 10.0702, 0.940654, -25.555 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="StaticArena/StaticBody9"]
|
||||
transform = Transform( 1, -9.31323e-10, 0, 0, 1, 1.49012e-08, 3.72529e-09, 1.49012e-08, 1, 0, 0, 0 )
|
||||
transform = Transform( 1, 7.45058e-09, 0, 1.49012e-08, 1, 4.84288e-08, 0, -3.1665e-08, 1, 0, 0, 0 )
|
||||
shape = SubResource( 7 )
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="StaticArena/StaticBody9"]
|
||||
width = 23.9394
|
||||
depth = 44.6359
|
||||
|
||||
[node name="Objects" type="Node3D" parent="."]
|
||||
[node name="Objects" type="Spatial" parent="."]
|
||||
|
||||
[node name="RigidBody" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.50424, 25.2791, 14.7363 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.50424, 17.1047, 14.7363 )
|
||||
|
||||
[node name="RigidBody2" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.7864, 12.6031, 19.1751 )
|
||||
|
||||
[node name="RigidBody3" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.9896, 12.6031, 28.8764 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.9896, 10.6319, 28.8764 )
|
||||
|
||||
[node name="RigidBody4" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0866, 12.6031, -18.3703 )
|
||||
@ -192,149 +192,27 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.9278, 12.6031, 23.4173 )
|
||||
[node name="RigidBody8" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.85186, 24.8548, -9.87658 )
|
||||
|
||||
[node name="RigidBody10" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 16.1328, 29.5375, -0.570342 )
|
||||
|
||||
[node name="RigidBody11" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20.6287, 22.3987, -15.733 )
|
||||
|
||||
[node name="RigidBody12" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -21.4547, 22.3987, -24.854 )
|
||||
|
||||
[node name="RigidBody13" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.76971, 22.3987, -22.9999 )
|
||||
|
||||
[node name="RigidBody14" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -18.8426, 17.5784, -8.49029 )
|
||||
|
||||
[node name="RigidBody9" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -29.188, 12.6031, 9.26155 )
|
||||
|
||||
[node name="RigidBody15" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.25014, 31.7526, 22.4342 )
|
||||
|
||||
[node name="RigidBody16" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.0405, 19.0766, 26.873 )
|
||||
|
||||
[node name="RigidBody17" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -10.7355, 19.0766, 36.5743 )
|
||||
|
||||
[node name="RigidBody18" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19.8325, 19.0766, -10.6724 )
|
||||
|
||||
[node name="RigidBody19" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 28.5046, 19.0765, -13.0753 )
|
||||
|
||||
[node name="RigidBody20" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 30.3391, 19.0765, 15.9916 )
|
||||
|
||||
[node name="RigidBody21" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 25.1819, 19.0765, 31.1152 )
|
||||
|
||||
[node name="RigidBody22" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.40224, 31.3283, -2.17871 )
|
||||
|
||||
[node name="RigidBody23" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 22.3869, 36.0109, 7.12753 )
|
||||
|
||||
[node name="RigidBody24" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 26.8828, 28.8722, -8.03515 )
|
||||
|
||||
[node name="RigidBody25" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -15.2006, 28.8722, -17.1562 )
|
||||
|
||||
[node name="RigidBody26" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.48439, 28.8722, -15.3021 )
|
||||
|
||||
[node name="RigidBody27" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5885, 24.0519, -0.792418 )
|
||||
|
||||
[node name="RigidBody28" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -22.9338, 19.0765, 16.9594 )
|
||||
|
||||
[node name="RigidBody29" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5598, 33.131, 4.91325 )
|
||||
|
||||
[node name="RigidBody30" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.26917, 20.455, 9.35204 )
|
||||
|
||||
[node name="RigidBody31" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.0452, 20.455, 19.0534 )
|
||||
|
||||
[node name="RigidBody32" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -32.1422, 20.455, -28.1934 )
|
||||
|
||||
[node name="RigidBody33" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 16.1949, 20.455, -30.5962 )
|
||||
|
||||
[node name="RigidBody34" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.0294, 20.455, -1.52936 )
|
||||
|
||||
[node name="RigidBody35" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 12.8723, 20.455, 13.5943 )
|
||||
|
||||
[node name="RigidBody36" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -9.90743, 32.7067, -19.6996 )
|
||||
|
||||
[node name="RigidBody37" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.0773, 37.3894, -10.3934 )
|
||||
|
||||
[node name="RigidBody38" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5731, 30.2506, -25.5561 )
|
||||
|
||||
[node name="RigidBody39" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -27.5103, 30.2506, -34.6771 )
|
||||
|
||||
[node name="RigidBody40" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.82528, 30.2506, -32.823 )
|
||||
|
||||
[node name="RigidBody41" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -24.8981, 25.4303, -18.3134 )
|
||||
|
||||
[node name="RigidBody42" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35.2435, 20.455, -0.56151 )
|
||||
|
||||
[node name="RigidBody43" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.30571, 39.6045, 12.6111 )
|
||||
|
||||
[node name="RigidBody44" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.98493, 26.9285, 17.0499 )
|
||||
|
||||
[node name="RigidBody45" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.7911, 26.9285, 26.7513 )
|
||||
|
||||
[node name="RigidBody46" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -25.8881, 26.9285, -20.4955 )
|
||||
|
||||
[node name="RigidBody47" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 22.449, 26.9285, -22.8984 )
|
||||
|
||||
[node name="RigidBody48" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 24.2835, 26.9285, 6.16852 )
|
||||
|
||||
[node name="RigidBody49" parent="Objects" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19.1264, 26.9285, 21.2921 )
|
||||
|
||||
[node name="Camera3D" type="Camera" parent="."]
|
||||
[node name="Camera" type="Camera" parent="."]
|
||||
transform = Transform( 0.922114, 0.23703, -0.305815, 0.0163102, 0.765871, 0.642787, 0.386575, -0.597711, 0.702354, -25.392, 55.117, 39.851 )
|
||||
current = true
|
||||
far = 200.0
|
||||
|
||||
[node name="Joints" type="Node3D" parent="."]
|
||||
[node name="Joints" type="Spatial" parent="."]
|
||||
|
||||
[node name="Cone" type="Node3D" parent="Joints"]
|
||||
[node name="Cone" type="Spatial" parent="Joints"]
|
||||
|
||||
[node name="RigidBody2" parent="Joints/Cone" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 6.73046, 77.026 )
|
||||
gravity_scale = -3.0
|
||||
|
||||
[node name="RigidBody" parent="Joints/Cone" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 15.3482, 19.1751 )
|
||||
|
||||
[node name="ConeTwistJoint" type="ConeTwistJoint" parent="Joints/Cone"]
|
||||
nodes/node_a = NodePath("../RigidBody")
|
||||
nodes/node_b = NodePath("../RigidBody2")
|
||||
|
||||
[node name="Generic" type="Node3D" parent="Joints"]
|
||||
[node name="Generic" type="Spatial" parent="Joints"]
|
||||
|
||||
[node name="RigidBody" parent="Joints/Generic" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, 67.0796 )
|
||||
@ -347,7 +225,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, -0.445078 )
|
||||
nodes/node_a = NodePath("../RigidBody")
|
||||
nodes/node_b = NodePath("../RigidBody2")
|
||||
|
||||
[node name="Hinge" type="Node3D" parent="Joints"]
|
||||
[node name="Hinge" type="Spatial" parent="Joints"]
|
||||
|
||||
[node name="RigidBody" parent="Joints/Hinge" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.6153, 33.1278, 59.2096 )
|
||||
@ -360,26 +238,27 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8.17695, 33.1278, 19.1751 )
|
||||
nodes/node_a = NodePath("../RigidBody")
|
||||
nodes/node_b = NodePath("../RigidBody2")
|
||||
|
||||
[node name="Pin" type="Node3D" parent="Joints"]
|
||||
[node name="Pin" type="Spatial" parent="Joints"]
|
||||
|
||||
[node name="RigidBody" parent="Joints/Pin" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 4.83369, 116.28 )
|
||||
gravity_scale = -3.0
|
||||
|
||||
[node name="RigidBody2" parent="Joints/Pin" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 33.1278, 10.7729 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 18.4589, 10.7729 )
|
||||
|
||||
[node name="PinJoint" type="PinJoint" parent="Joints/Pin"]
|
||||
nodes/node_a = NodePath("../RigidBody")
|
||||
nodes/node_b = NodePath("../RigidBody2")
|
||||
|
||||
[node name="Slider" type="Node3D" parent="Joints"]
|
||||
[node name="Slider" type="Spatial" parent="Joints"]
|
||||
|
||||
[node name="RigidBody" parent="Joints/Slider" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -23.2888, 17.7427, 19.1751 )
|
||||
gravity_scale = -3.0
|
||||
|
||||
[node name="RigidBody2" parent="Joints/Slider" instance=ExtResource( 3 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -33.3355, 33.1278, 19.1751 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -33.3355, 16.2845, 19.1751 )
|
||||
|
||||
[node name="SliderJoint" type="SliderJoint" parent="Joints/Slider"]
|
||||
nodes/node_a = NodePath("../RigidBody")
|
||||
|
52
README.md
52
README.md
@ -3,9 +3,17 @@ This repository contains Godot project which is tested in offical Godot reposito
|
||||
|
||||
It aims to be complex project, which will allow to find crashes, leaks and invalid memory writes before PR is merged.
|
||||
|
||||
Sadly it can't find any logic errors.
|
||||
Sadly it can't find automatically any logic errors.
|
||||
|
||||
For now it is really simple, but some I think that it can be improved over time.
|
||||
## Reproduce bugs
|
||||
If CI find bug, you can easily without much effort check which scene cause problems(stacktrace, address or leak sanitizer log will be available).
|
||||
|
||||
All main scenes are independent of each other(only `Autoload.gd` is required), so it is easy to disable some for testing.
|
||||
|
||||
To create minimal test scene:
|
||||
- Look at the console output - there is printed info about current used scene
|
||||
- If you run `Start.tscn` scene(which run other scenes in queue) then you can modify list of scenes which needs to be run in `Autoload.gd` by commenting records in `alone_steps` or `all_in_one` array(just like in picture)
|
||||
![Zrzut ekranu z 2021-01-13 11-52-41](https://user-images.githubusercontent.com/41945903/104442905-060e7c00-5596-11eb-9000-f9bb338ece79.png)
|
||||
|
||||
## How it works?
|
||||
### Autoload
|
||||
@ -14,23 +22,43 @@ It handle exiting project after selected number of seconds
|
||||
|
||||
When opening any scene, automatically time to exit is set.
|
||||
|
||||
### Checking All scenes
|
||||
If running projet with e.g. this parameters
|
||||
```
|
||||
godot 20
|
||||
```
|
||||
Then time is set to 20 seconds so it means that if scenes is 10 (EACH in `alone_steps` array + one for ALL scenes in `all_in_one` array), then each scene will be show for 2 seconds
|
||||
|
||||
### Checking All scenes at once
|
||||
There are two scenes which opens all scenes:
|
||||
- All.tscn - opens all scenes at once
|
||||
- Start.tscn - opens each scene one by one
|
||||
|
||||
### "Safe" Fuzzer
|
||||
Available inside `AutomaticBugs` directory, check all methods with specific arguments in allowed classes.
|
||||
During calculations, to output should be written informations about current classes and executed functions with arguments e.g.
|
||||
```
|
||||
############### CLASS ############### - PopupMenu
|
||||
add_icon_radio_check_shortcut
|
||||
Parameters [[InputEventMouseMotion:12379], [SoftBody:12380], -109, True]
|
||||
```
|
||||
This fuzzer should in most situations be safe to use, because always use same set of arguments in functions, and objects are cleared before executing next function.
|
||||
|
||||
This tool is developed in external repository - https://github.com/qarmin/Qarminer.
|
||||
|
||||
### AIO
|
||||
This are scenes which only opens once, because there is no need to open it more times(no scripts or only with `_ready` function).
|
||||
This are scenes which only opens once, because there is no need to open it more times - used to check loading of specific types of nodes or executing its `_ready` functions.
|
||||
|
||||
### MainScenes
|
||||
Collections of all nodes, which are after some time simply removed and added to scene.
|
||||
|
||||
### ReparentingDeleting
|
||||
This scene randomly reparent, add or delete nodes inside it, to check correctness this operations.
|
||||
|
||||
### Other Scenes
|
||||
Each other scenes checks specific types of nodes like lights, rendering or physics.
|
||||
|
||||
## Contributions
|
||||
Contributions are welcome.
|
||||
|
||||
For now there is no requirements to format code.
|
||||
|
||||
New functionalities(e.g. physics checks) should be done in different folders(cleaner view to resources)
|
||||
Each other scenes checks specific types of nodes like lights, rendering, physics, text.
|
||||
|
||||
## Epilepsy Warning
|
||||
Due using by project a lot of functions from each type of Node, screen may flicker, images and objects may change randomly color and size which may lead some users to health problems.
|
||||
|
||||
## Problems with project
|
||||
If you have problem with this project e.g. in CI, just ping me -> @qarmin <- and after that I will try help to fix issues which you have with it or add exception to project.
|
||||
|
12
Rendering/Lights2D/Light2D.tscn
Normal file
12
Rendering/Lights2D/Light2D.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Rendering/Lights2D/Light2D.gd" type="Script" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=2]
|
||||
|
||||
[node name="Light2D" type="Light2D"]
|
||||
position = Vector2( 36.375, 37.875 )
|
||||
texture = ExtResource( 2 )
|
||||
texture_scale = 3.39
|
||||
energy = 6.7
|
||||
shadow_enabled = true
|
||||
script = ExtResource( 1 )
|
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Rendering/Lights2D/PointLight2D.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://Rendering/Lights2D/Light2D.tscn" type="PackedScene" id=2]
|
||||
|
||||
[sub_resource type="OccluderPolygon2D" id=1]
|
||||
cull_mode = 1
|
||||
@ -31,153 +31,153 @@ __meta__ = {
|
||||
|
||||
[node name="Lights" type="Node2D" parent="."]
|
||||
|
||||
[node name="PointLight2D" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D" parent="Lights" instance=ExtResource( 2 )]
|
||||
|
||||
[node name="PointLight2D2" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D2" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 552.563, -17.2793 )
|
||||
|
||||
[node name="PointLight2D3" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D3" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 34.9607, 524.365 )
|
||||
|
||||
[node name="PointLight2D4" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D4" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 679.842, 556.891 )
|
||||
|
||||
[node name="PointLight2D5" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D5" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 418.213, 295.262 )
|
||||
|
||||
[node name="PointLight2D6" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D6" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 863.69, 330.617 )
|
||||
|
||||
[node name="PointLight2D7" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D7" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 336.188, 565.377 )
|
||||
|
||||
[node name="PointLight2D8" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D8" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 996.626, 563.962 )
|
||||
|
||||
[node name="PointLight2D9" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D9" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 582.261, 406.985 )
|
||||
|
||||
[node name="PointLight2D10" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D10" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 600.646, 208.995 )
|
||||
|
||||
[node name="PointLight2D11" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D11" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 842.477, 139.698 )
|
||||
|
||||
[node name="PointLight2D12" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D12" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( -187.091, -47.1287 )
|
||||
|
||||
[node name="PointLight2D13" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D13" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( -342.655, 44.7952 )
|
||||
|
||||
[node name="PointLight2D14" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D14" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( -175.778, 114.091 )
|
||||
|
||||
[node name="PointLight2D15" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D15" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( -194.162, -211.178 )
|
||||
|
||||
[node name="PointLight2D16" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D16" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 289.499, -218.249 )
|
||||
|
||||
[node name="PointLight2D35" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D35" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( -102.216, -74.258 )
|
||||
|
||||
[node name="PointLight2D36" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D36" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 841.085, 146.51 )
|
||||
|
||||
[node name="PointLight2D37" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D37" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 323.483, 688.155 )
|
||||
|
||||
[node name="PointLight2D38" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D38" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 968.364, 720.681 )
|
||||
|
||||
[node name="PointLight2D39" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D39" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 706.735, 459.052 )
|
||||
|
||||
[node name="PointLight2D40" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D40" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1152.21, 494.407 )
|
||||
|
||||
[node name="PointLight2D41" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D41" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 624.71, 729.167 )
|
||||
|
||||
[node name="PointLight2D42" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D42" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1285.15, 727.752 )
|
||||
|
||||
[node name="PointLight2D43" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D43" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 870.783, 570.775 )
|
||||
|
||||
[node name="PointLight2D44" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D44" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 889.168, 372.785 )
|
||||
|
||||
[node name="PointLight2D45" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D45" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1131, 303.488 )
|
||||
|
||||
[node name="PointLight2D46" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D46" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 528.544, 392.584 )
|
||||
|
||||
[node name="PointLight2D47" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D47" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 372.98, 484.508 )
|
||||
|
||||
[node name="PointLight2D48" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D48" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 539.857, 553.804 )
|
||||
|
||||
[node name="PointLight2D49" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D49" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 521.473, 228.535 )
|
||||
|
||||
[node name="PointLight2D50" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D50" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1005.13, 221.464 )
|
||||
|
||||
[node name="PointLight2D17" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D17" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 966.927, 117.071 )
|
||||
|
||||
[node name="PointLight2D18" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D18" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 136.375, 90.875 )
|
||||
|
||||
[node name="PointLight2D19" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D19" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 652.563, 35.7207 )
|
||||
|
||||
[node name="PointLight2D20" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D20" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 134.961, 577.365 )
|
||||
|
||||
[node name="PointLight2D21" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D21" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 779.842, 609.891 )
|
||||
|
||||
[node name="PointLight2D22" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D22" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 518.213, 348.262 )
|
||||
|
||||
[node name="PointLight2D23" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D23" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 963.69, 383.617 )
|
||||
|
||||
[node name="PointLight2D24" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D24" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 436.188, 618.377 )
|
||||
|
||||
[node name="PointLight2D25" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D25" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1096.63, 616.962 )
|
||||
|
||||
[node name="PointLight2D26" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D26" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 682.261, 459.985 )
|
||||
|
||||
[node name="PointLight2D27" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D27" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 700.646, 261.995 )
|
||||
|
||||
[node name="PointLight2D28" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D28" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 942.477, 192.698 )
|
||||
|
||||
[node name="PointLight2D29" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D29" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 340.022, 281.794 )
|
||||
|
||||
[node name="PointLight2D30" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D30" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 184.458, 373.718 )
|
||||
|
||||
[node name="PointLight2D31" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D31" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 351.335, 443.014 )
|
||||
|
||||
[node name="PointLight2D32" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D32" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 332.951, 117.745 )
|
||||
|
||||
[node name="PointLight2D33" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D33" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 816.612, 110.674 )
|
||||
|
||||
[node name="PointLight2D34" parent="Lights" instance=ExtResource( 2 )]
|
||||
[node name="Light2D34" parent="Lights" instance=ExtResource( 2 )]
|
||||
position = Vector2( 1066.93, 170.071 )
|
||||
|
||||
[node name="LightOccluders" type="Node2D" parent="."]
|
||||
|
@ -1,12 +0,0 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Rendering/Lights2D/PointLight2D.gd" type="Script" id=1]
|
||||
[ext_resource path="res://icon.png" type="Texture2D" id=2]
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D"]
|
||||
position = Vector2( 36.375, 37.875 )
|
||||
energy = 6.7
|
||||
shadow_enabled = true
|
||||
texture = ExtResource( 2 )
|
||||
texture_scale = 3.39
|
||||
script = ExtResource( 1 )
|
@ -1,113 +1,113 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Rendering/Lights3D/Camera3D.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Rendering/Lights3D/DirectionalLight3D.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Rendering/Lights3D/OmniLight3D.gd" type="Script" id=3]
|
||||
[ext_resource path="res://Rendering/Lights3D/SpotLight3D.gd" type="Script" id=4]
|
||||
[ext_resource path="res://Rendering/Lights3D/Camera.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Rendering/Lights3D/DirectionalLight.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Rendering/Lights3D/OmniLight.gd" type="Script" id=3]
|
||||
[ext_resource path="res://Rendering/Lights3D/SpotLight.gd" type="Script" id=4]
|
||||
|
||||
[node name="Lights3D" type="Node3D"]
|
||||
[node name="Lights3D" type="Spatial"]
|
||||
|
||||
[node name="Lights" type="Node3D" parent="."]
|
||||
[node name="Lights" type="Spatial" parent="."]
|
||||
|
||||
[node name="Lights1" type="Node3D" parent="Lights"]
|
||||
[node name="Lights1" type="Spatial" parent="Lights"]
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights1"]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights1"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
|
||||
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights1"]
|
||||
[node name="OmniLight" type="OmniLight" parent="Lights/Lights1"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
|
||||
light_color = Color( 0.556863, 0, 0, 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights1"]
|
||||
[node name="SpotLight" type="SpotLight" parent="Lights/Lights1"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
|
||||
light_color = Color( 0.478431, 0.266667, 1, 1 )
|
||||
spot_range = 8.6
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Lights2" type="Node3D" parent="Lights"]
|
||||
[node name="Lights2" type="Spatial" parent="Lights"]
|
||||
transform = Transform( 0.506063, -0.520563, -0.687688, 0.308539, 0.853823, -0.419272, 0.805422, 0, 0.592702, 0, 0, 0 )
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights2"]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
|
||||
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights2"]
|
||||
[node name="OmniLight" type="OmniLight" parent="Lights/Lights2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
|
||||
light_color = Color( 0.556863, 0, 0, 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights2"]
|
||||
[node name="SpotLight" type="SpotLight" parent="Lights/Lights2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
|
||||
light_color = Color( 0.478431, 0.266667, 1, 1 )
|
||||
spot_range = 8.6
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Lights3" type="Node3D" parent="Lights"]
|
||||
[node name="Lights3" type="Spatial" parent="Lights"]
|
||||
transform = Transform( 0.767362, -0.583576, 0.265697, 0.547886, 0.381458, -0.744521, 0.333133, 0.716888, 0.612449, 0, 0, 0 )
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights3"]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights3"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
|
||||
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights3"]
|
||||
[node name="OmniLight" type="OmniLight" parent="Lights/Lights3"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
|
||||
light_color = Color( 0.556863, 0, 0, 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights3"]
|
||||
[node name="SpotLight" type="SpotLight" parent="Lights/Lights3"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
|
||||
light_color = Color( 0.478431, 0.266667, 1, 1 )
|
||||
spot_range = 8.6
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Lights4" type="Node3D" parent="Lights"]
|
||||
[node name="Lights4" type="Spatial" parent="Lights"]
|
||||
transform = Transform( -0.0303629, 0.898468, 0.437989, 0.547886, 0.381458, -0.744521, -0.836002, 0.217362, -0.50384, 0, 2.70549, 0 )
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights4"]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights4"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
|
||||
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights4"]
|
||||
[node name="OmniLight" type="OmniLight" parent="Lights/Lights4"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
|
||||
light_color = Color( 0.556863, 0, 0, 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights4"]
|
||||
[node name="SpotLight" type="SpotLight" parent="Lights/Lights4"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
|
||||
light_color = Color( 0.478431, 0.266667, 1, 1 )
|
||||
spot_range = 8.6
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Lights5" type="Node3D" parent="Lights"]
|
||||
[node name="Lights5" type="Spatial" parent="Lights"]
|
||||
transform = Transform( -0.0303629, 0.898468, 0.437989, 0.547886, 0.381458, -0.744521, -0.836002, 0.217362, -0.50384, 0, 2.70549, 6.00353 )
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight" parent="Lights/Lights5"]
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="Lights/Lights5"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.521, 0 )
|
||||
light_color = Color( 0.458824, 0.690196, 0.988235, 1 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight" parent="Lights/Lights5"]
|
||||
[node name="OmniLight" type="OmniLight" parent="Lights/Lights5"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.0767, 0 )
|
||||
light_color = Color( 0.556863, 0, 0, 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight" parent="Lights/Lights5"]
|
||||
[node name="SpotLight" type="SpotLight" parent="Lights/Lights5"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.09376 )
|
||||
light_color = Color( 0.478431, 0.266667, 1, 1 )
|
||||
spot_range = 8.6
|
||||
script = ExtResource( 4 )
|
||||
|
||||
[node name="Camera3D" type="Camera" parent="."]
|
||||
[node name="Camera" type="Camera" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.87313 )
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Boxes" type="Node3D" parent="."]
|
||||
[node name="Boxes" type="Spatial" parent="."]
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="Boxes"]
|
||||
width = 0.782
|
||||
@ -126,7 +126,7 @@ width = 0.342
|
||||
height = 0.521
|
||||
depth = 0.394
|
||||
|
||||
[node name="Boxes2" type="Node3D" parent="."]
|
||||
[node name="Boxes2" type="Spatial" parent="."]
|
||||
transform = Transform( 0.675732, 0, 0.737148, 0, 1, 0, -0.737148, 0, 0.675732, 0, 0, 0 )
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="Boxes2"]
|
||||
@ -146,7 +146,7 @@ width = 0.342
|
||||
height = 0.521
|
||||
depth = 0.394
|
||||
|
||||
[node name="Boxes3" type="Node3D" parent="."]
|
||||
[node name="Boxes3" type="Spatial" parent="."]
|
||||
transform = Transform( 0.675732, 0, 0.737148, 0, 1, 0, -0.737148, 0, 0.675732, -1.59745, -2.38419e-07, -0.843414 )
|
||||
|
||||
[node name="CSGBox" type="CSGBox" parent="Boxes3"]
|
||||
|
@ -1,198 +1,37 @@
|
||||
extends Node
|
||||
|
||||
var number_of_nodes : int = -1
|
||||
var node_to_handle_others : Node = Node.new() # Special node to handle all available nodes in tree
|
||||
var number_of_nodes : int = 0
|
||||
|
||||
var collected_nodes : Array = []
|
||||
var disabled_classes : Array = [
|
||||
"NavigationAgent2D", "NavigationAgent3D","GPUParticlesCollisionHeightField",
|
||||
"ReflectionProbe", # Cause errors, not sure about it
|
||||
] # Just add name of any class if cause problems
|
||||
|
||||
func collect() -> void:
|
||||
var classes : Array = ClassDB.get_class_list()
|
||||
classes.sort()
|
||||
for name_of_class in classes:
|
||||
if ClassDB.is_parent_class(name_of_class,"Node"):
|
||||
if name_of_class.find("Editor") != -1: # We don't want to test editor nodes
|
||||
continue
|
||||
if disabled_classes.has(name_of_class): # Class is disabled
|
||||
continue
|
||||
if ClassDB.can_instance(name_of_class): # Only instantable nodes can be used
|
||||
collected_nodes.append(name_of_class)
|
||||
|
||||
func _ready() -> void:
|
||||
seed(405)
|
||||
|
||||
|
||||
node_to_handle_others.set_name("handle_node")
|
||||
|
||||
for i in range(3):
|
||||
var parent_node : Node
|
||||
if i == 0:
|
||||
parent_node = node_to_handle_others
|
||||
else:
|
||||
parent_node = self
|
||||
collect()
|
||||
number_of_nodes = max(collected_nodes.size(),200) # Use at least all nodes, or more if you want(168 is probably number nodes)
|
||||
for i in range(number_of_nodes):
|
||||
var index = i
|
||||
if i >= collected_nodes.size(): # Wrap values
|
||||
index = i % collected_nodes.size()
|
||||
|
||||
parent_node.add_child(Control.new())
|
||||
parent_node.add_child(Popup.new())
|
||||
parent_node.add_child(AcceptDialog.new())
|
||||
parent_node.add_child(ConfirmationDialog.new())
|
||||
parent_node.add_child(FileDialog.new())
|
||||
parent_node.add_child(PopupMenu.new())
|
||||
parent_node.add_child(PopupPanel.new())
|
||||
parent_node.add_child(Button.new())
|
||||
parent_node.add_child(CheckBox.new())
|
||||
parent_node.add_child(CheckButton.new())
|
||||
parent_node.add_child(ColorPickerButton.new())
|
||||
parent_node.add_child(MenuButton.new())
|
||||
parent_node.add_child(OptionButton.new())
|
||||
parent_node.add_child(LinkButton.new())
|
||||
parent_node.add_child(TextureButton.new())
|
||||
parent_node.add_child(Container.new())
|
||||
parent_node.add_child(ColorPicker.new())
|
||||
parent_node.add_child(VBoxContainer.new())
|
||||
parent_node.add_child(HBoxContainer.new())
|
||||
parent_node.add_child(CenterContainer.new())
|
||||
parent_node.add_child(ScrollContainer.new())
|
||||
parent_node.add_child(GraphNode.new())
|
||||
parent_node.add_child(GridContainer.new())
|
||||
parent_node.add_child(HSplitContainer.new())
|
||||
parent_node.add_child(VSplitContainer.new())
|
||||
parent_node.add_child(MarginContainer.new())
|
||||
parent_node.add_child(PanelContainer.new())
|
||||
parent_node.add_child(TabContainer.new())
|
||||
parent_node.add_child(ColorRect.new())
|
||||
parent_node.add_child(HScrollBar.new())
|
||||
parent_node.add_child(VScrollBar.new())
|
||||
parent_node.add_child(HSlider.new())
|
||||
parent_node.add_child(VSlider.new())
|
||||
parent_node.add_child(ProgressBar.new())
|
||||
parent_node.add_child(SpinBox.new())
|
||||
parent_node.add_child(TextureProgressBar.new())
|
||||
parent_node.add_child(GraphEdit.new())
|
||||
parent_node.add_child(HSeparator.new())
|
||||
parent_node.add_child(VSeparator.new())
|
||||
parent_node.add_child(ItemList.new())
|
||||
parent_node.add_child(Label.new())
|
||||
parent_node.add_child(LineEdit.new())
|
||||
parent_node.add_child(NinePatchRect.new())
|
||||
parent_node.add_child(Panel.new())
|
||||
parent_node.add_child(ReferenceRect.new())
|
||||
parent_node.add_child(RichTextLabel.new())
|
||||
parent_node.add_child(Tabs.new())
|
||||
parent_node.add_child(TextEdit.new())
|
||||
parent_node.add_child(TextureRect.new())
|
||||
parent_node.add_child(Tree.new())
|
||||
parent_node.add_child(VideoPlayer.new())
|
||||
|
||||
parent_node.add_child(Node2D.new())
|
||||
# parent_node.add_child(AnimatedSprite2D.new())
|
||||
parent_node.add_child(Area2D.new())
|
||||
parent_node.add_child(KinematicBody2D.new())
|
||||
parent_node.add_child(RigidBody2D.new())
|
||||
parent_node.add_child(StaticBody2D.new())
|
||||
parent_node.add_child(AudioStreamPlayer2D.new())
|
||||
parent_node.add_child(BackBufferCopy.new())
|
||||
parent_node.add_child(Bone2D.new())
|
||||
parent_node.add_child(CPUParticles2D.new())
|
||||
parent_node.add_child(Camera2D.new())
|
||||
parent_node.add_child(CanvasModulate.new())
|
||||
parent_node.add_child(CollisionPolygon2D.new())
|
||||
parent_node.add_child(CollisionShape2D.new())
|
||||
parent_node.add_child(DampedSpringJoint2D.new())
|
||||
parent_node.add_child(GrooveJoint2D.new())
|
||||
parent_node.add_child(PinJoint2D.new())
|
||||
parent_node.add_child(Light2D.new())
|
||||
parent_node.add_child(LightOccluder2D.new())
|
||||
parent_node.add_child(Line2D.new())
|
||||
parent_node.add_child(MeshInstance2D.new())
|
||||
parent_node.add_child(MultiMeshInstance2D.new())
|
||||
parent_node.add_child(ParallaxLayer.new())
|
||||
parent_node.add_child(GPUParticles2D.new())
|
||||
parent_node.add_child(Path2D.new())
|
||||
parent_node.add_child(PathFollow2D.new())
|
||||
parent_node.add_child(Polygon2D.new())
|
||||
parent_node.add_child(Position2D.new())
|
||||
parent_node.add_child(RayCast2D.new())
|
||||
parent_node.add_child(RemoteTransform2D.new())
|
||||
parent_node.add_child(Skeleton2D.new())
|
||||
parent_node.add_child(Sprite2D.new())
|
||||
parent_node.add_child(TileMap.new())
|
||||
parent_node.add_child(TouchScreenButton.new())
|
||||
parent_node.add_child(VisibilityNotifier2D.new())
|
||||
parent_node.add_child(VisibilityEnabler2D.new())
|
||||
parent_node.add_child(YSort.new())
|
||||
|
||||
parent_node.add_child(AnimationPlayer.new())
|
||||
parent_node.add_child(AnimationTree.new())
|
||||
parent_node.add_child(AudioStreamPlayer.new())
|
||||
parent_node.add_child(CanvasLayer.new())
|
||||
parent_node.add_child(ParallaxBackground.new())
|
||||
parent_node.add_child(HTTPRequest.new())
|
||||
parent_node.add_child(ResourcePreloader.new())
|
||||
parent_node.add_child(Skeleton2D.new())
|
||||
parent_node.add_child(Timer.new())
|
||||
parent_node.add_child(Tween.new())
|
||||
parent_node.add_child(Viewport.new())
|
||||
parent_node.add_child(WorldEnvironment.new())
|
||||
|
||||
parent_node.add_child(Node3D.new())
|
||||
parent_node.add_child(XRAnchor3D.new())
|
||||
parent_node.add_child(Camera3D.new())
|
||||
parent_node.add_child(XRCamera3D.new())
|
||||
parent_node.add_child(ClippedCamera3D.new())
|
||||
parent_node.add_child(XRController3D.new())
|
||||
parent_node.add_child(XROrigin3D.new())
|
||||
parent_node.add_child(AnimatedSprite3D.new())
|
||||
parent_node.add_child(Sprite3D.new())
|
||||
parent_node.add_child(CPUParticles3D.new())
|
||||
parent_node.add_child(CSGBox3D.new())
|
||||
parent_node.add_child(CSGCylinder3D.new())
|
||||
parent_node.add_child(CSGMesh3D.new())
|
||||
parent_node.add_child(CSGPolygon3D.new())
|
||||
parent_node.add_child(CSGSphere3D.new())
|
||||
parent_node.add_child(CSGTorus3D.new())
|
||||
parent_node.add_child(CSGCombiner3D.new())
|
||||
parent_node.add_child(ImmediateGeometry3D.new())
|
||||
parent_node.add_child(MeshInstance3D.new())
|
||||
parent_node.add_child(SoftBody3D.new())
|
||||
parent_node.add_child(MultiMeshInstance3D.new())
|
||||
parent_node.add_child(GPUParticles3D.new())
|
||||
parent_node.add_child(BakedLightmap.new())
|
||||
parent_node.add_child(DirectionalLight3D.new())
|
||||
parent_node.add_child(OmniLight3D.new())
|
||||
parent_node.add_child(SpotLight3D.new())
|
||||
parent_node.add_child(GIProbe.new())
|
||||
# parent_node.add_child(ReflectionProbe.new())
|
||||
parent_node.add_child(Area3D.new())
|
||||
parent_node.add_child(KinematicBody3D.new())
|
||||
parent_node.add_child(PhysicalBone3D.new())
|
||||
parent_node.add_child(RigidBody3D.new())
|
||||
parent_node.add_child(VehicleBody3D.new())
|
||||
parent_node.add_child(StaticBody3D.new())
|
||||
parent_node.add_child(AudioStreamPlayer3D.new())
|
||||
parent_node.add_child(BoneAttachment3D.new())
|
||||
parent_node.add_child(CollisionPolygon3D.new())
|
||||
parent_node.add_child(CollisionShape3D.new())
|
||||
parent_node.add_child(ConeTwistJoint3D.new())
|
||||
parent_node.add_child(Generic6DOFJoint3D.new())
|
||||
parent_node.add_child(HingeJoint3D.new())
|
||||
parent_node.add_child(PinJoint3D.new())
|
||||
parent_node.add_child(SliderJoint3D.new())
|
||||
parent_node.add_child(GridMap.new())
|
||||
parent_node.add_child(Listener3D.new())
|
||||
parent_node.add_child(Path3D.new())
|
||||
parent_node.add_child(PathFollow3D.new())
|
||||
parent_node.add_child(Position3D.new())
|
||||
parent_node.add_child(ProximityGroup3D.new())
|
||||
parent_node.add_child(RayCast3D.new())
|
||||
parent_node.add_child(RemoteTransform3D.new())
|
||||
parent_node.add_child(Skeleton3D.new())
|
||||
parent_node.add_child(SpringArm3D.new())
|
||||
parent_node.add_child(VehicleWheel3D.new())
|
||||
parent_node.add_child(VisibilityNotifier3D.new())
|
||||
parent_node.add_child(VisibilityEnabler3D.new())
|
||||
|
||||
|
||||
parent_node.add_child(GPUParticlesAttractorBox.new())
|
||||
parent_node.add_child(GPUParticlesAttractorSphere.new())
|
||||
parent_node.add_child(GPUParticlesAttractorVectorField.new())
|
||||
|
||||
parent_node.add_child(GPUParticlesCollisionBox.new())
|
||||
# parent_node.add_child(GPUParticlesCollisionHeightField.new())
|
||||
parent_node.add_child(GPUParticlesCollisionSphere.new())
|
||||
parent_node.add_child(GPUParticlesCollisionSDF.new())
|
||||
|
||||
|
||||
for i in range(get_child_count()):
|
||||
get_child(i).set_name("Special Node " + str(i))
|
||||
|
||||
number_of_nodes = get_child_count()
|
||||
|
||||
add_child(node_to_handle_others) # Adding at the end to not broke calculations
|
||||
var child : Node = ClassDB.instance(collected_nodes[index])
|
||||
child.set_name("Special Node " + str(i))
|
||||
add_child(child)
|
||||
|
||||
## It is quite easy algorithm to reparent and delete items
|
||||
# - Add multiple nodes to scene
|
||||
@ -209,7 +48,7 @@ func _ready() -> void:
|
||||
# - At the end add first random node as child of second
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
assert(Performance.get_monitor(Performance.OBJECT_ORPHAN_NODE_COUNT) == 0)
|
||||
assert(Performance.get_monitor(Performance.OBJECT_ORPHAN_NODE_COUNT) == 0) # Don't work good with running more than 1 this scene
|
||||
|
||||
var choosen_node : Node
|
||||
var parent_of_node : Node
|
||||
@ -221,15 +60,14 @@ func _process(delta: float) -> void:
|
||||
var random_node = find_node("Special Node " + str(randi() % number_of_nodes),true,false)
|
||||
parent_of_node.remove_child(choosen_node)
|
||||
|
||||
# # Do not delete for now due https://github.com/godotengine/godot/issues/45471
|
||||
# if randi() % 6 == 0: # 16% chance to remove node with children
|
||||
# var names_to_remove : Array = find_all_special_children_names(choosen_node)
|
||||
# for name_to_remove in names_to_remove:
|
||||
# var node : Node = node_to_handle_others.get_child(randi() % node_to_handle_others.get_child_count()).duplicate(0)
|
||||
# node.set_name(name_to_remove)
|
||||
# add_child(node)
|
||||
# choosen_node.queue_free()
|
||||
# continue
|
||||
if randi() % 10 == 0: # 10% chance to remove node with children
|
||||
var names_to_remove : Array = find_all_special_children_names(choosen_node)
|
||||
for name_to_remove in names_to_remove:
|
||||
var node : Node = ClassDB.instance(collected_nodes[randi() % collected_nodes.size()])
|
||||
node.set_name(name_to_remove)
|
||||
add_child(node)
|
||||
choosen_node.queue_free()
|
||||
continue
|
||||
|
||||
|
||||
if choosen_node.find_node(random_node.get_name(),true,false) != null: # Cannot set as node parent one of its child
|
||||
@ -240,7 +78,7 @@ func _process(delta: float) -> void:
|
||||
continue
|
||||
random_node.add_child(choosen_node)
|
||||
|
||||
|
||||
# Finds recusivelly all child nodes which are not internal
|
||||
func find_all_special_children_names(node : Node) -> Array:
|
||||
var array : Array = []
|
||||
array.append(node.get_name())
|
||||
|
33
Start.gd
33
Start.gd
@ -4,28 +4,29 @@ var current_scene : int = -1
|
||||
var time_to_switch : int
|
||||
const NUMBER_OF_INSTANCES : int = 1 # Use more than 1 to stress test, 1 should be optimal for casual CI
|
||||
|
||||
var array_with_time_to_change : Array = []
|
||||
|
||||
func _ready():
|
||||
time_to_switch = Autoload.time_for_each_step
|
||||
for i in Autoload.alone_steps.size() + 1:
|
||||
array_with_time_to_change.append(OS.get_ticks_msec() + i * Autoload.time_for_each_step)
|
||||
|
||||
print("Starting with scene(s):")
|
||||
for path in Autoload.all_in_one:
|
||||
var scene : Node = load(path).instance()
|
||||
add_child(scene)
|
||||
for _i in range(NUMBER_OF_INSTANCES):
|
||||
var scene : Node = load(path).instance()
|
||||
add_child(scene)
|
||||
print(" - " + path)
|
||||
|
||||
|
||||
func _process(_delta):
|
||||
if time_to_switch - OS.get_ticks_msec() <= 0:
|
||||
time_to_switch = Autoload.time_for_each_step + OS.get_ticks_msec()
|
||||
if current_scene < Autoload.alone_steps.size() - 1 && OS.get_ticks_msec() > array_with_time_to_change[current_scene + 1]:
|
||||
current_scene += 1
|
||||
|
||||
for child in get_children():
|
||||
child.queue_free()
|
||||
|
||||
if current_scene < Autoload.alone_steps.size() - 1:
|
||||
current_scene += 1
|
||||
|
||||
for child in get_children():
|
||||
child.queue_free()
|
||||
|
||||
print("Changed scene to " + Autoload.alone_steps[current_scene])
|
||||
|
||||
for _i in range(NUMBER_OF_INSTANCES):
|
||||
var scene : Node = load(Autoload.alone_steps[current_scene]).instance()
|
||||
add_child(scene)
|
||||
print("Changed scene to " + Autoload.alone_steps[current_scene])
|
||||
|
||||
for _i in range(NUMBER_OF_INSTANCES):
|
||||
var scene : Node = load(Autoload.alone_steps[current_scene]).instance()
|
||||
add_child(scene)
|
||||
|
@ -1,6 +1,6 @@
|
||||
extends Label
|
||||
|
||||
const TIME : float = 0.3
|
||||
const TIME : float = 0.1
|
||||
var time_to_stop : float = TIME
|
||||
var current_type : int = 0
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
extends RichTextLabel
|
||||
|
||||
const TIME : float = 0.3
|
||||
const TIME : float = 0.1
|
||||
var time_to_stop : float = TIME
|
||||
var current_type : int = 0
|
||||
|
||||
|
@ -26,12 +26,18 @@ config/icon="res://icon.png"
|
||||
[autoload]
|
||||
|
||||
Autoload="*res://Autoload/Autoload.gd"
|
||||
ValueCreator="*res://AutomaticBugs/ValueCreator.gd"
|
||||
BasicData="*res://AutomaticBugs/BasicData.gd"
|
||||
|
||||
[debug]
|
||||
|
||||
gdscript/warnings/enable=false
|
||||
gdscript/warnings/standalone_expression=false
|
||||
|
||||
[logging]
|
||||
|
||||
file_logging/enable_file_logging.pc=false
|
||||
|
||||
[memory]
|
||||
|
||||
limits/message_queue/max_size_kb=131072
|
||||
|
Loading…
Reference in New Issue
Block a user