small racing game im working on
tweak things + add loop track
| -rw-r--r-- | assets/cars/kenney_sedan/sedan.tscn | 14 | ||||
| -rw-r--r-- | tracks.cfg | 955 | ||||
| -rw-r--r-- | ui/editor/export.gd | 2 | ||||
| -rw-r--r-- | ui/editor/track_select.gd | 2 | ||||
| -rw-r--r-- | ui/track_button.gd | 9 | ||||
| -rw-r--r-- | ui/tracks.gd | 1 |
6 files changed, 967 insertions, 16 deletions
diff --git a/assets/cars/kenney_sedan/sedan.tscn b/assets/cars/kenney_sedan/sedan.tscn index b897942..db56f8f 100644 --- a/assets/cars/kenney_sedan/sedan.tscn +++ b/assets/cars/kenney_sedan/sedan.tscn @@ -323,12 +323,12 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_8qmjc") -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_uyq1o"] -radius = 0.845291 -height = 5.12084 +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_bmf3l"] +radius = 0.797748 +height = 3.2258 [sub_resource type="BoxShape3D" id="BoxShape3D_mkjgy"] -size = Vector3(2.353, 3.44463, 1) +size = Vector3(3.5539, 4.38351, 1.91819) [node name="Sedan" type="VehicleBody3D"] collision_layer = 2 @@ -444,11 +444,11 @@ stream = ExtResource("19_stkh0") volume_db = -10.0 [node name="coll1" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 1.25229, 0) -shape = SubResource("CapsuleShape3D_uyq1o") +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 1.17949, -1.89264) +shape = SubResource("CapsuleShape3D_bmf3l") [node name="coll2" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 2.01516, 0.558206) +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 1.59047, 0.423482) shape = SubResource("BoxShape3D_mkjgy") [connection signal="shifted" from="." to="Gearbox" method="_on_sedan_shifted"] @@ -191,4 +191,957 @@ "o": Vector3(0, 1, 0), "x": -45, "y": 0 -}] +}, { +"b": Array[Dictionary]([{ +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 140, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 140, 250, 0), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 140, 250, -20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 250, 0), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 250, -20), +"w": 1 +}, { +"b": 8, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 0), +"w": 0 +}, { +"b": 10, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 0), +"w": 8 +}, { +"b": 9, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 0), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 10), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 20), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 20), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 20), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 30), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 30), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 30), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 40), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 40), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 40), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 50), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 50), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 50), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 160, 250, 60), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 170, 250, 60), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180, 250, 60), +"w": 8 +}, { +"b": 1, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 150, 250, 10), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 170, 250, 70), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 70), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 180, 250, 70), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 170, 250, 80), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 80), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 180, 250, 80), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 170, 250, 90), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 90), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 180, 250, 90), +"w": 1 +}, { +"b": 8, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 100), +"w": 0 +}, { +"b": 10, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 120), +"w": 8 +}, { +"b": 9, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 160, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 150, 250, 100), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 150, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 150, 250, 120), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 140, 250, 100), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 140, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 140, 250, 120), +"w": 8 +}, { +"b": 1, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 150, 250, 90), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 50, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 70, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 110, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 130, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, 120), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 250, 100), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -20, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -20, 250, 100), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -20, 250, 120), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -30, 250, 110), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -30, 250, 100), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -30, 250, 120), +"w": 1 +}, { +"b": 8, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -40, 250, 100), +"w": 0 +}, { +"b": 10, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -60, 250, 100), +"w": 8 +}, { +"b": 9, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -50, 250, 100), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -40, 250, 90), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -50, 250, 90), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -60, 250, 90), +"w": 8 +}, { +"b": 1, +"m": 1, +"t": Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, -30, 250, 90), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -50, 250, 20), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -40, 250, 20), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -60, 250, 20), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -50, 250, 10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -40, 250, 10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -60, 250, 10), +"w": 1 +}, { +"b": 8, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -40, 250, 0), +"w": 0 +}, { +"b": 10, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -40, 250, -20), +"w": 8 +}, { +"b": 9, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -40, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -30, 250, 0), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -30, 250, -10), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -30, 250, -20), +"w": 8 +}, { +"b": 1, +"m": 1, +"t": Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, -30, 250, 10), +"w": 1 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 250, 30), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 30), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 30), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 250, 40), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 40), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 40), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 250, 50), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 50), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 50), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 250, 60), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 60), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 60), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, 250, 70), +"w": 4 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 70), +"w": 0 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 70), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -60, 250, 80), +"w": 2 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40, 250, 80), +"w": 8 +}, { +"b": 7, +"m": 1, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 250, 80), +"w": 0 +}, { +"b": 12, +"m": 8, +"t": Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -50, 255, 60), +"w": 0 +}, { +"b": 12, +"m": 8, +"t": Transform3D(-8.74228e-08, 0, -2, 0, 2, 0, 2, 0, -8.74228e-08, 60, 245, 110), +"w": 0 +}, { +"b": 13, +"m": 16, +"t": Transform3D(-8.74228e-08, 0, -2, 0, 2, 0, 2, 0, -8.74228e-08, 60, 247.5, -10), +"w": 0 +}, { +"b": 14, +"m": 32, +"t": Transform3D(-2, 0, 3.01992e-07, 0, 2, 0, -3.01992e-07, 0, -2, 170, 255, 60), +"w": 0 +}, { +"b": 15, +"m": 0, +"t": Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.4331, 250.446, -20.655), +"w": 0 +}]), +"h": 300.0, +"l": 3, +"n": "loop", +"o": Vector3(0, 1, 0), +"x": -90, +"y": 0 +}]
\ No newline at end of file diff --git a/ui/editor/export.gd b/ui/editor/export.gd index d62aaaa..371fbfa 100644 --- a/ui/editor/export.gd +++ b/ui/editor/export.gd @@ -4,7 +4,7 @@ class_name EditorMarshalling @onready var editor: TrackEditor = owner func _pressed() -> void: - var enc := EditorMarshalling.td2s(editor.to_trackdata()) + var enc := EditorMarshalling.td2s(editor.get_trackdata()) print_rich("exporting to `[code]%s[/code]`" % enc) # for funny clipboard shenanigans DisplayServer.clipboard_set(enc) diff --git a/ui/editor/track_select.gd b/ui/editor/track_select.gd index e7ed050..6582ef3 100644 --- a/ui/editor/track_select.gd +++ b/ui/editor/track_select.gd @@ -18,7 +18,7 @@ func _ready() -> void: func _on_mkbutton(b: TrackButton, t: TrackResource) -> void: @warning_ignore("static_called_on_instance") - b.include.connect(func(): other.add(t); BuiltinTrackSelect.delete(t); b.queue_free()) + b.include.connect(func(): other.add(t); TrackSelect.delete(t); b.queue_free()) func _on_new_pressed() -> void: var res := TrackResource.new([]) diff --git a/ui/track_button.gd b/ui/track_button.gd index 97aca44..59ac21b 100644 --- a/ui/track_button.gd +++ b/ui/track_button.gd @@ -13,14 +13,11 @@ const trackloader_scn = preload("res://scenes/track.tscn") var editable := false # can edit var dev := false # can edit main tracks and can move tracks into main -var builtin := false # added to tracks.cfg -func _ready() -> void: +func init(t: TrackResource, g: GhostData) -> void: %edit.visible = editable || dev %delete.visible = editable || dev - %include.visible = dev && !builtin - -func init(t: TrackResource, g: GhostData) -> void: + %include.visible = dev && !t.builtin %name.text = t.name t.name_changed.connect(func(n: String): %name.text = n) if g == null: @@ -28,11 +25,11 @@ func init(t: TrackResource, g: GhostData) -> void: %time.text = "no time set" else: %time.text = GameTimer.format_precise(g.time) - builtin = t.builtin var tex := Thumbnail._load(Globals.THUMBS % t.name, Thumbnail.hash_b(t.bytes()), false) if tex == null: tex = await mkthumb(t) %thumb.texture = ImageTexture.create_from_image(tex) + # update thumb on save t.saved.connect(func(): %thumb.texture = ImageTexture.create_from_image(await mkthumb(t))) diff --git a/ui/tracks.gd b/ui/tracks.gd index e1e139c..38093e2 100644 --- a/ui/tracks.gd +++ b/ui/tracks.gd @@ -14,6 +14,7 @@ func _load(): Globals.builtin_tracks.append(loaded) func add(t: TrackResource): + t.builtin = true mkbutton(t) Globals.builtin_tracks.append(t) BuiltinTrackSelect.store_all() |