Selaa lähdekoodia

[godot] Fix up v4 examples.

Mario Zechner 2 vuotta sitten
vanhempi
commit
4ea0205a27

+ 1 - 1
spine-godot/example-v4/assets/mix-and-match/mix-and-match.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/mix-and-match.png-c2d8e28d9f2efc380ff8b95a22d
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false

+ 1 - 1
spine-godot/example-v4/assets/raptor/light-sprite.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/light-sprite.png-346e910021b52658f1de723e4c80
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false

+ 1 - 1
spine-godot/example-v4/assets/raptor/n_raptor.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/n_raptor.png-d9af68b4a56af2b4319bb485e366dc90
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false

+ 1 - 1
spine-godot/example-v4/assets/raptor/raptor.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/raptor.png-505be50f63fd1d0fb9175a9efbb9776c.c
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false

+ 8 - 8
spine-godot/example-v4/assets/spineboy/spineboy-data-res.tres

@@ -1,20 +1,20 @@
-[gd_resource type="SpineSkeletonDataResource" load_steps=5 format=2]
+[gd_resource type="SpineSkeletonDataResource" load_steps=5 format=3 uid="uid://cb6rn6vonqbx0"]
 
 
-[ext_resource path="res://assets/spineboy/spineboy.atlas" type="SpineAtlasResource" id=1]
-[ext_resource path="res://assets/spineboy/spineboy-pro.spine-json" type="SpineSkeletonFileResource" id=2]
+[ext_resource type="SpineAtlasResource" uid="uid://dt2kctrit34y0" path="res://assets/spineboy/spineboy.atlas" id="1"]
+[ext_resource type="SpineSkeletonFileResource" uid="uid://bngulrxfavqyn" path="res://assets/spineboy/spineboy-pro.spine-json" id="2"]
 
 
-[sub_resource type="SpineAnimationMix" id=1]
+[sub_resource type="SpineAnimationMix" id="1"]
 from = "idle"
 from = "idle"
 to = "run"
 to = "run"
 mix = 0.2
 mix = 0.2
 
 
-[sub_resource type="SpineAnimationMix" id=2]
+[sub_resource type="SpineAnimationMix" id="2"]
 from = "run"
 from = "run"
 to = "idle"
 to = "idle"
 mix = 0.2
 mix = 0.2
 
 
 [resource]
 [resource]
-atlas_res = ExtResource( 1 )
-skeleton_file_res = ExtResource( 2 )
+atlas_res = ExtResource("1")
+skeleton_file_res = ExtResource("2")
 default_mix = 0.1
 default_mix = 0.1
-animation_mixes = [ SubResource( 1 ), SubResource( 2 ) ]
+animation_mixes = [SubResource("1"), SubResource("2")]

+ 1 - 1
spine-godot/example-v4/assets/spineboy/spineboy.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/spineboy.png-436dbd6da2b707b6828ede17b7871f43
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false

+ 4 - 3
spine-godot/example-v4/examples/01-helloworld/helloworld.tscn

@@ -1,18 +1,19 @@
 [gd_scene load_steps=3 format=3 uid="uid://d0v5rhv2ysej8"]
 [gd_scene load_steps=3 format=3 uid="uid://d0v5rhv2ysej8"]
 
 
 [ext_resource type="Script" path="res://examples/01-helloworld/spineboy-helloworld.gd" id="1"]
 [ext_resource type="Script" path="res://examples/01-helloworld/spineboy-helloworld.gd" id="1"]
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="3"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="3"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(505, 466)
 position = Vector2(505, 466)
 scale = Vector2(0.466832, 0.466832)
 scale = Vector2(0.466832, 0.466832)
-skeleton_data_res = ExtResource( "3" )
+skeleton_data_res = ExtResource("3")
 bones_color = Color(0.968627, 1, 0, 0.501961)
 bones_color = Color(0.968627, 1, 0, 0.501961)
 paths_color = Color(1, 0.498039, 0, 0.466667)
 paths_color = Color(1, 0.498039, 0, 0.466667)
 paths_clipping = Color(0.8, 0, 0, 0.5)
 paths_clipping = Color(0.8, 0, 0, 0.5)
+preview_skin = "Default"
 preview_animation = "run"
 preview_animation = "run"
 preview_frame = true
 preview_frame = true
 preview_time = 0.24
 preview_time = 0.24
-script = ExtResource( "1" )
+script = ExtResource("1")

+ 5 - 4
spine-godot/example-v4/examples/02-animation-state-listeners/animation-state-listeners.tscn

@@ -1,19 +1,20 @@
 [gd_scene load_steps=4 format=3 uid="uid://c738i3nbdkn0h"]
 [gd_scene load_steps=4 format=3 uid="uid://c738i3nbdkn0h"]
 
 
 [ext_resource type="Script" path="res://examples/02-animation-state-listeners/animation-state-listeners.gd" id="1"]
 [ext_resource type="Script" path="res://examples/02-animation-state-listeners/animation-state-listeners.gd" id="1"]
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
 [ext_resource type="AudioStream" uid="uid://can7k84o8svum" path="res://assets/footstep.ogg" id="3"]
 [ext_resource type="AudioStream" uid="uid://can7k84o8svum" path="res://assets/footstep.ogg" id="3"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "1" )
+script = ExtResource("1")
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(473, 487)
 position = Vector2(473, 487)
 scale = Vector2(0.575051, 0.575051)
 scale = Vector2(0.575051, 0.575051)
-skeleton_data_res = ExtResource( "2" )
+skeleton_data_res = ExtResource("2")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
 
 
 [node name="FootstepAudio" type="AudioStreamPlayer" parent="."]
 [node name="FootstepAudio" type="AudioStreamPlayer" parent="."]
-stream = ExtResource( "3" )
+stream = ExtResource("3")

+ 3 - 2
spine-godot/example-v4/examples/03-mix-and-match/mix-and-match.tscn

