diff --git a/.gitignore b/.gitignore index 8de21a3f3..5135e5475 100644 --- a/.gitignore +++ b/.gitignore @@ -168,3 +168,4 @@ spine-godot/godot spine-godot/spine_godot/__pycache__ spine-godot/spine_godot/spine-cpp spine-godot/godot-copy +spine-godot/example/.import diff --git a/examples/export/runtimes.sh b/examples/export/runtimes.sh index aa315dc5d..252a8d6fd 100755 --- a/examples/export/runtimes.sh +++ b/examples/export/runtimes.sh @@ -85,31 +85,14 @@ cp -f ../mix-and-match/export/mix-and-match-pro.skel "$ROOT/spine-cocos2dx/examp cp -f ../mix-and-match/export/mix-and-match.atlas "$ROOT/spine-cocos2dx/example/Resources/common/" cp -f ../mix-and-match/export/mix-and-match.png "$ROOT/spine-cocos2dx/example/Resources/common/" -rm "$ROOT/spine-cocos2dx/example-v4/Resources/common/"* - -cp -f ../coin/export/coin-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../coin/export/coin.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../coin/export/coin.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" - -cp -f ../goblins/export/goblins-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../goblins/export/goblins.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../goblins/export/goblins.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" - -cp -f ../raptor/export/raptor-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../raptor/export/raptor.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../raptor/export/raptor.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" - -cp -f ../spineboy/export/spineboy-pro.json "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../spineboy/export/spineboy.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../spineboy/export/spineboy.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" - -cp -f ../tank/export/tank-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../tank/export/tank.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../tank/export/tank.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" - -cp -f ../mix-and-match/export/mix-and-match-pro.skel "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../mix-and-match/export/mix-and-match.atlas "$ROOT/spine-cocos2dx/example-v4/Resources/common/" -cp -f ../mix-and-match/export/mix-and-match.png "$ROOT/spine-cocos2dx/example-v4/Resources/common/" +echo "spine-godot" +rm "$ROOT"/spine-godot/example/spineboy/*.atlas +rm "$ROOT"/spine-godot/example/spineboy/*.json +rm "$ROOT"/spine-godot/example/spineboy/*.skel +cp -f ../spineboy/export/spineboy-pro.json "$ROOT/spine-godot/example/spineboy/" +cp -f ../spineboy/export/spineboy-pro.skel "$ROOT/spine-godot/example/spineboy/" +cp -f ../spineboy/export/spineboy.atlas "$ROOT/spine-godot/example/spineboy/" +cp -f ../spineboy/export/spineboy.png "$ROOT/spine-godot/example/spineboy/" echo "spine-sfml-c" rm "$ROOT/spine-sfml/c/data/"* diff --git a/spine-cpp/spine-cpp/include/spine/MeshAttachment.h b/spine-cpp/spine-cpp/include/spine/MeshAttachment.h index 78ec8a709..6961a2dd3 100644 --- a/spine-cpp/spine-cpp/include/spine/MeshAttachment.h +++ b/spine-cpp/spine-cpp/include/spine/MeshAttachment.h @@ -53,6 +53,8 @@ namespace spine { virtual ~MeshAttachment(); + using VertexAttachment::computeWorldVertices; + virtual void computeWorldVertices(Slot &slot, size_t start, size_t count, float *worldVertices, size_t offset, size_t stride = 2); diff --git a/spine-godot/example/Spineboy.gd b/spine-godot/example/Spineboy.gd new file mode 100644 index 000000000..6a7de1c43 --- /dev/null +++ b/spine-godot/example/Spineboy.gd @@ -0,0 +1,4 @@ +extends SpineSprite + +func _ready(): + get_animation_state().set_animation("walk", true, 0); diff --git a/spine-godot/example/icon.png.import b/spine-godot/example/icon.png.import index 96cbf4629..a4c02e6e2 100644 --- a/spine-godot/example/icon.png.import +++ b/spine-godot/example/icon.png.import @@ -28,6 +28,7 @@ process/fix_alpha_border=true process/premult_alpha=false process/HDR_as_SRGB=false process/invert_color=false +process/normal_map_invert_y=false stream=false size_limit=0 detect_3d=true diff --git a/spine-godot/example/spineboy.tscn b/spine-godot/example/spineboy.tscn index 8a99d91f3..7a9e8947f 100644 --- a/spine-godot/example/spineboy.tscn +++ b/spine-godot/example/spineboy.tscn @@ -1,20 +1,15 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=4 format=2] -[ext_resource path="res://spineboy/spineboy-pro.json" type="SpineSkeletonJsonDataResource" id=1] -[ext_resource path="res://spineboy/spineboy.atlas" type="SpineAtlasResource" id=2] - -[sub_resource type="SpineSkeletonDataResource" id=1] -atlas_res = ExtResource( 2 ) -skeleton_json_res = ExtResource( 1 ) -animations = null -skins = null +[ext_resource path="res://Spineboy.gd" type="Script" id=1] +[ext_resource path="res://spineboy/spineboy-data.tres" type="SpineSkeletonDataResource" id=2] [sub_resource type="SpineAnimationStateDataResource" id=2] -skeleton = SubResource( 1 ) +skeleton = ExtResource( 2 ) [node name="Node2D" type="Node2D"] -[node name="SpineSprite" type="SpineSprite" parent="."] +[node name="Spineboy" type="SpineSprite" parent="."] position = Vector2( 504, 622 ) animation_state_data_res = SubResource( 2 ) current_animations = [ "walk" ] +script = ExtResource( 1 ) diff --git a/spine-godot/example/spineboy/spineboy-data.tres b/spine-godot/example/spineboy/spineboy-data.tres new file mode 100644 index 000000000..8ba6dc0b1 --- /dev/null +++ b/spine-godot/example/spineboy/spineboy-data.tres @@ -0,0 +1,10 @@ +[gd_resource type="SpineSkeletonDataResource" load_steps=3 format=2] + +[ext_resource path="res://spineboy/spineboy.atlas" type="SpineAtlasResource" id=1] +[ext_resource path="res://spineboy/spineboy-pro.json" type="SpineSkeletonJsonDataResource" id=2] + +[resource] +atlas_res = ExtResource( 1 ) +skeleton_json_res = ExtResource( 2 ) +animations = null +skins = null diff --git a/spine-godot/example/spineboy/spineboy-pro.json b/spine-godot/example/spineboy/spineboy-pro.json index 4d8c7c2cf..b4dd8b40f 100644 --- a/spine-godot/example/spineboy/spineboy-pro.json +++ b/spine-godot/example/spineboy/spineboy-pro.json @@ -1,7 +1,7 @@ { "skeleton": { - "hash": "IQgkYFQG8ng", - "spine": "4.0.31", + "hash": "itfFESDjM1c", + "spine": "4.1.23-beta", "x": -188.63, "y": -7.94, "width": 418.45, @@ -2427,19 +2427,19 @@ "side-glow1": { "attachment": [ { "name": "hoverglow-small" }, - { "time": 0.9667, "name": null } + { "time": 0.9667 } ] }, "side-glow2": { "attachment": [ { "time": 0.0667, "name": "hoverglow-small" }, - { "time": 1, "name": null } + { "time": 1 } ] }, "side-glow3": { "attachment": [ { "name": "hoverglow-small" }, - { "time": 0.9667, "name": null } + { "time": 0.9667 } ] } }, @@ -3479,60 +3479,68 @@ { "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } ] }, - "deform": { + "attachments": { "default": { "front-foot": { - "front-foot": [ - { - "offset": 26, - "vertices": [ -0.02832, -5.37024, -0.02832, -5.37024, 3.8188, -3.7757, -0.02832, -5.37024, -3.82159, 3.77847 ] - } - ] + "front-foot": { + "deform": [ + { + "offset": 26, + "vertices": [ -0.02832, -5.37024, -0.02832, -5.37024, 3.8188, -3.7757, -0.02832, -5.37024, -3.82159, 3.77847 ] + } + ] + } }, "front-shin": { - "front-shin": [ - { - "offset": 14, - "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] - }, - { - "time": 0.3667, - "offset": 14, - "vertices": [ 0.5298, -1.12677, -11.66571, -9.07211, -25.65866, -17.53735, -25.53217, -16.50978, -11.78232, -11.26097, 0, 0, 0.60487, -1.63589, 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.60487, -1.63589, 0, 0, -2.64522, -7.35739, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -10.06873, -12.0999 ] - }, - { - "time": 0.5333, - "offset": 14, - "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -7.00775, -8.24771, -6.45482, -6.49312, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] - }, - { - "time": 1, - "offset": 14, - "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] - } - ] + "front-shin": { + "deform": [ + { + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] + }, + { + "time": 0.3667, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -11.66571, -9.07211, -25.65866, -17.53735, -25.53217, -16.50978, -11.78232, -11.26097, 0, 0, 0.60487, -1.63589, 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.60487, -1.63589, 0, 0, -2.64522, -7.35739, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -10.06873, -12.0999 ] + }, + { + "time": 0.5333, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -7.00775, -8.24771, -6.45482, -6.49312, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] + }, + { + "time": 1, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 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.54892, -3.06021, 1.48463, -2.29663, 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, -4.80437, -7.01817 ] + } + ] + } }, "hoverboard-board": { - "hoverboard-board": [ - { - "curve": [ 0.067, 0, 0.2, 1 ] - }, - { - "time": 0.2667, - "offset": 1, - "vertices": [ 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 3.55673, -3.0E-4, 3.55673, -3.0E-4, 0, 0, 0, 0, 0, 0, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, 0, 0, 0, 0, 0, 0, 0, 0, -4.90558, 0.11214, -9.40706, 6.2E-4, -6.34871, 4.3E-4, -6.34925, -6.57018, -6.34925, -6.57018, -6.34871, 4.3E-4, -2.3308, 1.7E-4, -2.33133, -6.57045, -2.33133, -6.57045, -2.3308, 1.7E-4, 0, 0, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 3.3297, 4.44005, 3.3297, 4.44005, 3.3297, 4.44005, 1.2E-4, 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, 1.2E-4, 2.45856, 1.2E-4, 2.45856, -9.40694, 2.45918, 1.88063, 0.44197, -2.9E-4, -3.54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.46227, 1.7E-4, 0, 0, 0, 0, 1.2E-4, 2.45856 ], - "curve": [ 0.45, 0, 0.817, 1 ] - }, - { "time": 1 } - ] + "hoverboard-board": { + "deform": [ + { + "curve": [ 0.067, 0, 0.2, 1 ] + }, + { + "time": 0.2667, + "offset": 1, + "vertices": [ 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 3.55673, -3.0E-4, 3.55673, -3.0E-4, 0, 0, 0, 0, 0, 0, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, 0, 0, 0, 0, 0, 0, 0, 0, -4.90558, 0.11214, -9.40706, 6.2E-4, -6.34871, 4.3E-4, -6.34925, -6.57018, -6.34925, -6.57018, -6.34871, 4.3E-4, -2.3308, 1.7E-4, -2.33133, -6.57045, -2.33133, -6.57045, -2.3308, 1.7E-4, 0, 0, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 3.3297, 4.44005, 3.3297, 4.44005, 3.3297, 4.44005, 1.2E-4, 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, 1.2E-4, 2.45856, 1.2E-4, 2.45856, -9.40694, 2.45918, 1.88063, 0.44197, -2.9E-4, -3.54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.46227, 1.7E-4, 0, 0, 0, 0, 1.2E-4, 2.45856 ], + "curve": [ 0.45, 0, 0.817, 1 ] + }, + { "time": 1 } + ] + } }, "rear-foot": { - "rear-foot": [ - { - "offset": 28, - "vertices": [ -1.93078, 1.34782, -0.31417, 2.33363, 3.05122, 0.33946, 2.31472, -2.01678, 2.17583, -2.05795, -0.04277, -2.99459, 1.15429, 0.26328, 0.97501, -0.67169 ] - } - ] + "rear-foot": { + "deform": [ + { + "offset": 28, + "vertices": [ -1.93078, 1.34782, -0.31417, 2.33363, 3.05122, 0.33946, 2.31472, -2.01678, 2.17583, -2.05795, -0.04277, -2.99459, 1.15429, 0.26328, 0.97501, -0.67169 ] + } + ] + } } } } @@ -5203,7 +5211,7 @@ "portal-bg": { "attachment": [ { "name": "portal-bg" }, - { "time": 3, "name": null } + { "time": 3 } ] }, "portal-flare1": { @@ -5214,7 +5222,7 @@ { "time": 1.2, "name": "portal-flare1" }, { "time": 1.2333, "name": "portal-flare2" }, { "time": 1.2667, "name": "portal-flare1" }, - { "time": 1.3333, "name": null } + { "time": 1.3333 } ] }, "portal-flare2": { @@ -5224,14 +5232,14 @@ { "time": 1.1667, "name": "portal-flare1" }, { "time": 1.2, "name": "portal-flare2" }, { "time": 1.2333, "name": "portal-flare3" }, - { "time": 1.2667, "name": null } + { "time": 1.2667 } ] }, "portal-flare3": { "attachment": [ { "time": 1.2, "name": "portal-flare3" }, { "time": 1.2333, "name": "portal-flare2" }, - { "time": 1.2667, "name": null } + { "time": 1.2667 } ] }, "portal-flare4": { @@ -5239,33 +5247,33 @@ { "time": 1.2, "name": "portal-flare2" }, { "time": 1.2333, "name": "portal-flare1" }, { "time": 1.2667, "name": "portal-flare2" }, - { "time": 1.3333, "name": null } + { "time": 1.3333 } ] }, "portal-flare5": { "attachment": [ { "time": 1.2333, "name": "portal-flare3" }, { "time": 1.2667, "name": "portal-flare1" }, - { "time": 1.3333, "name": null } + { "time": 1.3333 } ] }, "portal-flare6": { "attachment": [ { "time": 1.2667, "name": "portal-flare3" }, - { "time": 1.3333, "name": null } + { "time": 1.3333 } ] }, "portal-flare7": { "attachment": [ { "time": 1.1333, "name": "portal-flare2" }, - { "time": 1.1667, "name": null } + { "time": 1.1667 } ] }, "portal-flare8": { "attachment": [ { "time": 1.2, "name": "portal-flare3" }, { "time": 1.2333, "name": "portal-flare2" }, - { "time": 1.2667, "name": null } + { "time": 1.2667 } ] }, "portal-flare9": { @@ -5273,7 +5281,7 @@ { "time": 1.2, "name": "portal-flare2" }, { "time": 1.2333, "name": "portal-flare3" }, { "time": 1.2667, "name": "portal-flare1" }, - { "time": 1.3, "name": null } + { "time": 1.3 } ] }, "portal-flare10": { @@ -5281,25 +5289,25 @@ { "time": 1.2, "name": "portal-flare2" }, { "time": 1.2333, "name": "portal-flare1" }, { "time": 1.2667, "name": "portal-flare3" }, - { "time": 1.3, "name": null } + { "time": 1.3 } ] }, "portal-shade": { "attachment": [ { "name": "portal-shade" }, - { "time": 3, "name": null } + { "time": 3 } ] }, "portal-streaks1": { "attachment": [ { "name": "portal-streaks1" }, - { "time": 3, "name": null } + { "time": 3 } ] }, "portal-streaks2": { "attachment": [ { "name": "portal-streaks2" }, - { "time": 3, "name": null } + { "time": 3 } ] } }, @@ -7696,7 +7704,7 @@ { "time": 0.1, "name": "muzzle03" }, { "time": 0.1333, "name": "muzzle04" }, { "time": 0.1667, "name": "muzzle05" }, - { "time": 0.2, "name": null } + { "time": 0.2 } ] }, "muzzle-glow": { @@ -7725,7 +7733,7 @@ ], "attachment": [ { "time": 0.0333, "name": "muzzle-ring" }, - { "time": 0.2333, "name": null } + { "time": 0.2333 } ] }, "muzzle-ring2": { @@ -7739,7 +7747,7 @@ ], "attachment": [ { "time": 0.0333, "name": "muzzle-ring" }, - { "time": 0.2, "name": null } + { "time": 0.2 } ] }, "muzzle-ring3": { @@ -7753,7 +7761,7 @@ ], "attachment": [ { "time": 0.0333, "name": "muzzle-ring" }, - { "time": 0.2, "name": null } + { "time": 0.2 } ] }, "muzzle-ring4": { @@ -7767,7 +7775,7 @@ ], "attachment": [ { "time": 0.0333, "name": "muzzle-ring" }, - { "time": 0.2, "name": null } + { "time": 0.2 } ] } }, diff --git a/spine-godot/example/spineboy/spineboy-pro.skel b/spine-godot/example/spineboy/spineboy-pro.skel new file mode 100644 index 000000000..199839b49 Binary files /dev/null and b/spine-godot/example/spineboy/spineboy-pro.skel differ diff --git a/spine-godot/example/spineboy/spineboy.png b/spine-godot/example/spineboy/spineboy.png index 3f7eb0644..d1c3ac1be 100644 Binary files a/spine-godot/example/spineboy/spineboy.png and b/spine-godot/example/spineboy/spineboy.png differ diff --git a/spine-godot/example/spineboy/spineboy.png.import b/spine-godot/example/spineboy/spineboy.png.import index 2d273f490..8518e5044 100644 --- a/spine-godot/example/spineboy/spineboy.png.import +++ b/spine-godot/example/spineboy/spineboy.png.import @@ -28,6 +28,7 @@ process/fix_alpha_border=true process/premult_alpha=false process/HDR_as_SRGB=false process/invert_color=false +process/normal_map_invert_y=false stream=false size_limit=0 detect_3d=true diff --git a/spine-godot/godot/modules/spine_godot/SpineSprite.cpp b/spine-godot/godot/modules/spine_godot/SpineSprite.cpp index dedb91940..aebb17e8d 100644 --- a/spine-godot/godot/modules/spine_godot/SpineSprite.cpp +++ b/spine-godot/godot/modules/spine_godot/SpineSprite.cpp @@ -412,10 +412,7 @@ void SpineSprite::update_mesh_from_skeleton(Ref s) { v_num = mesh->getWorldVerticesLength() / VERTEX_STRIDE; vertices.setSize(mesh->getWorldVerticesLength(), 0); - mesh->computeWorldVertices(*slot, 0, mesh->getWorldVerticesLength(), vertices, 0); - - // uvs = mesh->getUVs(); - // indices = mesh->getTriangles(); + mesh->computeWorldVertices(*slot, vertices); TEMP_COPY(uvs, mesh->getUVs()); TEMP_COPY(indices, mesh->getTriangles());