@@ -8,8 +8,9 @@
 [node name="MixAndMatch" type="SpineSprite" parent="."]
 [node name="MixAndMatch" type="SpineSprite" parent="."]
 position = Vector2(532.982, 480.287)
 position = Vector2(532.982, 480.287)
 scale = Vector2(0.441932, 0.441932)
 scale = Vector2(0.441932, 0.441932)
-skeleton_data_res = ExtResource( "1" )
+skeleton_data_res = ExtResource("1")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
-script = ExtResource( "2" )
+script = ExtResource("2")

+ 4 - 3
spine-godot/example-v4/examples/04-simple-input/simple-input.tscn

@@ -1,6 +1,6 @@
 [gd_scene load_steps=3 format=3 uid="uid://bgdpghp11j3kg"]
 [gd_scene load_steps=3 format=3 uid="uid://bgdpghp11j3kg"]
 
 
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
 [ext_resource type="Script" path="res://examples/04-simple-input/spineboy-simple-input.gd" id="2"]
 [ext_resource type="Script" path="res://examples/04-simple-input/spineboy-simple-input.gd" id="2"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
@@ -8,8 +8,9 @@
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(501.503, 472.035)
 position = Vector2(501.503, 472.035)
 scale = Vector2(0.518624, 0.518624)
 scale = Vector2(0.518624, 0.518624)
-skeleton_data_res = ExtResource( "1" )
+skeleton_data_res = ExtResource("1")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
-script = ExtResource( "2" )
+script = ExtResource("2")

+ 4 - 3
spine-godot/example-v4/examples/05-mouse-following/mouse-following.tscn

@@ -1,15 +1,16 @@
 [gd_scene load_steps=3 format=3 uid="uid://borp2l17n5xw1"]
 [gd_scene load_steps=3 format=3 uid="uid://borp2l17n5xw1"]
 
 
 [ext_resource type="Script" path="res://examples/05-mouse-following/mouse-following.gd" id="1"]
 [ext_resource type="Script" path="res://examples/05-mouse-following/mouse-following.gd" id="1"]
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "1" )
+script = ExtResource("1")
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(481, 457)
 position = Vector2(481, 457)
 scale = Vector2(0.5, 0.5)
 scale = Vector2(0.5, 0.5)
-skeleton_data_res = ExtResource( "2" )
+skeleton_data_res = ExtResource("2")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0

+ 6 - 4
spine-godot/example-v4/examples/06-bone-following/bone-following.tscn

@@ -1,16 +1,17 @@
 [gd_scene load_steps=4 format=3 uid="uid://bir7yvf0qwdge"]
 [gd_scene load_steps=4 format=3 uid="uid://bir7yvf0qwdge"]
 
 
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
 [ext_resource type="Script" path="res://examples/06-bone-following/bone-following.gd" id="2"]
 [ext_resource type="Script" path="res://examples/06-bone-following/bone-following.gd" id="2"]
 [ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="3"]
 [ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="3"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "2" )
+script = ExtResource("2")
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(478, 483)
 position = Vector2(478, 483)
 scale = Vector2(0.58461, 0.58461)
 scale = Vector2(0.58461, 0.58461)
-skeleton_data_res = ExtResource( "1" )
+skeleton_data_res = ExtResource("1")
+preview_skin = "Default"
 preview_animation = ""
 preview_animation = ""
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -19,7 +20,8 @@ preview_time = 0.0
 show_behind_parent = true
 show_behind_parent = true
 position = Vector2(214.298, -162.047)
 position = Vector2(214.298, -162.047)
 rotation = 0.713316
 rotation = 0.713316
+scale = Vector2(1, 1)
 bone_name = "gun-tip"
 bone_name = "gun-tip"
 
 
 [node name="Sprite" type="Sprite2D" parent="Spineboy/GunTipBone"]
 [node name="Sprite" type="Sprite2D" parent="Spineboy/GunTipBone"]
-texture = ExtResource( "3" )
+texture = ExtResource("3")

+ 12 - 6
spine-godot/example-v4/examples/07-slot-node/slot-node.tscn

@@ -1,17 +1,18 @@
 [gd_scene load_steps=5 format=3 uid="uid://bhht8dees2pyq"]
 [gd_scene load_steps=5 format=3 uid="uid://bhht8dees2pyq"]
 
 
 [ext_resource type="Script" path="res://examples/07-slot-node/slot-node.gd" id="1"]
 [ext_resource type="Script" path="res://examples/07-slot-node/slot-node.gd" id="1"]
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
 [ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
 [ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
 [ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="4"]
 [ext_resource type="Texture2D" uid="uid://8ud5n2ywp5ba" path="res://icon.png" id="4"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "1" )
+script = ExtResource("1")
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(474, 506)
 position = Vector2(474, 506)
 scale = Vector2(0.560712, 0.560712)
 scale = Vector2(0.560712, 0.560712)
-skeleton_data_res = ExtResource( "2" )
+skeleton_data_res = ExtResource("2")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -20,12 +21,14 @@ preview_time = 0.0
 show_behind_parent = true
 show_behind_parent = true
 position = Vector2(40.8753, -276.036)
 position = Vector2(40.8753, -276.036)
 rotation = 0.837234
 rotation = 0.837234
+scale = Vector2(1, 1)
 slot_name = "gun"
 slot_name = "gun"
 
 
 [node name="Raptor" type="SpineSprite" parent="Spineboy/GunSlot"]
 [node name="Raptor" type="SpineSprite" parent="Spineboy/GunSlot"]
 position = Vector2(84.6909, -67.9174)
 position = Vector2(84.6909, -67.9174)
 scale = Vector2(0.193472, 0.193472)
 scale = Vector2(0.193472, 0.193472)
-skeleton_data_res = ExtResource( "3" )
+skeleton_data_res = ExtResource("3")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -34,23 +37,26 @@ preview_time = 0.0
 show_behind_parent = true
 show_behind_parent = true
 position = Vector2(-23.4598, -402.301)
 position = Vector2(-23.4598, -402.301)
 rotation = -1.71793
 rotation = -1.71793
+scale = Vector2(1, 1)
 slot_name = "eye"
 slot_name = "eye"
 
 
 [node name="Sprite" type="Sprite2D" parent="Spineboy/EyeSlot"]
 [node name="Sprite" type="Sprite2D" parent="Spineboy/EyeSlot"]
 position = Vector2(84.4734, 43.4469)
 position = Vector2(84.4734, 43.4469)
 rotation = 1.66344
 rotation = 1.66344
-texture = ExtResource( "4" )
+texture = ExtResource("4")
 
 
 [node name="FrontFistSlot" type="SpineSlotNode" parent="Spineboy"]
 [node name="FrontFistSlot" type="SpineSlotNode" parent="Spineboy"]
 show_behind_parent = true
 show_behind_parent = true
 position = Vector2(-29.0298, -241.577)
 position = Vector2(-29.0298, -241.577)
 rotation = 0.995187
 rotation = 0.995187
+scale = Vector2(1, 1)
 slot_name = "front-fist"
 slot_name = "front-fist"
 
 
 [node name="TinySpineboy" type="SpineSprite" parent="Spineboy/FrontFistSlot"]
 [node name="TinySpineboy" type="SpineSprite" parent="Spineboy/FrontFistSlot"]
 position = Vector2(-2.64624, -10.8111)
 position = Vector2(-2.64624, -10.8111)
 scale = Vector2(0.193389, 0.193389)
 scale = Vector2(0.193389, 0.193389)
-skeleton_data_res = ExtResource( "2" )
+skeleton_data_res = ExtResource("2")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0

+ 137 - 135
spine-godot/example-v4/examples/08-animation-player/animation-player.tscn

@@ -1,10 +1,10 @@
 [gd_scene load_steps=68 format=3 uid="uid://dmddd1ll1y0bm"]
 [gd_scene load_steps=68 format=3 uid="uid://dmddd1ll1y0bm"]
 
 
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
 [ext_resource type="Script" path="res://examples/08-animation-player/animation-player.gd" id="2"]
 [ext_resource type="Script" path="res://examples/08-animation-player/animation-player.gd" id="2"]
 [ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
 [ext_resource type="SpineSkeletonDataResource" path="res://assets/raptor/raptor-data.tres" id="3"]
 
 
-[sub_resource type="Animation" id="Animation_t6m4d"]
+[sub_resource type="Animation" id="Animation_u8r30"]
 resource_name = "aim_looped"
 resource_name = "aim_looped"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -32,7 +32,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_njcku"]
+[sub_resource type="Animation" id="Animation_pcd73"]
 resource_name = "aim"
 resource_name = "aim"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -60,7 +60,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_uj85l"]
+[sub_resource type="Animation" id="Animation_anfvj"]
 resource_name = "death_looped"
 resource_name = "death_looped"
 length = 4.9333
 length = 4.9333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -88,7 +88,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_irg42"]
+[sub_resource type="Animation" id="Animation_se2p7"]
 resource_name = "death"
 resource_name = "death"
 length = 4.9333
 length = 4.9333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -116,7 +116,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_u0h4m"]
+[sub_resource type="Animation" id="Animation_g26yh"]
 resource_name = "hoverboard_looped"
 resource_name = "hoverboard_looped"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -143,7 +143,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_ksgd8"]
+[sub_resource type="Animation" id="Animation_dx8qa"]
 resource_name = "hoverboard"
 resource_name = "hoverboard"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -170,7 +170,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_onrph"]
+[sub_resource type="Animation" id="Animation_vy3tq"]
 resource_name = "idle_looped"
 resource_name = "idle_looped"
 length = 1.6667
 length = 1.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -198,7 +198,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_uq46m"]
+[sub_resource type="Animation" id="Animation_urltx"]
 resource_name = "idle"
 resource_name = "idle"
 length = 1.6667
 length = 1.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -226,7 +226,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_vm3do"]
+[sub_resource type="Animation" id="Animation_7xfju"]
 resource_name = "idle-turn_looped"
 resource_name = "idle-turn_looped"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -254,7 +254,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_tlrtt"]
+[sub_resource type="Animation" id="Animation_bdf5o"]
 resource_name = "idle-turn"
 resource_name = "idle-turn"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -282,7 +282,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_8gf4p"]
+[sub_resource type="Animation" id="Animation_2orbb"]
 resource_name = "jump_looped"
 resource_name = "jump_looped"
 length = 1.3333
 length = 1.3333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -310,7 +310,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_e3mt7"]
+[sub_resource type="Animation" id="Animation_3iuuy"]
 resource_name = "jump"
 resource_name = "jump"
 length = 1.3333
 length = 1.3333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -338,7 +338,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_q7d0d"]
+[sub_resource type="Animation" id="Animation_imcsw"]
 resource_name = "portal_looped"
 resource_name = "portal_looped"
 length = 3.1667
 length = 3.1667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -366,7 +366,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_hu1qx"]
+[sub_resource type="Animation" id="Animation_k3ycw"]
 resource_name = "portal"
 resource_name = "portal"
 length = 3.1667
 length = 3.1667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -394,7 +394,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_4qvwn"]
+[sub_resource type="Animation" id="Animation_uxgvr"]
 resource_name = "run_looped"
 resource_name = "run_looped"
 length = 0.6667
 length = 0.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -422,7 +422,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_rcbj7"]
+[sub_resource type="Animation" id="Animation_4rtac"]
 resource_name = "run"
 resource_name = "run"
 length = 0.6667
 length = 0.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -450,7 +450,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_xaopv"]
+[sub_resource type="Animation" id="Animation_jonld"]
 resource_name = "run-to-idle_looped"
 resource_name = "run-to-idle_looped"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -478,7 +478,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_hhaj8"]
+[sub_resource type="Animation" id="Animation_pc8cu"]
 resource_name = "run-to-idle"
 resource_name = "run-to-idle"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -506,7 +506,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_2epiy"]
+[sub_resource type="Animation" id="Animation_je08p"]
 resource_name = "shoot_looped"
 resource_name = "shoot_looped"
 length = 0.6333
 length = 0.6333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -534,7 +534,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_xvf75"]
+[sub_resource type="Animation" id="Animation_o7hy8"]
 resource_name = "shoot"
 resource_name = "shoot"
 length = 0.6333
 length = 0.6333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -562,7 +562,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_ailgk"]
+[sub_resource type="Animation" id="Animation_rfed2"]
 resource_name = "walk_looped"
 resource_name = "walk_looped"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -589,7 +589,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_1ifml"]
+[sub_resource type="Animation" id="Animation_6jfr5"]
 resource_name = "walk"
 resource_name = "walk"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -616,7 +616,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_13jvi"]
+[sub_resource type="Animation" id="Animation_871iw"]
 resource_name = "RESET"
 resource_name = "RESET"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -644,35 +644,35 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="AnimationLibrary" id="AnimationLibrary_3juul"]
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_v5cr7"]
 _data = {
 _data = {
-"-- Empty --": SubResource( "Animation_13jvi" ),
-"RESET": SubResource( "Animation_13jvi" ),
-"aim": SubResource( "Animation_njcku" ),
-"aim_looped": SubResource( "Animation_t6m4d" ),
-"death": SubResource( "Animation_irg42" ),
-"death_looped": SubResource( "Animation_uj85l" ),
-"hoverboard": SubResource( "Animation_ksgd8" ),
-"hoverboard_looped": SubResource( "Animation_u0h4m" ),
-"idle": SubResource( "Animation_uq46m" ),
-"idle-turn": SubResource( "Animation_tlrtt" ),
-"idle-turn_looped": SubResource( "Animation_vm3do" ),
-"idle_looped": SubResource( "Animation_onrph" ),
-"jump": SubResource( "Animation_e3mt7" ),
-"jump_looped": SubResource( "Animation_8gf4p" ),
-"portal": SubResource( "Animation_hu1qx" ),
-"portal_looped": SubResource( "Animation_q7d0d" ),
-"run": SubResource( "Animation_rcbj7" ),
-"run-to-idle": SubResource( "Animation_hhaj8" ),
-"run-to-idle_looped": SubResource( "Animation_xaopv" ),
-"run_looped": SubResource( "Animation_4qvwn" ),
-"shoot": SubResource( "Animation_xvf75" ),
-"shoot_looped": SubResource( "Animation_2epiy" ),
-"walk": SubResource( "Animation_1ifml" ),
-"walk_looped": SubResource( "Animation_ailgk" )
-}
-
-[sub_resource type="Animation" id="Animation_43jug"]
+"-- Empty --": SubResource("Animation_871iw"),
+"RESET": SubResource("Animation_871iw"),
+"aim": SubResource("Animation_pcd73"),
+"aim_looped": SubResource("Animation_u8r30"),
+"death": SubResource("Animation_se2p7"),
+"death_looped": SubResource("Animation_anfvj"),
+"hoverboard": SubResource("Animation_dx8qa"),
+"hoverboard_looped": SubResource("Animation_g26yh"),
+"idle": SubResource("Animation_urltx"),
+"idle-turn": SubResource("Animation_bdf5o"),
+"idle-turn_looped": SubResource("Animation_7xfju"),
+"idle_looped": SubResource("Animation_vy3tq"),
+"jump": SubResource("Animation_3iuuy"),
+"jump_looped": SubResource("Animation_2orbb"),
+"portal": SubResource("Animation_k3ycw"),
+"portal_looped": SubResource("Animation_imcsw"),
+"run": SubResource("Animation_4rtac"),
+"run-to-idle": SubResource("Animation_pc8cu"),
+"run-to-idle_looped": SubResource("Animation_jonld"),
+"run_looped": SubResource("Animation_uxgvr"),
+"shoot": SubResource("Animation_o7hy8"),
+"shoot_looped": SubResource("Animation_je08p"),
+"walk": SubResource("Animation_6jfr5"),
+"walk_looped": SubResource("Animation_rfed2")
+}
+
+[sub_resource type="Animation" id="Animation_bqfyv"]
 resource_name = "aim_looped"
 resource_name = "aim_looped"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -700,7 +700,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_npdlv"]
+[sub_resource type="Animation" id="Animation_wa8y8"]
 resource_name = "aim"
 resource_name = "aim"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -728,7 +728,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_v5dry"]
+[sub_resource type="Animation" id="Animation_lqflw"]
 resource_name = "death_looped"
 resource_name = "death_looped"
 length = 4.9333
 length = 4.9333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -756,7 +756,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_wthcu"]
+[sub_resource type="Animation" id="Animation_mybt4"]
 resource_name = "death"
 resource_name = "death"
 length = 4.9333
 length = 4.9333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -784,7 +784,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_0t4px"]
+[sub_resource type="Animation" id="Animation_lgcur"]
 resource_name = "hoverboard_looped"
 resource_name = "hoverboard_looped"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -811,7 +811,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_cflga"]
+[sub_resource type="Animation" id="Animation_qg507"]
 resource_name = "hoverboard"
 resource_name = "hoverboard"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -838,7 +838,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_4l5af"]
+[sub_resource type="Animation" id="Animation_gro4g"]
 resource_name = "idle_looped"
 resource_name = "idle_looped"
 length = 1.6667
 length = 1.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -866,7 +866,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_3kd2q"]
+[sub_resource type="Animation" id="Animation_r4l52"]
 resource_name = "idle"
 resource_name = "idle"
 length = 1.6667
 length = 1.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -894,7 +894,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_pcovu"]
+[sub_resource type="Animation" id="Animation_dxou3"]
 resource_name = "idle-turn_looped"
 resource_name = "idle-turn_looped"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -922,7 +922,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_ji8c3"]
+[sub_resource type="Animation" id="Animation_mtm0j"]
 resource_name = "idle-turn"
 resource_name = "idle-turn"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -950,7 +950,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_hxqi7"]
+[sub_resource type="Animation" id="Animation_57vbo"]
 resource_name = "jump_looped"
 resource_name = "jump_looped"
 length = 1.3333
 length = 1.3333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -978,7 +978,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_h822y"]
+[sub_resource type="Animation" id="Animation_jaxeo"]
 resource_name = "jump"
 resource_name = "jump"
 length = 1.3333
 length = 1.3333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1006,7 +1006,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_8f1h5"]
+[sub_resource type="Animation" id="Animation_p8eks"]
 resource_name = "portal_looped"
 resource_name = "portal_looped"
 length = 3.1667
 length = 3.1667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1034,7 +1034,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_i0wgj"]
+[sub_resource type="Animation" id="Animation_gn2h2"]
 resource_name = "portal"
 resource_name = "portal"
 length = 3.1667
 length = 3.1667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1062,7 +1062,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_0q41s"]
+[sub_resource type="Animation" id="Animation_qyc51"]
 resource_name = "run_looped"
 resource_name = "run_looped"
 length = 0.6667
 length = 0.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1090,7 +1090,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_og3lw"]
+[sub_resource type="Animation" id="Animation_wimlj"]
 resource_name = "run"
 resource_name = "run"
 length = 0.6667
 length = 0.6667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1118,7 +1118,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_q7ndl"]
+[sub_resource type="Animation" id="Animation_xpssf"]
 resource_name = "run-to-idle_looped"
 resource_name = "run-to-idle_looped"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1146,7 +1146,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_nxlcc"]
+[sub_resource type="Animation" id="Animation_cv1an"]
 resource_name = "run-to-idle"
 resource_name = "run-to-idle"
 length = 0.2667
 length = 0.2667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1174,7 +1174,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_riqly"]
+[sub_resource type="Animation" id="Animation_y0ah7"]
 resource_name = "shoot_looped"
 resource_name = "shoot_looped"
 length = 0.6333
 length = 0.6333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1202,7 +1202,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_e7tup"]
+[sub_resource type="Animation" id="Animation_6lofo"]
 resource_name = "shoot"
 resource_name = "shoot"
 length = 0.6333
 length = 0.6333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1230,7 +1230,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_5q6ru"]
+[sub_resource type="Animation" id="Animation_gpmbs"]
 resource_name = "walk_looped"
 resource_name = "walk_looped"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -1257,7 +1257,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_rbpim"]
+[sub_resource type="Animation" id="Animation_8kta1"]
 resource_name = "walk"
 resource_name = "walk"
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/imported = false
 tracks/0/imported = false
@@ -1284,7 +1284,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_n4owa"]
+[sub_resource type="Animation" id="Animation_arooe"]
 resource_name = "RESET"
 resource_name = "RESET"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1312,35 +1312,35 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="AnimationLibrary" id="AnimationLibrary_weodw"]
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_fa8i5"]
 _data = {
 _data = {
-"-- Empty --": SubResource( "Animation_n4owa" ),
-"RESET": SubResource( "Animation_n4owa" ),
-"aim": SubResource( "Animation_npdlv" ),
-"aim_looped": SubResource( "Animation_43jug" ),
-"death": SubResource( "Animation_wthcu" ),
-"death_looped": SubResource( "Animation_v5dry" ),
-"hoverboard": SubResource( "Animation_cflga" ),
-"hoverboard_looped": SubResource( "Animation_0t4px" ),
-"idle": SubResource( "Animation_3kd2q" ),
-"idle-turn": SubResource( "Animation_ji8c3" ),
-"idle-turn_looped": SubResource( "Animation_pcovu" ),
-"idle_looped": SubResource( "Animation_4l5af" ),
-"jump": SubResource( "Animation_h822y" ),
-"jump_looped": SubResource( "Animation_hxqi7" ),
-"portal": SubResource( "Animation_i0wgj" ),
-"portal_looped": SubResource( "Animation_8f1h5" ),
-"run": SubResource( "Animation_og3lw" ),
-"run-to-idle": SubResource( "Animation_nxlcc" ),
-"run-to-idle_looped": SubResource( "Animation_q7ndl" ),
-"run_looped": SubResource( "Animation_0q41s" ),
-"shoot": SubResource( "Animation_e7tup" ),
-"shoot_looped": SubResource( "Animation_riqly" ),
-"walk": SubResource( "Animation_rbpim" ),
-"walk_looped": SubResource( "Animation_5q6ru" )
-}
-
-[sub_resource type="Animation" id="Animation_g0fba"]
+"-- Empty --": SubResource("Animation_arooe"),
+"RESET": SubResource("Animation_arooe"),
+"aim": SubResource("Animation_wa8y8"),
+"aim_looped": SubResource("Animation_bqfyv"),
+"death": SubResource("Animation_mybt4"),
+"death_looped": SubResource("Animation_lqflw"),
+"hoverboard": SubResource("Animation_qg507"),
+"hoverboard_looped": SubResource("Animation_lgcur"),
+"idle": SubResource("Animation_r4l52"),
+"idle-turn": SubResource("Animation_mtm0j"),
+"idle-turn_looped": SubResource("Animation_dxou3"),
+"idle_looped": SubResource("Animation_gro4g"),
+"jump": SubResource("Animation_jaxeo"),
+"jump_looped": SubResource("Animation_57vbo"),
+"portal": SubResource("Animation_gn2h2"),
+"portal_looped": SubResource("Animation_p8eks"),
+"run": SubResource("Animation_wimlj"),
+"run-to-idle": SubResource("Animation_cv1an"),
+"run-to-idle_looped": SubResource("Animation_xpssf"),
+"run_looped": SubResource("Animation_qyc51"),
+"shoot": SubResource("Animation_6lofo"),
+"shoot_looped": SubResource("Animation_y0ah7"),
+"walk": SubResource("Animation_8kta1"),
+"walk_looped": SubResource("Animation_gpmbs")
+}
+
+[sub_resource type="Animation" id="Animation_hsvha"]
 resource_name = "gun-grab_looped"
 resource_name = "gun-grab_looped"
 length = 0.666667
 length = 0.666667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1368,7 +1368,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_tnmwm"]
+[sub_resource type="Animation" id="Animation_5dt73"]
 resource_name = "gun-grab"
 resource_name = "gun-grab"
 length = 0.666667
 length = 0.666667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1396,7 +1396,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_scefx"]
+[sub_resource type="Animation" id="Animation_hsxuq"]
 resource_name = "gun-holster_looped"
 resource_name = "gun-holster_looped"
 length = 0.666667
 length = 0.666667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1424,7 +1424,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_6lq4v"]
+[sub_resource type="Animation" id="Animation_5hjd5"]
 resource_name = "gun-holster"
 resource_name = "gun-holster"
 length = 0.666667
 length = 0.666667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1452,7 +1452,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_b7ns0"]
+[sub_resource type="Animation" id="Animation_304i6"]
 resource_name = "jump_looped"
 resource_name = "jump_looped"
 length = 1.53333
 length = 1.53333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1480,7 +1480,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_l4kgf"]
+[sub_resource type="Animation" id="Animation_rn17q"]
 resource_name = "jump"
 resource_name = "jump"
 length = 1.53333
 length = 1.53333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1508,7 +1508,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_jt8r5"]
+[sub_resource type="Animation" id="Animation_qxmqu"]
 resource_name = "roar_looped"
 resource_name = "roar_looped"
 length = 2.13333
 length = 2.13333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1536,7 +1536,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_wlr0r"]
+[sub_resource type="Animation" id="Animation_awgy1"]
 resource_name = "roar"
 resource_name = "roar"
 length = 2.13333
 length = 2.13333
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1564,7 +1564,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_0e04p"]
+[sub_resource type="Animation" id="Animation_d43gs"]
 resource_name = "walk_looped"
 resource_name = "walk_looped"
 length = 1.26667
 length = 1.26667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1592,7 +1592,7 @@ tracks/1/keys = {
 "values": [true]
 "values": [true]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_ysb1x"]
+[sub_resource type="Animation" id="Animation_g6qku"]
 resource_name = "walk"
 resource_name = "walk"
 length = 1.26667
 length = 1.26667
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1620,7 +1620,7 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="Animation" id="Animation_j5g3u"]
+[sub_resource type="Animation" id="Animation_73tbf"]
 resource_name = "RESET"
 resource_name = "RESET"
 length = 0.5
 length = 0.5
 tracks/0/type = "value"
 tracks/0/type = "value"
@@ -1648,20 +1648,20 @@ tracks/1/keys = {
 "values": [false]
 "values": [false]
 }
 }
 
 
-[sub_resource type="AnimationLibrary" id="AnimationLibrary_nir4m"]
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_to4p6"]
 _data = {
 _data = {
-"-- Empty --": SubResource( "Animation_j5g3u" ),
-"RESET": SubResource( "Animation_j5g3u" ),
-"gun-grab": SubResource( "Animation_tnmwm" ),
-"gun-grab_looped": SubResource( "Animation_g0fba" ),
-"gun-holster": SubResource( "Animation_6lq4v" ),
-"gun-holster_looped": SubResource( "Animation_scefx" ),
-"jump": SubResource( "Animation_l4kgf" ),
-"jump_looped": SubResource( "Animation_b7ns0" ),
-"roar": SubResource( "Animation_wlr0r" ),
-"roar_looped": SubResource( "Animation_jt8r5" ),
-"walk": SubResource( "Animation_ysb1x" ),
-"walk_looped": SubResource( "Animation_0e04p" )
+"-- Empty --": SubResource("Animation_73tbf"),
+"RESET": SubResource("Animation_73tbf"),
+"gun-grab": SubResource("Animation_5dt73"),
+"gun-grab_looped": SubResource("Animation_hsvha"),
+"gun-holster": SubResource("Animation_5hjd5"),
+"gun-holster_looped": SubResource("Animation_hsxuq"),
+"jump": SubResource("Animation_rn17q"),
+"jump_looped": SubResource("Animation_304i6"),
+"roar": SubResource("Animation_awgy1"),
+"roar_looped": SubResource("Animation_qxmqu"),
+"walk": SubResource("Animation_g6qku"),
+"walk_looped": SubResource("Animation_d43gs")
 }
 }
 
 
 [sub_resource type="Animation" id="25"]
 [sub_resource type="Animation" id="25"]
@@ -1885,18 +1885,19 @@ tracks/3/keys = {
 
 
 [sub_resource type="AnimationLibrary" id="AnimationLibrary_3lgey"]
 [sub_resource type="AnimationLibrary" id="AnimationLibrary_3lgey"]
 _data = {
 _data = {
-"RESET": SubResource( "25" ),
-"cutscene": SubResource( "1" ),
-"slow-moonwalk": SubResource( "83" )
+"RESET": SubResource("25"),
+"cutscene": SubResource("1"),
+"slow-moonwalk": SubResource("83")
 }
 }
 
 
 [node name="Node2D2" type="Node2D"]
 [node name="Node2D2" type="Node2D"]
-script = ExtResource( "2" )
+script = ExtResource("2")
 
 
 [node name="Spineboy" type="SpineSprite" parent="."]
 [node name="Spineboy" type="SpineSprite" parent="."]
 position = Vector2(72.0001, 520)
 position = Vector2(72.0001, 520)
 scale = Vector2(0.323942, 0.323942)
 scale = Vector2(0.323942, 0.323942)
-skeleton_data_res = ExtResource( "1" )
+skeleton_data_res = ExtResource("1")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -1907,7 +1908,7 @@ debug = true
 
 
 [node name="Spineboy Track 0" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack"]
 [node name="Spineboy Track 0" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack"]
 libraries = {
 libraries = {
-"": SubResource( "AnimationLibrary_3juul" )
+"": SubResource("AnimationLibrary_v5cr7")
 }
 }
 
 
 [node name="SpineAnimationTrack2" type="SpineAnimationTrack" parent="Spineboy"]
 [node name="SpineAnimationTrack2" type="SpineAnimationTrack" parent="Spineboy"]
@@ -1917,13 +1918,14 @@ debug = true
 
 
 [node name="Spineboy Track 1" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack2"]
 [node name="Spineboy Track 1" type="AnimationPlayer" parent="Spineboy/SpineAnimationTrack2"]
 libraries = {
 libraries = {
-"": SubResource( "AnimationLibrary_weodw" )
+"": SubResource("AnimationLibrary_fa8i5")
 }
 }
 
 
 [node name="Raptor" type="SpineSprite" parent="."]
 [node name="Raptor" type="SpineSprite" parent="."]
 position = Vector2(1284, 520)
 position = Vector2(1284, 520)
 scale = Vector2(-0.328761, 0.328761)
 scale = Vector2(-0.328761, 0.328761)
-skeleton_data_res = ExtResource( "3" )
+skeleton_data_res = ExtResource("3")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -1933,10 +1935,10 @@ track_index = 0
 
 
 [node name="Raptor Track 0" type="AnimationPlayer" parent="Raptor/SpineAnimationTrack"]
 [node name="Raptor Track 0" type="AnimationPlayer" parent="Raptor/SpineAnimationTrack"]
 libraries = {
 libraries = {
-"": SubResource( "AnimationLibrary_nir4m" )
+"": SubResource("AnimationLibrary_to4p6")
 }
 }
 
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
 libraries = {
 libraries = {
-"": SubResource( "AnimationLibrary_3lgey" )
+"": SubResource("AnimationLibrary_3lgey")
 }
 }

+ 8 - 6
spine-godot/example-v4/examples/09-custom-material/custom-material.tscn

@@ -1,6 +1,6 @@
 [gd_scene load_steps=6 format=3 uid="uid://b4p2vn7bwm52a"]
 [gd_scene load_steps=6 format=3 uid="uid://b4p2vn7bwm52a"]
 
 
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="1"]
 
 
 [sub_resource type="Shader" id="1"]
 [sub_resource type="Shader" id="1"]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
@@ -11,7 +11,7 @@ void fragment() {
 }"
 }"
 
 
 [sub_resource type="ShaderMaterial" id="2"]
 [sub_resource type="ShaderMaterial" id="2"]
-shader = SubResource( "1" )
+shader = SubResource("1")
 
 
 [sub_resource type="Shader" id="3"]
 [sub_resource type="Shader" id="3"]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
@@ -22,15 +22,16 @@ void fragment() {
 }"
 }"
 
 
 [sub_resource type="ShaderMaterial" id="4"]
 [sub_resource type="ShaderMaterial" id="4"]
-shader = SubResource( "3" )
+shader = SubResource("3")
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
 
 
 [node name="SpineSprite" type="SpineSprite" parent="."]
 [node name="SpineSprite" type="SpineSprite" parent="."]
 position = Vector2(501, 507)
 position = Vector2(501, 507)
 scale = Vector2(0.546374, 0.546373)
 scale = Vector2(0.546374, 0.546373)
-skeleton_data_res = ExtResource( "1" )
-normal_material = SubResource( "2" )
+skeleton_data_res = ExtResource("1")
+normal_material = SubResource("2")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
@@ -39,5 +40,6 @@ preview_time = 0.0
 show_behind_parent = true
 show_behind_parent = true
 position = Vector2(40.8753, -276.036)
 position = Vector2(40.8753, -276.036)
 rotation = 0.837234
 rotation = 0.837234
+scale = Vector2(1, 1)
 slot_name = "gun"
 slot_name = "gun"
-normal_material = SubResource( "4" )
+normal_material = SubResource("4")

+ 7 - 5
spine-godot/example-v4/examples/10-2d-lighting/2d-lighting.tscn

@@ -5,21 +5,23 @@
 [ext_resource type="Script" path="res://examples/10-2d-lighting/2d-lighting.gd" id="3"]
 [ext_resource type="Script" path="res://examples/10-2d-lighting/2d-lighting.gd" id="3"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "3" )
+script = ExtResource("3")
 
 
 [node name="SpineSprite" type="SpineSprite" parent="."]
 [node name="SpineSprite" type="SpineSprite" parent="."]
 position = Vector2(576, 506)
 position = Vector2(576, 506)
 scale = Vector2(0.458967, 0.458967)
 scale = Vector2(0.458967, 0.458967)
-skeleton_data_res = ExtResource( "1" )
+skeleton_data_res = ExtResource("1")
+preview_skin = "Default"
 preview_animation = "-- Empty --"
 preview_animation = "-- Empty --"
 preview_frame = false
 preview_frame = false
 preview_time = 0.0
 preview_time = 0.0
 
 
 [node name="Light2D" type="PointLight2D" parent="."]
 [node name="Light2D" type="PointLight2D" parent="."]
-position = Vector2(822, 270)
+position = Vector2(691, 283)
 scale = Vector2(1.51563, 1.51563)
 scale = Vector2(1.51563, 1.51563)
 color = Color(1, 0.0117647, 0.0117647, 1)
 color = Color(1, 0.0117647, 0.0117647, 1)
-texture = ExtResource( "2" )
+texture = ExtResource("2")
+height = 100.0
 
 
 [node name="CanvasModulate" type="CanvasModulate" parent="."]
 [node name="CanvasModulate" type="CanvasModulate" parent="."]
-color = Color(0.145098, 0.0980392, 0.0980392, 1)
+color = Color(0.223529, 0.160784, 0.160784, 1)

+ 13 - 6
spine-godot/example-v4/examples/11-bone-node/bone-node.gd

@@ -2,18 +2,25 @@ extends Node2D
 
 
 @onready var spineboy = $SpineSprite
 @onready var spineboy = $SpineSprite
 @onready var center_bone = $SpineSprite/HoverboardCenterBone
 @onready var center_bone = $SpineSprite/HoverboardCenterBone
-@onready var center_ray = $SpineSprite/HoverboardCenterBone/RayCast2D
+@onready var center_ray = $SpineSprite/HoverboardCenterBone/CenterRay
 @onready var target_bone = $SpineSprite/HoverboardTargetBone
 @onready var target_bone = $SpineSprite/HoverboardTargetBone
-@onready var target_ray = $SpineSprite/HoverboardTargetBone/RayCast2D
+@onready var target_ray = $SpineSprite/HoverboardTargetBone/TargetRay
+@onready var hip_bone = $SpineSprite/HipBone
+var center_hip_distance = 0
 
 
 func _ready():
 func _ready():
 	spineboy.get_animation_state().set_animation("hoverboard", true, 0)
 	spineboy.get_animation_state().set_animation("hoverboard", true, 0)
+	spineboy.update_skeleton(0);
+	center_hip_distance = hip_bone.global_position.y - center_bone.global_position.y
 
 
 func _physics_process(delta):
 func _physics_process(delta):
 	if target_ray.is_colliding():
 	if target_ray.is_colliding():
-		target_bone.global_position.y = target_ray.get_collision_point().y - 50
-	if center_ray.is_colliding():
-		center_bone.global_position.y = center_ray.get_collision_point().y - 50
+		target_bone.global_position.y = target_ray.get_collision_point().y - 30
 
 
+	if center_ray.is_colliding():
+		center_bone.global_position.y = center_ray.get_collision_point().y - 30
+		
+	if abs(hip_bone.global_position.y - center_bone.global_position.y) - abs(center_hip_distance) < 20:
+		hip_bone.global_position.y = center_bone.global_position.y + center_hip_distance
+		
 	spineboy.global_position.x += delta * 150;
 	spineboy.global_position.x += delta * 150;
-	spineboy.global_position.y = center_bone.global_position.y

+ 14 - 8
spine-godot/example-v4/examples/11-bone-node/bone-node.tscn

@@ -1,39 +1,45 @@
 [gd_scene load_steps=3 format=3 uid="uid://chrw4i0nksphn"]
 [gd_scene load_steps=3 format=3 uid="uid://chrw4i0nksphn"]
 
 
 [ext_resource type="Script" path="res://examples/11-bone-node/bone-node.gd" id="1"]
 [ext_resource type="Script" path="res://examples/11-bone-node/bone-node.gd" id="1"]
-[ext_resource type="SpineSkeletonDataResource" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
+[ext_resource type="SpineSkeletonDataResource" uid="uid://cb6rn6vonqbx0" path="res://assets/spineboy/spineboy-data-res.tres" id="2"]
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
-script = ExtResource( "1" )
+script = ExtResource("1")
 
 
 [node name="SpineSprite" type="SpineSprite" parent="."]
 [node name="SpineSprite" type="SpineSprite" parent="."]
-position = Vector2(8, 553)
+position = Vector2(13, 569)
 scale = Vector2(0.278096, 0.278096)
 scale = Vector2(0.278096, 0.278096)
-skeleton_data_res = ExtResource( "2" )
+skeleton_data_res = ExtResource("2")
 update_mode = 1
 update_mode = 1
+preview_skin = "Default"
 preview_animation = "hoverboard"
 preview_animation = "hoverboard"
 preview_frame = true
 preview_frame = true
 preview_time = 0.0
 preview_time = 0.0
 
 
 [node name="HoverboardCenterBone" type="SpineBoneNode" parent="SpineSprite"]
 [node name="HoverboardCenterBone" type="SpineBoneNode" parent="SpineSprite"]
 show_behind_parent = true
 show_behind_parent = true
+position = Vector2(-10.1996, -68.2213)
+rotation = -0.00403465
 bone_name = "hoverboard-controller"
 bone_name = "hoverboard-controller"
 bone_mode = 1
 bone_mode = 1
 
 
-[node name="RayCast2D" type="RayCast2D" parent="SpineSprite/HoverboardCenterBone"]
+[node name="CenterRay" type="RayCast2D" parent="SpineSprite/HoverboardCenterBone"]
+target_position = Vector2(0, 10000)
 
 
 [node name="HoverboardTargetBone" type="SpineBoneNode" parent="SpineSprite"]
 [node name="HoverboardTargetBone" type="SpineBoneNode" parent="SpineSprite"]
 show_behind_parent = true
 show_behind_parent = true
-position = Vector2(262.499, 0)
+position = Vector2(258.903, -71.9176)
 rotation = -0.000872665
 rotation = -0.000872665
 bone_name = "board-ik"
 bone_name = "board-ik"
 bone_mode = 1
 bone_mode = 1
 
 
-[node name="RayCast2D" type="RayCast2D" parent="SpineSprite/HoverboardTargetBone"]
+[node name="TargetRay" type="RayCast2D" parent="SpineSprite/HoverboardTargetBone"]
+position = Vector2(-3.59872, 3.59277)
+target_position = Vector2(0, 10000)
 
 
 [node name="HipBone" type="SpineBoneNode" parent="SpineSprite"]
 [node name="HipBone" type="SpineBoneNode" parent="SpineSprite"]
 show_behind_parent = true
 show_behind_parent = true
-position = Vector2(0, -169.006)
+position = Vector2(-53.7338, -279.363)
 rotation = -0.000872665
 rotation = -0.000872665
 bone_name = "hip"
 bone_name = "hip"
 bone_mode = 1
 bone_mode = 1

+ 1 - 1
spine-godot/example-v4/icon.png.import

@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.cte
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
+compress/high_quality=false
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_compression=1
 compress/hdr_compression=1
-compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 compress/channel_pack=0
 compress/channel_pack=0
 mipmaps/generate=false
 mipmaps/generate=false