瀏覽代碼

Merge remote-tracking branch 'origin/master'

NathanSweet 9 年之前
父節點
當前提交
5dd5d2a2f0
共有 100 個文件被更改,包括 6040 次插入892 次删除
  1. 6 0
      examples/export/export.sh
  2. 30 0
      examples/export/runtimes.sh
  3. 20 0
      examples/test/export/test-pma.atlas
  4. 二進制
      examples/test/export/test-pma.png
  5. 20 0
      examples/test/export/test.atlas
  6. 278 0
      examples/test/export/test.json
  7. 二進制
      examples/test/export/test.png
  8. 二進制
      examples/test/export/test.skel
  9. 二進制
      examples/test/images/logo.png
  10. 二進制
      examples/test/images/spine.png
  11. 二進制
      examples/test/test.spine
  12. 63 32
      spine-as3/spine-as3/src/spine/animation/ShearTimeline.as
  13. 14 2
      spine-cocos2dx/README.md
  14. 5 0
      spine-cocos2dx/example/.gitignore
  15. 9 0
      spine-cocos2dx/example/proj.android/.classpath
  16. 185 0
      spine-cocos2dx/example/proj.android/.cproject
  17. 23 0
      spine-cocos2dx/example/proj.android/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch
  18. 71 0
      spine-cocos2dx/example/proj.android/.project
  19. 68 0
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.codan.core.prefs
  20. 3 0
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.core.prefs
  21. 2 0
      spine-cocos2dx/example/proj.android/.settings/org.eclipse.ltk.core.refactoring.prefs
  22. 38 0
      spine-cocos2dx/example/proj.android/AndroidManifest.xml
  23. 17 0
      spine-cocos2dx/example/proj.android/ant.properties
  24. 13 0
      spine-cocos2dx/example/proj.android/build-cfg.json
  25. 83 0
      spine-cocos2dx/example/proj.android/build.xml
  26. 6 0
      spine-cocos2dx/example/proj.android/gen/R.java.d
  27. 6 0
      spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/BuildConfig.java
  28. 19 0
      spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java
  29. 80 0
      spine-cocos2dx/example/proj.android/jni/Android.mk
  30. 15 0
      spine-cocos2dx/example/proj.android/jni/Application.mk
  31. 15 0
      spine-cocos2dx/example/proj.android/jni/hellocpp/main.cpp
  32. 10 0
      spine-cocos2dx/example/proj.android/local.properties
  33. 20 0
      spine-cocos2dx/example/proj.android/proguard-project.txt
  34. 13 0
      spine-cocos2dx/example/proj.android/project.properties
  35. 二進制
      spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png
  36. 二進制
      spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png
  37. 二進制
      spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png
  38. 4 0
      spine-cocos2dx/example/proj.android/res/values/strings.xml
  39. 32 0
      spine-cocos2dx/example/proj.android/src/org/cocos2dx/cpp/AppActivity.java
  40. 3 9
      spine-corona/README.md
  41. 3 3
      spine-corona/build.settings
  42. 1082 0
      spine-corona/data/goblins-mesh.json
  43. 293 0
      spine-corona/data/goblins.atlas
  44. 二進制
      spine-corona/data/goblins.png
  45. 279 0
      spine-corona/data/raptor.atlas
  46. 361 0
      spine-corona/data/raptor.json
  47. 二進制
      spine-corona/data/raptor.png
  48. 216 0
      spine-corona/data/spineboy.atlas
  49. 26 33
      spine-corona/data/spineboy.json
  50. 二進制
      spine-corona/data/spineboy.png
  51. 41 0
      spine-corona/data/stretchyman.atlas
  52. 191 0
      spine-corona/data/stretchyman.json
  53. 二進制
      spine-corona/data/stretchyman.png
  54. 125 0
      spine-corona/data/tank.atlas
  55. 1900 0
      spine-corona/data/tank.json
  56. 二進制
      spine-corona/data/tank.png
  57. 20 0
      spine-corona/data/test.atlas
  58. 278 0
      spine-corona/data/test.json
  59. 二進制
      spine-corona/data/test.png
  60. 13 0
      spine-corona/data/vine.atlas
  61. 41 0
      spine-corona/data/vine.json
  62. 二進制
      spine-corona/data/vine.png
  63. 0 768
      spine-corona/examples/dragon/dragon.json
  64. 0 40
      spine-corona/examples/dragon/dragon.lua
  65. 二進制
      spine-corona/examples/dragon/images/L_front_leg.png
  66. 二進制
      spine-corona/examples/dragon/images/L_front_thigh.png
  67. 二進制
      spine-corona/examples/dragon/images/L_rear_leg.png
  68. 二進制
      spine-corona/examples/dragon/images/L_rear_thigh.png
  69. 二進制
      spine-corona/examples/dragon/images/L_wing01.png
  70. 二進制
      spine-corona/examples/dragon/images/L_wing02.png
  71. 二進制
      spine-corona/examples/dragon/images/L_wing03.png
  72. 二進制
      spine-corona/examples/dragon/images/L_wing04.png
  73. 二進制
      spine-corona/examples/dragon/images/L_wing05.png
  74. 二進制
      spine-corona/examples/dragon/images/L_wing06.png
  75. 二進制
      spine-corona/examples/dragon/images/L_wing07.png
  76. 二進制
      spine-corona/examples/dragon/images/L_wing08.png
  77. 二進制
      spine-corona/examples/dragon/images/L_wing09.png
  78. 二進制
      spine-corona/examples/dragon/images/R_front_leg.png
  79. 二進制
      spine-corona/examples/dragon/images/R_front_thigh.png
  80. 二進制
      spine-corona/examples/dragon/images/R_rear_leg.png
  81. 二進制
      spine-corona/examples/dragon/images/R_rear_thigh.png
  82. 二進制
      spine-corona/examples/dragon/images/R_wing01.png
  83. 二進制
      spine-corona/examples/dragon/images/R_wing02.png
  84. 二進制
      spine-corona/examples/dragon/images/R_wing03.png
  85. 二進制
      spine-corona/examples/dragon/images/R_wing04.png
  86. 二進制
      spine-corona/examples/dragon/images/R_wing05.png
  87. 二進制
      spine-corona/examples/dragon/images/R_wing06.png
  88. 二進制
      spine-corona/examples/dragon/images/R_wing07.png
  89. 二進制
      spine-corona/examples/dragon/images/R_wing08.png
  90. 二進制
      spine-corona/examples/dragon/images/R_wing09.png
  91. 二進制
      spine-corona/examples/dragon/images/back.png
  92. 二進制
      spine-corona/examples/dragon/images/chest.png
  93. 二進制
      spine-corona/examples/dragon/images/chin.png
  94. 二進制
      spine-corona/examples/dragon/images/front_toeA.png
  95. 二進制
      spine-corona/examples/dragon/images/front_toeB.png
  96. 二進制
      spine-corona/examples/dragon/images/head.png
  97. 0 5
      spine-corona/examples/dragon/images/license.txt
  98. 二進制
      spine-corona/examples/dragon/images/logo.png
  99. 二進制
      spine-corona/examples/dragon/images/rear-toe.png
  100. 二進制
      spine-corona/examples/dragon/images/tail01.png

+ 6 - 0
examples/export/export.sh

@@ -23,6 +23,7 @@ rm -rf ../stretchyman/export/*
 rm -rf ../raptor/export/*
 rm -rf ../tank/export/*
 rm -rf ../vine/export/*
+rm -rf ../test/export/*
 
 echo ""
 echo "Exporting..."
@@ -93,6 +94,11 @@ echo "Exporting..."
 -i ../tank/images -o ../tank/export -n tank -p atlas-0.5.json \
 -i ../tank/images -o ../tank/export -n tank-pma -p atlas-0.5-pma.json \
 \
+-i ../test/test.spine -o ../test/export -e json.json \
+-i ../test/test.spine -o ../test/export -e binary.json \
+-i ../test/images -o ../test/export -n test -p atlas-0.5.json \
+-i ../test/images -o ../test/export -n test-pma -p atlas-0.5-pma.json \
+\
 -i ../vine/vine.spine -o ../vine/export -e json.json \
 -i ../vine/vine.spine -o ../vine/export -e binary.json \
 -i ../vine/images -o ../vine/export -n vine -p atlas-1.0.json \

+ 30 - 0
examples/export/runtimes.sh

@@ -68,6 +68,36 @@ cp -f ../tank/export/tank.json ../../spine-cocos2dx/example/Resources/common/
 cp -f ../tank/export/tank.atlas ../../spine-cocos2dx/example/Resources/common/
 cp -f ../tank/export/tank.png ../../spine-cocos2dx/example/Resources/common/
 
+echo "spine-love"
+rm -f ../../spine-love/data/*
+cp -f ../goblins/export/goblins-mesh.json ../../spine-love/data
+cp -f ../goblins/export/goblins.atlas ../../spine-love/data
+cp -f ../goblins/export/goblins.png ../../spine-love/data
+
+cp -f ../raptor/export/raptor.json ../../spine-love/data
+cp -f ../raptor/export/raptor.atlas ../../spine-love/data
+cp -f ../raptor/export/raptor.png ../../spine-love/data
+
+cp -f ../spineboy/export/spineboy.json ../../spine-love/data
+cp -f ../spineboy/export/spineboy.atlas ../../spine-love/data
+cp -f ../spineboy/export/spineboy.png ../../spine-love/data
+
+cp -f ../tank/export/tank.json ../../spine-love/data
+cp -f ../tank/export/tank.atlas ../../spine-love/data
+cp -f ../tank/export/tank.png ../../spine-love/data
+
+cp -f ../vine/export/vine.json ../../spine-love/data
+cp -f ../vine/export/vine.atlas ../../spine-love/data
+cp -f ../vine/export/vine.png ../../spine-love/data
+
+cp -f ../stretchyman/export/stretchyman.json ../../spine-love/data
+cp -f ../stretchyman/export/stretchyman.atlas ../../spine-love/data
+cp -f ../stretchyman/export/stretchyman.png ../../spine-love/data
+
+cp -f ../test/export/test.json ../../spine-love/data
+cp -f ../test/export/test.atlas ../../spine-love/data
+cp -f ../test/export/test.png ../../spine-love/data
+
 echo "spine-sfml"
 rm -f ../../spine-sfml/data/*
 cp -f ../goblins/export/goblins-mesh.json ../../spine-sfml/data/

+ 20 - 0
examples/test/export/test-pma.atlas

@@ -0,0 +1,20 @@
+
+test-pma.png
+size: 256,64
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+logo
+  rotate: false
+  xy: 193, 2
+  size: 60, 60
+  orig: 60, 60
+  offset: 0, 0
+  index: -1
+spine
+  rotate: false
+  xy: 2, 2
+  size: 189, 60
+  orig: 189, 60
+  offset: 0, 0
+  index: -1

二進制
examples/test/export/test-pma.png


+ 20 - 0
examples/test/export/test.atlas

@@ -0,0 +1,20 @@
+
+test.png
+size: 256,64
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+logo
+  rotate: false
+  xy: 193, 2
+  size: 60, 60
+  orig: 60, 60
+  offset: 0, 0
+  index: -1
+spine
+  rotate: false
+  xy: 2, 2
+  size: 189, 60
+  orig: 189, 60
+  offset: 0, 0
+  index: -1

+ 278 - 0
examples/test/export/test.json

@@ -0,0 +1,278 @@
+{
+"skeleton": { "hash": "xbu5IFg+2tCx4+2MavNPurEogzA", "spine": "3.4.02", "width": 1333.78, "height": 1112.91, "images": "./images/" },
+"bones": [
+	{ "name": "root", "x": 28.68, "y": -105.71 },
+	{ "name": "attachment", "parent": "root", "x": -267.71, "y": -366.62 },
+	{ "name": "color", "parent": "root", "x": -298.29, "y": 44.1 },
+	{ "name": "draworder", "parent": "root", "x": 283.53, "y": -356.27 },
+	{ "name": "mesh", "parent": "root", "x": -320.74, "y": 413.7 },
+	{ "name": "meshweighted", "parent": "root", "rotation": -11.22, "x": -353.28, "y": 627.53 },
+	{ "name": "pathfollower", "parent": "root", "x": 177.52, "y": 56.62 },
+	{ "name": "rotate", "parent": "root", "x": -305, "y": 201 },
+	{ "name": "scale", "parent": "root", "x": 183.99, "y": -138 },
+	{ "name": "shear", "parent": "root", "x": -304, "y": -146 },
+	{ "name": "transformconstrainttarget", "parent": "root", "x": 604.27, "y": 420.7, "color": "abe323ff" },
+	{ "name": "transformconstrained", "parent": "root", "x": 169.6, "y": 420.7 },
+	{ "name": "translate", "parent": "root", "x": 190.99, "y": 201, "color": "abe323ff" }
+],
+"slots": [
+	{ "name": "images/spine", "bone": "translate", "attachment": "images/spine" },
+	{ "name": "images/spine2", "bone": "rotate", "attachment": "images/spine" },
+	{ "name": "images/spine3", "bone": "scale", "attachment": "images/spine" },
+	{ "name": "images/spine4", "bone": "shear", "attachment": "images/spine" },
+	{ "name": "images/spine5", "bone": "color", "attachment": "images/spine" },
+	{ "name": "path2", "bone": "root", "attachment": "path" },
+	{ "name": "images/spine6", "bone": "pathfollower", "attachment": "images/spine" },
+	{ "name": "images/spine7", "bone": "transformconstrained", "attachment": "images/spine" },
+	{ "name": "images/spine8", "bone": "transformconstrainttarget", "attachment": "images/spine" },
+	{ "name": "images/spine9", "bone": "mesh", "attachment": "images/spine" },
+	{ "name": "images/spine10", "bone": "attachment", "attachment": "images/logo" },
+	{ "name": "draworder2", "bone": "draworder", "attachment": "images/logo" },
+	{ "name": "draworder1", "bone": "draworder", "attachment": "images/spine" },
+	{ "name": "images/spine12", "bone": "meshweighted", "attachment": "linkedmesh" }
+],
+"transform": [
+	{
+		"name": "transformconstraint",
+		"bones": [ "transformconstrained" ],
+		"target": "transformconstrainttarget",
+		"x": -400,
+		"rotateMix": 0.509,
+		"translateMix": 0.509,
+		"scaleMix": 0.509,
+		"shearMix": 0.509
+	}
+],
+"path": [
+	{
+		"name": "pathconstraint",
+		"bones": [ "pathfollower" ],
+		"target": "path2",
+		"rotation": 34.2
+	}
+],
+"skins": {
+	"default": {
+		"draworder1": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"draworder2": {
+			"images/logo": { "path": "logo", "width": 120, "height": 120 }
+		},
+		"images/spine": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine10": {
+			"images/logo": { "path": "logo", "width": 120, "height": 120 },
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine12": {
+			"images/spine": {
+				"type": "mesh",
+				"path": "spine",
+				"uvs": [ 0, 0, 0.25, 0, 0.5, 0, 0.75, 0, 1, 0, 1, 0.25, 1, 0.5, 1, 0.75, 1, 1, 0.75, 1, 0.5, 1, 0.25, 1, 0, 1, 0, 0.75, 0, 0.5, 0, 0.25, 0.25, 0.25, 0.25, 0.5, 0.25, 0.75, 0.5, 0.25, 0.5, 0.5, 0.5, 0.75, 0.75, 0.25, 0.75, 0.5, 0.75, 0.75 ],
+				"triangles": [ 15, 0, 1, 16, 1, 2, 15, 1, 16, 19, 2, 3, 16, 2, 19, 22, 3, 4, 19, 3, 22, 22, 4, 5, 14, 15, 16, 17, 16, 19, 14, 16, 17, 20, 19, 22, 17, 19, 20, 23, 22, 5, 20, 22, 23, 23, 5, 6, 13, 14, 17, 18, 17, 20, 13, 17, 18, 21, 20, 23, 18, 20, 21, 24, 23, 6, 21, 23, 24, 24, 6, 7, 12, 13, 18, 11, 18, 21, 12, 18, 11, 10, 21, 24, 11, 21, 10, 9, 24, 7, 10, 24, 9, 9, 7, 8 ],
+				"vertices": [ 1, 5, -194.67, 21.29, 1, 1, 5, -102.08, 38.91, 1, 1, 5, -9.49, 56.54, 1, 1, 5, 83.08, 74.16, 1, 1, 5, 175.67, 91.79, 1, 1, 5, 181.28, 62.32, 1, 1, 5, 186.89, 32.84, 1, 1, 5, 192.5, 3.38, 1, 1, 5, 198.11, -26.09, 1, 1, 5, 105.52, -43.71, 1, 1, 5, 12.94, -61.33, 1, 1, 5, -79.64, -78.96, 1, 1, 5, -172.23, -96.58, 1, 1, 5, -177.84, -67.11, 1, 1, 5, -183.45, -37.64, 1, 1, 5, -189.06, -8.17, 1, 1, 5, -96.47, 9.45, 1, 1, 5, -90.86, -20.01, 1, 1, 5, -85.25, -49.48, 1, 1, 5, -3.88, 27.07, 1, 1, 5, 1.72, -2.39, 1, 1, 5, 7.33, -31.86, 1, 1, 5, 88.7, 44.69, 1, 1, 5, 94.31, 15.22, 1, 1, 5, 99.92, -14.24, 1 ],
+				"hull": 16,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 0 ],
+				"width": 377,
+				"height": 120
+			},
+			"linkedmesh": { "type": "linkedmesh", "path": "logo", "parent": "images/spine", "width": 120, "height": 120 }
+		},
+		"images/spine2": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine3": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine4": {
+			"images/spine": { "path": "spine", "rotation": 0.15, "width": 377, "height": 120 }
+		},
+		"images/spine5": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine6": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine7": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine8": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine9": {
+			"images/spine": {
+				"type": "mesh",
+				"path": "spine",
+				"uvs": [ 1, 0.50124, 1, 1, 0.72412, 1, 0.49981, 1, 0.28581, 1, 0, 1, 0, 0.50124, 0, 0, 0.49207, 0, 1, 0, 0.56941, 0.57414, 0.84014, 0.50124, 0.61841, 0.22584, 0.20589, 0.20154, 0.19558, 0.67134, 0.39152, 0.86574, 0.3941, 0.41214, 0.3941, 0.12864, 0.76021, 0.19344, 0.76537, 0.59034, 0.74474, 0.84144, 0.57716, 0.81714 ],
+				"triangles": [ 17, 7, 8, 18, 8, 9, 13, 7, 17, 12, 8, 18, 17, 8, 12, 16, 17, 12, 13, 17, 16, 6, 7, 13, 6, 13, 16, 18, 9, 0, 11, 18, 0, 10, 16, 12, 12, 18, 11, 10, 12, 11, 19, 10, 11, 14, 6, 16, 14, 16, 10, 21, 10, 19, 15, 14, 10, 20, 21, 19, 21, 15, 10, 5, 6, 14, 4, 5, 14, 15, 4, 14, 3, 15, 21, 4, 15, 3, 2, 21, 20, 3, 21, 2, 19, 11, 0, 0, 20, 19, 1, 20, 0, 2, 20, 1 ],
+				"vertices": [ 191.41, -1.12, 191.41, -60.97, 87.4, -60.97, 2.84, -60.97, -77.82, -60.97, -185.58, -60.97, -185.58, -1.12, -185.58, 59.02, -0.07, 59.02, 191.41, 59.02, 29.09, -9.85, 131.14, -1.12, 47.55, 31.92, -107.96, 34.84, -111.85, -21.53, -37.97, -44.86, -37, 9.57, -37, 43.59, 101.01, 35.81, 102.96, -11.81, 95.18, -41.93, 32, -39.02 ],
+				"hull": 10,
+				"edges": [ 10, 12, 12, 14, 14, 16, 16, 18, 2, 0, 0, 18, 6, 8, 8, 10, 2, 4, 4, 6 ],
+				"width": 377,
+				"height": 120
+			}
+		},
+		"path2": {
+			"path": {
+				"type": "path",
+				"closed": true,
+				"lengths": [ 128.85, 310.24, 465.06, 600.88, 773.97 ],
+				"vertexCount": 15,
+				"vertices": [ 258.07, -42.67, 291.94, -17.53, 326.41, 7.22, 391.41, 2.75, 398.05, 46.72, 399.83, 84.07, 274.03, 106.4, 236.7, 117.74, 199.37, 129.09, 116.55, 135.12, 84.41, 115.47, 50.34, 94.04, 56.53, 1.48, 89.01, -5.59, 122.89, -13.58 ]
+			}
+		}
+	}
+},
+"animations": {
+	"animation": {
+		"slots": {
+			"images/spine5": {
+				"color": [
+					{ "time": 0, "color": "ffffffff" },
+					{ "time": 0.4333, "color": "ff0901ff" },
+					{ "time": 0.9, "color": "2dff00ff" },
+					{ "time": 1.3333, "color": "ffffffff" }
+				]
+			},
+			"images/spine10": {
+				"attachment": [
+					{ "time": 0, "name": "images/spine" },
+					{ "time": 0.6666, "name": "images/logo" },
+					{ "time": 1.3333, "name": "images/spine" }
+				]
+			},
+			"images/spine12": {
+				"attachment": [
+					{ "time": 0, "name": "images/spine" },
+					{ "time": 0.6666, "name": "linkedmesh" }
+				]
+			}
+		},
+		"bones": {
+			"translate": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 1, 0, 0, 1 ]
+					},
+					{ "time": 0.6666, "x": 96.99, "y": -151 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			},
+			"scale": {
+				"scale": [
+					{ "time": 0, "x": 1, "y": 1 },
+					{ "time": 0.6666, "x": 1, "y": 2.34 },
+					{ "time": 1.3333, "x": 1, "y": 1 }
+				]
+			},
+			"rotate": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.6666, "angle": -125.34 },
+					{ "time": 1.3333, "angle": 0 }
+				]
+			},
+			"shear": {
+				"shear": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 29.4, "y": 0 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			},
+			"transformconstrainttarget": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.6666, "angle": -74.6 },
+					{ "time": 1.3333, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 176.22, "y": -170.34 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				],
+				"scale": [
+					{ "time": 0, "x": 1, "y": 1 },
+					{ "time": 0.6666, "x": 2, "y": 2 },
+					{ "time": 1.3333, "x": 1, "y": 1 }
+				],
+				"shear": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 23.4, "y": 0 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			}
+		},
+		"transform": {
+			"transformconstraint": [
+				{ "time": 0, "rotateMix": 0.509, "translateMix": 0.509, "scaleMix": 0.509, "shearMix": 0.509 },
+				{ "time": 0.6666 },
+				{ "time": 1.3333, "rotateMix": 0.5, "translateMix": 0.5, "scaleMix": 0.5, "shearMix": 0.5 }
+			]
+		},
+		"paths": {
+			"pathconstraint": {
+				"position": [
+					{ "time": 0 },
+					{ "time": 1.3333, "position": 1 }
+				],
+				"spacing": [
+					{ "time": 0, "spacing": 40.1 },
+					{ "time": 1.3333 }
+				],
+				"mix": [
+					{ "time": 0.6666, "rotateMix": 0.473, "translateMix": 0.473 },
+					{ "time": 1.3333 }
+				]
+			}
+		},
+		"deform": {
+			"default": {
+				"images/spine9": {
+					"images/spine": [
+						{ "time": 0 },
+						{
+							"time": 0.6666,
+							"vertices": [ 43.09784, 58.11693, 0, 0, 0, 0, -0.653, -57.46399, -50.93396, -47.01593, -43.098, -24.81398, -43.098, -24.81399, -1.0E-5, 1.0E-5, 0, 1.0E-5, 43.09784, 58.11695, 0, 0, 43.09784, 58.11693, 1.0E-5, -1.0E-5, 0, 0, -43.09797, -24.81399, 0, 1.0E-5, 0, 0, 0, 0, 43.09784, 58.11694, 43.09784, 58.11693 ]
+						},
+						{ "time": 1.3333 }
+					]
+				},
+				"images/spine12": {
+					"images/spine": [
+						{ "time": 0 },
+						{
+							"time": 0.3333,
+							"offset": 4,
+							"vertices": [ -9.45232, 83.5133, -3.90008, 44.76635, -3.90008, 44.76635, -3.90008, 44.76635, 0, 0, 0, 0, 0, 0, 0, 0, 5.15667, -29.57763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.90008, 44.76635 ]
+						},
+						{ "time": 0.6666 },
+						{
+							"time": 0.6679,
+							"vertices": [ -1.21159, -14.52716, -2.76092, -7.75683, -4.30999, -0.98669, 2.38385, 9.78289, -1.56903, 5.49316, -2.93444, 6.75128, -4.30011, 8.00933, -5.66552, 9.2677, -7.031, 10.52575, -3.07855, 14.81561, 4.30986, 0.9859, 5.85907, -5.78436, 7.40826, -12.55462, 5.25317, -13.04797, 3.09832, -13.54083, 0.94323, -14.03411, -0.60595, -7.26379, 1.54907, -6.77056, 3.70422, -6.27746, -2.15495, -0.49346, 0, -3.0E-4, 2.15495, 0.49273, 1.01812, 11.04132, -0.3471, 12.29895, -1.71313, 13.557 ]
+						},
+						{
+							"time": 1.3333,
+							"vertices": [ -10.57342, 25.16797, -9.16716, 14.48486, -7.76074, 3.80212, 131.25482, 21.05285, 128.23181, -0.04534, 121.51611, 0.91668, 114.80023, 1.8789, 108.08459, 2.84124, 101.3689, 3.80316, 104.39154, 24.90191, -21.3623, 2.01171, -22.76855, 12.69433, -24.17505, 23.37719, -20.77471, 23.82476, -17.37414, 24.27276, -13.97393, 24.72009, -12.56768, 14.03753, -15.96789, 13.58978, -19.36809, 13.14215, -11.16095, 3.35455, -14.56134, 2.90704, -17.96167, 2.45922, 124.53894, 22.01538, 117.82336, 22.97705, 111.10718, 23.93933 ]
+						}
+					]
+				}
+			}
+		},
+		"drawOrder": [
+			{ "time": 0 },
+			{
+				"time": 0.6666,
+				"offsets": [
+					{ "slot": "draworder2", "offset": 1 }
+				]
+			},
+			{ "time": 1.3333 }
+		]
+	}
+}
+}

二進制
examples/test/export/test.png


二進制
examples/test/export/test.skel


二進制
examples/test/images/logo.png


二進制
examples/test/images/spine.png


二進制
examples/test/test.spine


+ 63 - 32
spine-as3/spine-as3/src/spine/animation/ShearTimeline.as

@@ -1,34 +1,65 @@
-package spine.animation {
-	import spine.Event;
-	import spine.Skeleton;
-	import spine.Bone;
+/******************************************************************************
+ * Spine Runtimes Software License
+ * Version 2.3
+ * 
+ * Copyright (c) 2013-2015, Esoteric Software
+ * All rights reserved.
+ * 
+ * You are granted a perpetual, non-exclusive, non-sublicensable and
+ * non-transferable license to use, install, execute and perform the Spine
+ * Runtimes Software (the "Software") and derivative works solely for personal
+ * or internal use. Without the written permission of Esoteric Software (see
+ * Section 2 of the Spine Software License Agreement), you may not (a) modify,
+ * translate, adapt or otherwise create derivative works, improvements of the
+ * Software or develop new applications using the Software or (b) remove,
+ * delete, alter or obscure any trademarks or any copyright, trademark, patent
+ * or other intellectual property or proprietary rights notices on or in the
+ * Software, including any copy thereof. Redistributions in binary or source
+ * form must include this license and terms.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *****************************************************************************/
 
-public class ShearTimeline extends TranslateTimeline {
-	public function ShearTimeline (frameCount:int) {
-		super(frameCount);
-	}
-
-	override public function apply (skeleton:Skeleton, lastTime:Number, time:Number, firedEvents:Vector.<Event>, alpha:Number) : void {
-		var frames:Vector.<Number> = this.frames;
-		if (time < frames[0]) return; // Time is before first frame.
-
-		var bone:Bone = skeleton.bones[boneIndex];
-		if (time >= frames[frames.length - ENTRIES]) { // Time is after last frame.
-			bone.shearX += (bone.data.shearX + frames[frames.length + PREV_X] - bone.shearX) * alpha;
-			bone.shearY += (bone.data.shearY + frames[frames.length + PREV_Y] - bone.shearY) * alpha;
-			return;
-		}
-
-		// Interpolate between the previous frame and the current frame.
-		var frame:int = Animation.binarySearch(frames, time, ENTRIES);
-		var prevX:Number = frames[frame + PREV_X];
-		var prevY:Number = frames[frame + PREV_Y];
-		var frameTime:Number = frames[frame];
-		var percent:Number = getCurvePercent(frame / ENTRIES - 1, 1 - (time - frameTime) / (frames[frame + PREV_TIME] - frameTime));
-
-		bone.shearX += (bone.data.shearX + (prevX + (frames[frame + X] - prevX) * percent) - bone.shearX) * alpha;
-		bone.shearY += (bone.data.shearY + (prevY + (frames[frame + Y] - prevY) * percent) - bone.shearY) * alpha;
-	}
+package spine.animation {
+	import spine.Event;
+	import spine.Skeleton;
+	import spine.Bone;
+
+public class ShearTimeline extends TranslateTimeline {
+	public function ShearTimeline (frameCount:int) {
+		super(frameCount);
+	}
+
+	override public function apply (skeleton:Skeleton, lastTime:Number, time:Number, firedEvents:Vector.<Event>, alpha:Number) : void {
+		var frames:Vector.<Number> = this.frames;
+		if (time < frames[0]) return; // Time is before first frame.
+
+		var bone:Bone = skeleton.bones[boneIndex];
+		if (time >= frames[frames.length - ENTRIES]) { // Time is after last frame.
+			bone.shearX += (bone.data.shearX + frames[frames.length + PREV_X] - bone.shearX) * alpha;
+			bone.shearY += (bone.data.shearY + frames[frames.length + PREV_Y] - bone.shearY) * alpha;
+			return;
+		}
+
+		// Interpolate between the previous frame and the current frame.
+		var frame:int = Animation.binarySearch(frames, time, ENTRIES);
+		var prevX:Number = frames[frame + PREV_X];
+		var prevY:Number = frames[frame + PREV_Y];
+		var frameTime:Number = frames[frame];
+		var percent:Number = getCurvePercent(frame / ENTRIES - 1, 1 - (time - frameTime) / (frames[frame + PREV_TIME] - frameTime));
+
+		bone.shearX += (bone.data.shearX + (prevX + (frames[frame + X] - prevX) * percent) - bone.shearX) * alpha;
+		bone.shearY += (bone.data.shearY + (prevY + (frames[frame + Y] - prevY) * percent) - bone.shearY) * alpha;
+	}
+}
+
 }
-
-}

+ 14 - 2
spine-cocos2dx/README.md

@@ -44,7 +44,7 @@ The Spine cocos2d-x example works on Windows and Mac OS X.
 9. Right click the `spine-cocos2d-x` project in the solution explorer and select `Set as Startup Project` from the context menu
 10. Click `Local Windows Debugger` to run the example
 
-### Mac OS X
+### macOS/iOS
 1. Install [Xcode](https://developer.apple.com/xcode/)
 2. Install [Homebrew](http://brew.sh/)
 3. Open a terminal and install CMake via `brew install cmake`
@@ -55,6 +55,19 @@ The Spine cocos2d-x example works on Windows and Mac OS X.
 7. Expand the `cocos2d_libs.xcodeproj` sub project, delete the group `editor-support/spine`. This will remove the outdated Spine cocos2d-x runtime shipped by cocos2d-x.
 8. Click the `Run` button or type `CMD+R` to run the example
 
+### Android
+1. Install the prerequisits for [cocos2d-x Android development](http://www.cocos2d-x.org/docs/installation/Android-terminal/)
+2. Install [Homebrew](http://brew.sh/)
+3. Open a terminal and install CMake via `brew install cmake`
+3. Download the Spine Runtimes repository using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip)
+4. Open a terminal, and `cd` into the `spine-runtimes/spine-cocos2dx` folder
+5. Type `mkdir build && cd build && cmake ../..`. This will download the cocos2d-x dependency and wire it up with the example source code in `spine-runtimes/spine-cocos2dx/example`. The download is 400mb, so get yourself a cup of tea.
+6. Delete `spine-runtimes/spine-cocos2dx/example/cocos2d/cocos/editor-support/spine`
+7. Open `spine-runtimes/spine-cocos2dx/example/cocos2d/cocos/Android.mk` and remove the lines `LOCAL_STATIC_LIBRARIES += spine_static` and `$(call import-module,editor-support/spine)
+8. Switch to `spine-runtimes/spine-cocos2dx/example/proj.android/jni` and execute `cocos compile -p android -m debug --ndk-mode debug` to compile the example for Android
+9. In the same directory, execute `cocos run -p android -m debug` to deploy to the device
+10. For debugging, run `ndk-debug` in the `proj.android/jni` folder. This will attach to the running app via GDB.
+
 ## Notes
 
 - Images are premultiplied by cocos2d-x, so the Spine atlas images should *not* use premultiplied alpha.
@@ -64,4 +77,3 @@ The Spine cocos2d-x example works on Windows and Mac OS X.
 - [Raptor](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/example/Classes/RaptorExample.cpp)
 - [Spineboy](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/example/Classes/SpineboyExample.cpp)
 - [Golbins](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/example/Classes/GoblinsExample.cpp)
-

+ 5 - 0
spine-cocos2dx/example/.gitignore

@@ -0,0 +1,5 @@
+bin/
+proj.android/bin/
+proj.android/assets/
+proj.android/libs/
+proj.android/obj/

+ 9 - 0
spine-cocos2dx/example/proj.android/.classpath

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="gen"/>
+	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
+	<classpathentry kind="output" path="bin/classes"/>
+</classpath>

+ 185 - 0
spine-cocos2dx/example/proj.android/.cproject

@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+	<storageModule moduleId="org.eclipse.cdt.core.settings">
+		<cconfiguration id="0.1230402123">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1230402123" moduleId="org.eclipse.cdt.core.settings" name="Release">
+				<externalSettings/>
+				<extensions>
+					<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1230402123" name="Release" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+					<folderInfo id="0.1230402123." name="/" resourcePath="">
+						<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1911072326" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+							<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1911072326.2087917918" name=""/>
+							<builder arguments="${ProjDirPath}/build_native.py -b release" buildPath="${ProjDirPath}" command="python" id="org.eclipse.cdt.build.core.settings.default.builder.1038735572" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder">
+								<outputEntries>
+									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
+								</outputEntries>
+							</builder>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.libs.547532631" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.1481118451" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.990682174" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.387417389" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.992559344" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.429561268" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1008860290" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/platforms/android-18/arch-arm/usr/include"/>
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/2d"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/physics"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/base"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/math/kazmath"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/ui"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/network"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/audio/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/editor-support"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/extensions"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external/chipmunk/include/chipmunk"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.1728671637" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.788524757" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.795443271" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.315092538" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.706119994" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1846971482" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+						</toolChain>
+					</folderInfo>
+					<sourceEntries>
+						<entry excluding="Classes|cocos2d" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Classes"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="cocos2d"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+		<cconfiguration id="0.1377291156">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1230402123.1377291156" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+				<externalSettings/>
+				<extensions>
+					<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactName="${ProjName}" buildProperties="" description="" id="0.1230402123.1377291156" name="Debug" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+					<folderInfo id="0.1230402123.1377291156." name="/" resourcePath="">
+						<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.201833538" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+							<targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.201833538.235980614" name=""/>
+							<builder arguments="${ProjDirPath}/build_native.py -b debug" buildPath="${ProjDirPath}" command="python" id="org.eclipse.cdt.build.core.settings.default.builder.1949248716" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder">
+								<outputEntries>
+									<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
+								</outputEntries>
+							</builder>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.libs.813839891" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.766422923" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.658464030" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.402466199" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.930232989" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.55647957" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.814113654" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/platforms/android-18/arch-arm/usr/include"/>
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/2d"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/physics"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/base"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/math/kazmath"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/ui"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/network"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/audio/include"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/cocos/editor-support"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/extensions"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external"/>
+									<listOptionValue builtIn="false" value="${ProjDirPath}/../cocos2d/external/chipmunk/include/chipmunk"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.923561092" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.383151501" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+							<tool id="org.eclipse.cdt.build.core.settings.holder.2139448747" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+								<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.715095106" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
+									<listOptionValue builtIn="false" value="${NDK_ROOT}/sources/android/native_app_glue"/>
+								</option>
+								<option id="org.eclipse.cdt.build.core.settings.holder.symbols.157274928" name="Symbols" superClass="org.eclipse.cdt.build.core.settings.holder.symbols" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CC_TARGET_PLATFORM=CC_PLATFORM_ANDROID"/>
+									<listOptionValue builtIn="false" value="CC_DLL"/>
+								</option>
+								<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.108662290" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+							</tool>
+						</toolChain>
+					</folderInfo>
+					<sourceEntries>
+						<entry excluding="Classes|cocos2d" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Classes"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="cocos2d"/>
+					</sourceEntries>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+	</storageModule>
+	<storageModule moduleId="scannerConfiguration">
+		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		<scannerConfigBuildInfo instanceId="0.1230402123">
+			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+		</scannerConfigBuildInfo>
+	</storageModule>
+	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+	<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+		<project id="spine-cocos2dx-example.null.31159645" name="spine-cocos2dx-example"/>
+	</storageModule>
+	<storageModule moduleId="refreshScope" versionNumber="2">
+		<configuration configurationName="Default">
+			<resource resourceType="PROJECT" workspacePath="/spine-cocos2dx-example"/>
+		</configuration>
+		<configuration configurationName="Debug">
+			<resource resourceType="PROJECT" workspacePath="/spine-cocos2dx-example"/>
+		</configuration>
+	</storageModule>
+</cproject>
+

+ 23 - 0
spine-cocos2dx/example/proj.android/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.cdt.managedbuilder.core.genmakebuilder"/>
+<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS">
+<mapEntry key="?children?" value="?children?=?name?=entry\\\\\\\|\\\|\|?name?=outputEntries\||"/>
+<mapEntry key="?name?" value=""/>
+<mapEntry key="org.eclipse.cdt.make.core.append_environment" value="true"/>
+<mapEntry key="org.eclipse.cdt.make.core.autoBuildTarget" value="all"/>
+<mapEntry key="org.eclipse.cdt.make.core.buildArguments" value="${ProjDirPath}/build_native.py -b release"/>
+<mapEntry key="org.eclipse.cdt.make.core.buildCommand" value="python"/>
+<mapEntry key="org.eclipse.cdt.make.core.buildLocation" value="${ProjDirPath}"/>
+<mapEntry key="org.eclipse.cdt.make.core.cleanBuildTarget" value="clean"/>
+<mapEntry key="org.eclipse.cdt.make.core.contents" value="org.eclipse.cdt.make.core.activeConfigSettings"/>
+<mapEntry key="org.eclipse.cdt.make.core.enableAutoBuild" value="false"/>
+<mapEntry key="org.eclipse.cdt.make.core.enableCleanBuild" value="true"/>
+<mapEntry key="org.eclipse.cdt.make.core.enableFullBuild" value="true"/>
+<mapEntry key="org.eclipse.cdt.make.core.fullBuildTarget" value="all"/>
+<mapEntry key="org.eclipse.cdt.make.core.stopOnError" value="true"/>
+<mapEntry key="org.eclipse.cdt.make.core.useDefaultBuildCmd" value="false"/>
+</mapAttribute>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+</launchConfiguration>

+ 71 - 0
spine-cocos2dx/example/proj.android/.project

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>spine-cocos2dx-example</name>
+	<comment></comment>
+	<projects>
+		<project>libcocos2dx</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+				<dictionary>
+					<key>LaunchConfigHandle</key>
+					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>Classes</name>
+			<type>2</type>
+			<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/Classes</locationURI>
+		</link>
+		<link>
+			<name>cocos2d</name>
+			<type>2</type>
+			<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/cocos2d</locationURI>
+		</link>
+		<link>
+			<name>libcocos2d</name>
+			<type>2</type>
+			<locationURI>PARENT-1-PROJECT_LOC/cocos2d/cocos/platform/android/java/src</locationURI>
+		</link>
+	</linkedResources>
+</projectDescription>

+ 68 - 0
spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.codan.core.prefs

@@ -0,0 +1,68 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn=Warning
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue=-Error
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.noreturn=-Error
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+useParentScope=false

+ 3 - 0
spine-cocos2dx/example/proj.android/.settings/org.eclipse.cdt.core.prefs

@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+environment/project/0.1230402123/append=true
+environment/project/0.1230402123/appendContributed=true

+ 2 - 0
spine-cocos2dx/example/proj.android/.settings/org.eclipse.ltk.core.refactoring.prefs

@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false

+ 38 - 0
spine-cocos2dx/example/proj.android/AndroidManifest.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+      package="com.esotericsoftware.cocos2dx"
+      android:versionCode="1"
+      android:versionName="1.0"
+      android:installLocation="auto">
+
+    <uses-sdk android:minSdkVersion="13"/>
+    <uses-feature android:glEsVersion="0x00020000" />
+
+    <application android:label="@string/app_name"
+                 android:icon="@drawable/icon">
+					 
+        <!-- Tell Cocos2dxActivity the name of our .so -->
+        <meta-data android:name="android.app.lib_name"
+                   android:value="MyGame" />
+
+        <activity android:name="org.cocos2dx.cpp.AppActivity"
+                  android:label="@string/app_name"
+                  android:screenOrientation="landscape"
+                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
+                  android:configChanges="orientation|keyboardHidden|screenSize">
+
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+    <supports-screens android:anyDensity="true"
+                      android:smallScreens="true"
+                      android:normalScreens="true"
+                      android:largeScreens="true"
+                      android:xlargeScreens="true"/>
+
+    <uses-permission android:name="android.permission.INTERNET"/>
+</manifest> 

+ 17 - 0
spine-cocos2dx/example/proj.android/ant.properties

@@ -0,0 +1,17 @@
+# This file is used to override default values used by the Ant build system.
+#
+# This file must be checked into Version Control Systems, as it is
+# integral to the build system of your project.
+
+# This file is only used by the Ant script.
+
+# You can use this to override default values such as
+#  'source.dir' for the location of your java source folder and
+#  'out.dir' for the location of your output folder.
+
+# You can also use it define how the release builds are signed by declaring
+# the following properties:
+#  'key.store' for the location of your keystore and
+#  'key.alias' for the name of the key to use.
+# The password will be asked during the build when you use the 'release' target.
+

+ 13 - 0
spine-cocos2dx/example/proj.android/build-cfg.json

@@ -0,0 +1,13 @@
+{
+    "ndk_module_path" :[
+        "../cocos2d",
+        "../cocos2d/cocos",
+        "../cocos2d/external"
+    ],
+    "copy_resources": [
+        {
+            "from": "../Resources",
+            "to": ""
+        }
+    ]
+}

+ 83 - 0
spine-cocos2dx/example/proj.android/build.xml

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="spine-cocos2dx-example" default="help">
+
+    <!-- The local.properties file is created and updated by the 'android' tool.
+         It contains the path to the SDK. It should *NOT* be checked into
+         Version Control Systems. -->
+    <property file="local.properties" />
+
+    <!-- The ant.properties file can be created by you. It is only edited by the
+         'android' tool to add properties to it.
+         This is the place to change some Ant specific build properties.
+         Here are some properties you may want to change/update:
+
+         source.dir
+             The name of the source directory. Default is 'src'.
+         out.dir
+             The name of the output directory. Default is 'bin'.
+
+         For other overridable properties, look at the beginning of the rules
+         files in the SDK, at tools/ant/build.xml
+
+         Properties related to the SDK location or the project target should
+         be updated using the 'android' tool with the 'update' action.
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems.
+
+         -->
+    <property file="ant.properties" />
+
+    <!-- The project.properties file is created and updated by the 'android'
+         tool, as well as ADT.
+
+         This contains project specific properties such as project target, and library
+         dependencies. Lower level build properties are stored in ant.properties
+         (or in .classpath for Eclipse projects).
+
+         This file is an integral part of the build system for your
+         application and should be checked into Version Control Systems. -->
+    <loadproperties srcFile="project.properties" />
+
+    <!-- quick check on sdk.dir -->
+    <fail
+            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
+            unless="sdk.dir"
+    />
+
+    <!--
+        Import per project custom build rules if present at the root of the project.
+        This is the place to put custom intermediary targets such as:
+            -pre-build
+            -pre-compile
+            -post-compile (This is typically used for code obfuscation.
+                           Compiled code location: ${out.classes.absolute.dir}
+                           If this is not done in place, override ${out.dex.input.absolute.dir})
+            -post-package
+            -post-build
+            -pre-clean
+    -->
+    <import file="custom_rules.xml" optional="true" />
+
+    <!-- Import the actual build file.
+
+         To customize existing targets, there are two options:
+         - Customize only one target:
+             - copy/paste the target into this file, *before* the
+               <import> task.
+             - customize it to your needs.
+         - Customize the whole content of build.xml
+             - copy/paste the content of the rules files (minus the top node)
+               into this file, replacing the <import> task.
+             - customize to your needs.
+
+         ***********************
+         ****** IMPORTANT ******
+         ***********************
+         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+         in order to avoid having your file be overridden by tools such as "android update project"
+    -->
+    <!-- version-tag: 1 -->
+    <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>

+ 6 - 0
spine-cocos2dx/example/proj.android/gen/R.java.d

@@ -0,0 +1,6 @@
+/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java \
+ : /Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png \
+/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png \
+/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png \
+/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/res/values/strings.xml \
+/Users/badlogic/workspaces/esotericsoftware/spine-runtimes/spine-cocos2dx/example/proj.android/bin/AndroidManifest.xml \

+ 6 - 0
spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/BuildConfig.java

@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.esotericsoftware.cocos2dx;
+
+public final class BuildConfig {
+    public final static boolean DEBUG = true;
+}

+ 19 - 0
spine-cocos2dx/example/proj.android/gen/com/esotericsoftware/cocos2dx/R.java

@@ -0,0 +1,19 @@
+/* AUTO-GENERATED FILE.  DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found.  It
+ * should not be modified by hand.
+ */
+
+package com.esotericsoftware.cocos2dx;
+
+public final class R {
+    public static final class attr {
+    }
+    public static final class drawable {
+        public static final int icon=0x7f020000;
+    }
+    public static final class string {
+        public static final int app_name=0x7f030000;
+    }
+}

+ 80 - 0
spine-cocos2dx/example/proj.android/jni/Android.mk

@@ -0,0 +1,80 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
+$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
+$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
+$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/audio/include)
+
+LOCAL_MODULE := MyGame_shared
+
+LOCAL_MODULE_FILENAME := libMyGame
+
+LOCAL_SRC_FILES := hellocpp/main.cpp \
+                   ../../Classes/AppDelegate.cpp \
+                   ../../Classes/BatchingExample.cpp \
+                   ../../Classes/GoblinsExample.cpp \
+                   ../../Classes/RaptorExample.cpp \
+                   ../../Classes/SimpleCommand.cpp \
+                   ../../Classes/SpineboyExample.cpp \
+                   ../../Classes/TankExample.cpp \
+                   ../../../src/spine/AttachmentVertices.cpp \
+                   ../../../src/spine/Cocos2dAttachmentLoader.cpp \
+                   ../../../src/spine/SkeletonAnimation.cpp \
+                   ../../../src/spine/SkeletonBatch.cpp \
+                   ../../../src/spine/SkeletonRenderer.cpp \
+                   ../../../src/spine/spine-cocos2dx.cpp \
+                   ../../../../spine-c/src/spine/Animation.c \
+				   ../../../../spine-c/src/spine/AnimationState.c \
+				   ../../../../spine-c/src/spine/AnimationStateData.c \
+				   ../../../../spine-c/src/spine/Atlas.c \
+				   ../../../../spine-c/src/spine/AtlasAttachmentLoader.c \
+				   ../../../../spine-c/src/spine/Attachment.c \
+				   ../../../../spine-c/src/spine/AttachmentLoader.c \
+				   ../../../../spine-c/src/spine/Bone.c \
+				   ../../../../spine-c/src/spine/BoneData.c \
+				   ../../../../spine-c/src/spine/BoundingBoxAttachment.c \
+				   ../../../../spine-c/src/spine/Event.c \
+				   ../../../../spine-c/src/spine/EventData.c \
+				   ../../../../spine-c/src/spine/IkConstraint.c \
+				   ../../../../spine-c/src/spine/IkConstraintData.c \
+				   ../../../../spine-c/src/spine/Json.c \
+				   ../../../../spine-c/src/spine/MeshAttachment.c \
+				   ../../../../spine-c/src/spine/PathAttachment.c \
+				   ../../../../spine-c/src/spine/PathConstraint.c \
+				   ../../../../spine-c/src/spine/PathConstraintData.c \
+				   ../../../../spine-c/src/spine/RegionAttachment.c \
+				   ../../../../spine-c/src/spine/Skeleton.c \
+				   ../../../../spine-c/src/spine/SkeletonBinary.c \
+				   ../../../../spine-c/src/spine/SkeletonBounds.c \
+				   ../../../../spine-c/src/spine/SkeletonData.c \
+				   ../../../../spine-c/src/spine/SkeletonJson.c \
+				   ../../../../spine-c/src/spine/Skin.c \
+				   ../../../../spine-c/src/spine/Slot.c \
+				   ../../../../spine-c/src/spine/SlotData.c \
+				   ../../../../spine-c/src/spine/TransformConstraint.c \
+				   ../../../../spine-c/src/spine/TransformConstraintData.c \
+				   ../../../../spine-c/src/spine/VertexAttachment.c \
+				   ../../../../spine-c/src/spine/extension.c
+
+
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
+				   $(LOCAL_PATH)/../../../../spine-c/include \
+				   $(LOCAL_PATH)/../../../../spine-cocos2dx/src
+
+# _COCOS_HEADER_ANDROID_BEGIN
+# _COCOS_HEADER_ANDROID_END
+
+
+LOCAL_STATIC_LIBRARIES := cocos2dx_static
+
+# _COCOS_LIB_ANDROID_BEGIN
+# _COCOS_LIB_ANDROID_END
+
+include $(BUILD_SHARED_LIBRARY)
+
+$(call import-module,.)
+
+# _COCOS_LIB_IMPORT_ANDROID_BEGIN
+# _COCOS_LIB_IMPORT_ANDROID_END

+ 15 - 0
spine-cocos2dx/example/proj.android/jni/Application.mk

@@ -0,0 +1,15 @@
+APP_STL := gnustl_static
+
+APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
+APP_LDFLAGS := -latomic
+
+APP_ABI := armeabi
+
+
+ifeq ($(NDK_DEBUG),1)
+  APP_CPPFLAGS += -DCOCOS2D_DEBUG=1
+  APP_OPTIM := debug
+else
+  APP_CPPFLAGS += -DNDEBUG
+  APP_OPTIM := release
+endif

+ 15 - 0
spine-cocos2dx/example/proj.android/jni/hellocpp/main.cpp

@@ -0,0 +1,15 @@
+#include "AppDelegate.h"
+#include "cocos2d.h"
+#include "platform/android/jni/JniHelper.h"
+#include <jni.h>
+#include <android/log.h>
+
+#define  LOG_TAG    "main"
+#define  LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
+
+using namespace cocos2d;
+
+void cocos_android_app_init (JNIEnv* env) {
+    LOGD("cocos_android_app_init");
+    AppDelegate *pAppDelegate = new AppDelegate();
+}

+ 10 - 0
spine-cocos2dx/example/proj.android/local.properties

@@ -0,0 +1,10 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+
+# location of the SDK. This is only used by Ant
+# For customization when using a Version Control System, please read the
+# header note.
+sdk.dir=/Applications/android-sdk

+ 20 - 0
spine-cocos2dx/example/proj.android/proguard-project.txt

@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}

+ 13 - 0
spine-cocos2dx/example/proj.android/project.properties

@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-13
+
+android.library.reference.1=../cocos2d/cocos/platform/android/java

二進制
spine-cocos2dx/example/proj.android/res/drawable-hdpi/icon.png


二進制
spine-cocos2dx/example/proj.android/res/drawable-ldpi/icon.png


二進制
spine-cocos2dx/example/proj.android/res/drawable-mdpi/icon.png


+ 4 - 0
spine-cocos2dx/example/proj.android/res/values/strings.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">spine-cocos2dx-example</string>
+</resources>

+ 32 - 0
spine-cocos2dx/example/proj.android/src/org/cocos2dx/cpp/AppActivity.java

@@ -0,0 +1,32 @@
+/****************************************************************************
+Copyright (c) 2008-2010 Ricardo Quesada
+Copyright (c) 2010-2012 cocos2d-x.org
+Copyright (c) 2011      Zynga Inc.
+Copyright (c) 2013-2014 Chukong Technologies Inc.
+ 
+http://www.cocos2d-x.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+****************************************************************************/
+package org.cocos2dx.cpp;
+
+import org.cocos2dx.lib.Cocos2dxActivity;
+
+public class AppActivity extends Cocos2dxActivity {
+}

+ 3 - 9
spine-corona/README.md

@@ -10,9 +10,9 @@ The Spine Runtimes are developed with the intent to be used with data exported f
 
 ## Spine version
 
-spine-corona works with data exported from Spine 2.1.27. Updating spine-corona to [v3.0](https://trello.com/c/tF8UykBM/72-update-runtimes-to-support-v3-0-skewing-scale), [v3.1](https://trello.com/c/bERJAFEq/73-update-runtimes-to-support-v3-1-linked-meshes), [v3.2](https://github.com/EsotericSoftware/spine-runtimes/issues/586), and [v3.3](https://github.com/EsotericSoftware/spine-runtimes/issues/613) is in progress.
+spine-corona works with data exported from the latest Spine version.
 
-spine-corona supports all Spine features except for rendering meshes due to Corona having a limited graphics API.
+spine-corona supports all Spine features.
 
 spine-corona does not yet support loading the binary format.
 
@@ -20,12 +20,6 @@ spine-corona does not yet support loading the binary format.
 
 1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip).
 1. Copy the contents of `spine-lua` to `spine-corona/spine-lua`.
-1. Run the `main.lua` file using Corona. There are multiple examples that can be enabled by editing this file.
+1. Run the `main.lua` file using Corona. Tap/click to switch between skeletons
 
 Alternatively, the `spine-lua` and `spine-corona/spine-corona` directories can be copied into your project. Note that the require statements use `spine-lua.Xxx`, so the spine-lua files must be in a `spine-lua` directory in your project.
-
-## Examples
-
-[spineboy Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-corona/examples/spineboy.lua)
-[goblins Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-corona/examples/goblins.lua)
-[dragon Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-corona/examples/dragon.lua)

+ 3 - 3
spine-corona/build.settings

@@ -1,11 +1,11 @@
 settings = {
 	orientation = {
-		default = "portrait",
-		supported = { "portrait", }
+		default = "landscape",
+		supported = { "landscape", }
 	},	
 	iphone = {
 		plist = {
-			UIStatusBarHidden = false,
+			UIStatusBarHidden = true,
 			UIPrerenderedIcon = true, -- set to false for "shine" overlay
 		}
 	},

+ 1082 - 0
spine-corona/data/goblins-mesh.json

@@ -0,0 +1,1082 @@
+{
+"skeleton": { "hash": "3Z6FWT/Kylgd8cbSWBEwAsOcPEM", "spine": "3.4.02", "width": 266.87, "height": 349.55, "images": "./images/" },
+"bones": [
+	{ "name": "root" },
+	{ "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 },
+	{ "name": "torso", "parent": "hip", "length": 85.82, "rotation": 93.92, "x": -6.42, "y": 1.97 },
+	{ "name": "neck", "parent": "torso", "length": 18.38, "rotation": -1.51, "x": 81.67, "y": -6.34 },
+	{ "name": "head", "parent": "neck", "length": 68.28, "rotation": -13.92, "x": 20.93, "y": 11.59 },
+	{ "name": "left shoulder", "parent": "torso", "length": 35.43, "rotation": -156.96, "x": 74.04, "y": -20.38 },
+	{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "rotation": 28.16, "x": 37.85, "y": -2.34 },
+	{ "name": "left upper leg", "parent": "hip", "length": 50.39, "rotation": -89.09, "x": 14.45, "y": 2.81 },
+	{ "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "rotation": -16.65, "x": 56.34, "y": 0.98 },
+	{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "rotation": 102.43, "x": 58.94, "y": -7.61 },
+	{ "name": "left hand", "parent": "left arm", "length": 11.52, "rotation": 2.7, "x": 35.62, "y": 0.07 },
+	{ "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 },
+	{ "name": "right shoulder", "parent": "torso", "length": 37.24, "rotation": 133.88, "x": 76.02, "y": 18.14 },
+	{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "rotation": 36.32, "x": 37.6, "y": 0.31 },
+	{ "name": "right upper leg", "parent": "hip", "length": 42.45, "rotation": -97.49, "x": -20.07, "y": -6.83 },
+	{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "rotation": -14.34, "x": 42.99, "y": -0.61 },
+	{ "name": "right foot", "parent": "right lower leg", "length": 45.45, "rotation": 110.3, "x": 64.88, "y": 0.04 },
+	{ "name": "right hand", "parent": "right arm", "length": 15.32, "rotation": 2.35, "x": 36.9, "y": 0.34 },
+	{ "name": "spear1", "parent": "left hand", "length": 65.06, "rotation": 102.43, "x": 0.48, "y": 17.03 },
+	{ "name": "spear2", "parent": "spear1", "length": 61.41, "rotation": 0.9, "x": 65.05, "y": 0.04 },
+	{ "name": "spear3", "parent": "spear2", "length": 76.79, "rotation": -0.9, "x": 61.88, "y": 0.57 }
+],
+"slots": [
+	{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" },
+	{ "name": "left arm", "bone": "left arm", "attachment": "left arm" },
+	{ "name": "left hand item", "bone": "left hand", "attachment": "spear" },
+	{ "name": "left hand", "bone": "left hand", "attachment": "left hand" },
+	{ "name": "left foot", "bone": "left foot", "attachment": "left foot" },
+	{ "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" },
+	{ "name": "left upper leg", "bone": "left upper leg", "attachment": "left upper leg" },
+	{ "name": "neck", "bone": "neck", "attachment": "neck" },
+	{ "name": "torso", "bone": "torso", "attachment": "torso" },
+	{ "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" },
+	{ "name": "right foot", "bone": "right foot", "attachment": "right foot" },
+	{ "name": "right lower leg", "bone": "right lower leg", "attachment": "right lower leg" },
+	{ "name": "undie straps", "bone": "pelvis", "attachment": "undie straps" },
+	{ "name": "undies", "bone": "pelvis", "attachment": "undies" },
+	{ "name": "right upper leg", "bone": "right upper leg", "attachment": "right upper leg" },
+	{ "name": "head", "bone": "head", "attachment": "head" },
+	{ "name": "eyes", "bone": "head" },
+	{ "name": "right shoulder", "bone": "right shoulder", "attachment": "right shoulder" },
+	{ "name": "right arm", "bone": "right arm", "attachment": "right arm" },
+	{ "name": "right hand thumb", "bone": "right hand", "attachment": "right hand thumb" },
+	{ "name": "right hand item", "bone": "right hand", "attachment": "dagger" },
+	{ "name": "right hand", "bone": "right hand", "attachment": "right hand" },
+	{ "name": "right hand item 2", "bone": "right hand", "attachment": "shield" }
+],
+"skins": {
+	"default": {
+		"left hand item": {
+			"dagger": { "x": 7.88, "y": -23.45, "rotation": 10.47, "width": 26, "height": 108 },
+			"spear": {
+				"type": "mesh",
+				"uvs": [ 1, 0.11236, 0.77096, 0.13278, 0.76608, 0.21781, 0.75642, 0.386, 0.74723, 0.54607, 0.72117, 1, 0.28838, 1, 0.24208, 0.54327, 0.22589, 0.38361, 0.2089, 0.21605, 0.20043, 0.13242, 0, 0.11519, 0.4527, 0, 0.58399, 0 ],
+				"triangles": [ 5, 6, 4, 6, 7, 4, 4, 7, 3, 2, 9, 1, 9, 10, 1, 10, 12, 1, 12, 13, 1, 1, 13, 0, 10, 11, 12, 3, 8, 2, 8, 9, 2, 7, 8, 3 ],
+				"vertices": [ 1, 20, 38.54, -10.88, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.58, 0.5116, 20, -0.31, -6.16, 0.48839, 2, 18, 64.73, -5.03, 0.50272, 19, -0.4, -5.06, 0.49728, 1, 10, 4.56, 23.91, 1, 1, 10, 41.7, -138.95, 1, 1, 10, 32.41999, -141.1, 1, 1, 10, -6.49, 22.4, 1, 2, 18, 65.48, 6.64, 0.50272, 19, 0.52999, 6.59, 0.49728, 2, 19, 62.18, 6.66, 0.5116, 20, 0.2, 6.09, 0.48839, 1, 20, 30.96, 6.61, 1, 1, 20, 37.25999, 11.09, 1, 1, 20, 79.75, 1.59, 1, 1, 20, 79.78, -1.29, 1 ],
+				"hull": 14,
+				"edges": [ 24, 22, 22, 20, 10, 12, 2, 0, 24, 26, 0, 26, 8, 10, 12, 14, 6, 8, 14, 16, 2, 4, 4, 6, 16, 18, 18, 20, 20, 2 ],
+				"width": 22,
+				"height": 368
+			}
+		},
+		"right hand item": {
+			"dagger": {
+				"type": "mesh",
+				"uvs": [ 0.78091, 0.38453, 1, 0.38405, 1, 0.44881, 0.73953, 0.4687, 0.74641, 0.81344, 0.34022, 1, 0.15434, 1, 0.11303, 0.78858, 0.23007, 0.47367, 0, 0.45047, 0, 0.38621, 0.22367, 0.38573, 0.24384, 0, 1, 0 ],
+				"triangles": [ 0, 12, 13, 11, 12, 0, 0, 1, 2, 9, 10, 11, 3, 11, 0, 3, 0, 2, 8, 11, 3, 9, 11, 8, 5, 6, 7, 4, 5, 8, 4, 8, 3, 5, 7, 8 ],
+				"vertices": [ 15.49, -12.82, 21.13, -13.57, 20.16, -20.49, 13.15, -21.67, 8.13, -58.56, -5.13, -77.04, -9.92, -76.36, -7.79, -53.6, -0.03, -20.36, -5.6, -17.04, -4.63, -10.17, 1.12, -10.93, 7.46, 30.24, 26.93, 27.49 ],
+				"hull": 14,
+				"edges": [ 22, 20, 24, 26, 22, 24, 2, 0, 0, 22, 0, 26, 12, 14, 14, 16, 18, 20, 16, 18, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ],
+				"width": 26,
+				"height": 108
+			}
+		},
+		"right hand item 2": {
+			"shield": { "rotation": 93.49, "width": 70, "height": 72 }
+		}
+	},
+	"goblin": {
+		"eyes": {
+			"eyes closed": { "name": "goblin/eyes-closed", "x": 29.19, "y": -24.89, "rotation": -88.92, "width": 34, "height": 12 }
+		},
+		"head": {
+			"head": {
+				"name": "goblin/head",
+				"type": "mesh",
+				"uvs": [ 0, 0.60494, 0.14172, 0.5145, 0.24218, 0.55229, 0.32667, 0.67806, 0.37969, 0.79352, 0.53505, 0.93014, 0.86056, 1, 0.94071, 0.94169, 0.92098, 0.69923, 0.9888, 0.65497, 0.99003, 0.51643, 0.89632, 0.43561, 0.94487, 0.41916, 1, 0.39713, 1, 0.2836, 0.94017, 0.27027, 0.87906, 0.25666, 0.80754, 0.16044, 0.66698, 0.01997, 0.4734, 0.01805, 0.29215, 0.19893, 0.25392, 0.31823, 0.09117, 0.324, 0, 0.44331, 0.43271, 0.69153, 0.466, 0.47794, 0.35996, 0.31246, 0.73473, 0.68593, 0.72215, 0.57425, 0.88179, 0.5583, 0.80267, 0.51015 ],
+				"triangles": [ 5, 27, 6, 7, 27, 8, 7, 6, 27, 4, 24, 5, 5, 24, 27, 4, 3, 24, 27, 29, 8, 8, 29, 9, 24, 28, 27, 24, 25, 28, 24, 3, 25, 29, 28, 30, 29, 27, 28, 25, 2, 26, 25, 3, 2, 9, 29, 10, 0, 23, 1, 28, 25, 30, 29, 11, 10, 29, 30, 11, 2, 21, 26, 2, 1, 21, 23, 22, 1, 1, 22, 21, 30, 16, 11, 30, 17, 16, 30, 25, 17, 17, 26, 18, 18, 26, 19, 26, 17, 25, 11, 15, 12, 11, 16, 15, 12, 15, 13, 15, 14, 13, 21, 20, 26, 26, 20, 19 ],
+				"vertices": [ 14.56, 50.42, 23.12, 35.47, 17.45999, 26.36, 11.57, 16.86, 3.74, 11.71, -5.89, -3.91, -11.83, -37.23, -8.31, -45.63, 7.75, -44.24, 10.39, -51.33, 19.52, -51.82, 25.21, -43.15, 26.12, -47.43, 27.35, -53.16, 34.84, -53.46, 35.96, -47.33, 37.11, -41.08, 43.75, -33.97, 53.58, -19.87, 54.5, 0.03, 43.31, 19.16, 35.59999, 23.41, 35.89, 40.16999, 28.39, 49.87, 10.25, 5.99, 24.2, 2, 35.55, 12.48, 9.39, -25.1, 16.79999, -24.31, 17.2, -40.65, 20.68, -33.02 ],
+				"hull": 24,
+				"edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 26, 28, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 0, 46, 6, 48, 48, 50, 50, 52, 52, 42, 2, 4, 4, 6, 4, 52, 2, 44, 22, 32, 22, 24, 24, 26, 28, 30, 30, 32, 24, 30, 16, 54, 54, 56, 20, 58, 58, 54, 16, 58, 22, 60, 60, 56, 58, 60 ],
+				"width": 103,
+				"height": 66
+			}
+		},
+		"left arm": {
+			"left arm": {
+				"name": "goblin/left-arm",
+				"type": "mesh",
+				"uvs": [ 0.68992, 0.29284, 1, 0.46364, 1, 0.74643, 0.84089, 1, 0.66344, 1, 0.33765, 0.64284, 0, 0.44124, 0, 0, 0.34295, 0 ],
+				"triangles": [ 3, 4, 2, 4, 5, 2, 5, 0, 2, 0, 1, 2, 0, 5, 8, 5, 6, 8, 6, 7, 8 ],
+				"vertices": [ 18.6, 8.81, 32.18999, 10.31, 38.02, 1.62, 38.08, -9.63, 32.31, -13.49, 14.37, -9.62, -0.75, -10.78, -9.84, 2.77, 1.29, 10.25 ],
+				"hull": 9,
+				"edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 6, 4, 6, 8, 8, 10, 12, 14, 10, 12 ],
+				"width": 37,
+				"height": 35
+			}
+		},
+		"left foot": {
+			"left foot": {
+				"name": "goblin/left-foot",
+				"type": "mesh",
+				"uvs": [ 0.15733, 0.31873, 0.08195, 0.78502, 0.15884, 0.99366, 0.41633, 0.96804, 0.68822, 0.97636, 1, 0.96388, 0.99385, 0.73501, 0.85294, 0.51862, 0.61479, 0.31056, 0.46991, 0, 0.48032, 0.75604, 0.75994, 0.77706 ],
+				"triangles": [ 0, 9, 8, 10, 0, 8, 10, 8, 7, 11, 10, 7, 11, 7, 6, 1, 0, 10, 11, 6, 5, 3, 1, 10, 4, 10, 11, 4, 11, 5, 3, 10, 4, 2, 1, 3 ],
+				"vertices": [ 2.28, 13.07, -1.76, -1.64, 3.59, -7.8, 20.25, -6.04, 37.91, -5.27, 58.12, -3.71, 57.31, 3.34, 47.78, 9.51, 31.95, 15.05, 21.99, 24.11, 24.03, 0.75, 42.21, 1.16 ],
+				"hull": 10,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 6, 20, 20, 16, 2, 20, 8, 22, 22, 14, 20, 22, 22, 10 ],
+				"width": 65,
+				"height": 31
+			}
+		},
+		"left hand": {
+			"left hand": {
+				"name": "goblin/left-hand",
+				"type": "mesh",
+				"uvs": [ 0.518, 0.12578, 1, 0.16285, 0.99788, 0.50578, 0.69745, 1, 0.37445, 1, 0, 0.80051, 0, 0.42792, 0.17601, 0, 0.43567, 0 ],
+				"triangles": [ 2, 0, 1, 0, 5, 6, 6, 7, 0, 0, 7, 8, 3, 4, 0, 4, 5, 0, 2, 3, 0 ],
+				"vertices": [ -3.11, 15.42, 10.83, 22.27, 15.5, 14.55, 18.35, -8.96, 9.47999, -14.32, -4.58, -14.3, -11.63, -2.63, -14.89, 13.68, -7.75, 17.99 ],
+				"hull": 9,
+				"edges": [ 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 14, 16, 12, 14 ],
+				"width": 36,
+				"height": 41
+			}
+		},
+		"left lower leg": {
+			"left lower leg": {
+				"name": "goblin/left-lower-leg",
+				"type": "mesh",
+				"uvs": [ 0.95508, 0.20749, 0.81927, 0.65213, 0.94754, 0.77308, 0.67842, 0.97346, 0.46463, 1, 0.26845, 1, 0.04963, 0.90706, 0.2106, 0.60115, 0.07478, 0.40195, 0.18545, 0, 0.28857, 0 ],
+				"triangles": [ 10, 8, 9, 1, 7, 10, 7, 8, 10, 0, 1, 10, 1, 4, 7, 3, 1, 2, 5, 6, 7, 7, 4, 5, 1, 3, 4 ],
+				"vertices": [ -0.19, 6.82, 30.97, 10.96, 37.97, 17.33, 53.88, 12.6, 57.58, 6.31, 59.34, 0.08, 55.04, -8.63, 32.99, -9.33, 20.79, -17.43, -7.27, -21.56, -8.18999, -18.29 ],
+				"hull": 11,
+				"edges": [ 20, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 18, 20, 16, 18 ],
+				"width": 33,
+				"height": 70
+			}
+		},
+		"left shoulder": {
+			"left shoulder": {
+				"name": "goblin/left-shoulder",
+				"type": "mesh",
+				"uvs": [ 0.7377, 0.40692, 1, 0.75237, 1, 1, 0.62046, 1, 0.26184, 0.56601, 0, 0.29783, 0, 0, 0.44115, 0 ],
+				"triangles": [ 3, 1, 2, 3, 0, 1, 3, 4, 0, 4, 7, 0, 4, 5, 7, 5, 6, 7 ],
+				"vertices": [ 15.18, 5.74, 32.16999, 5.32, 41.79, 0.21, 36.63, -9.5, 14.88, -9.72, 0.9, -10.89, -10.66, -4.73999, -4.66, 6.54 ],
+				"hull": 8,
+				"edges": [ 12, 14, 14, 0, 4, 2, 0, 2, 4, 6, 6, 8, 10, 12, 8, 10 ],
+				"width": 29,
+				"height": 44
+			}
+		},
+		"left upper leg": {
+			"left upper leg": {
+				"name": "goblin/left-upper-leg",
+				"type": "mesh",
+				"uvs": [ 1, 0.12167, 1, 0.54873, 0.91067, 0.78907, 0.76567, 1, 0.3087, 0.9579, 0, 0.68777, 0, 0.219, 0.51961, 0, 0.87552, 0 ],
+				"triangles": [ 7, 8, 0, 5, 6, 7, 0, 1, 7, 4, 5, 7, 1, 4, 7, 2, 4, 1, 3, 4, 2 ],
+				"vertices": [ 2.33, 13.06, 33.5, 12.57, 51, 9.34, 66.32, 4.31, 63, -10.71, 43.13, -20.58, 8.91, -20.04, -6.79, -2.64, -6.61, 9.1 ],
+				"hull": 9,
+				"edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 10, 12, 12, 14, 14, 16, 2, 0, 16, 0 ],
+				"width": 33,
+				"height": 73
+			}
+		},
+		"neck": {
+			"neck": {
+				"name": "goblin/neck",
+				"type": "mesh",
+				"uvs": [ 0.81967, 0.27365, 0.92101, 0.82048, 0.47134, 1, 0.15679, 0.9354, 0, 0.7556, 0.19268, 0.51833, 0.15468, 0.35706, 0, 0.21989, 0.13568, 0, 0.68878, 0, 0.70145, 0.53872 ],
+				"triangles": [ 3, 5, 2, 2, 10, 1, 2, 5, 10, 3, 4, 5, 10, 0, 1, 0, 10, 6, 10, 5, 6, 7, 8, 6, 6, 9, 0, 6, 8, 9 ],
+				"vertices": [ 18.62, -11.65, -3.98, -13.85, -10.28, 2.76, -6.91, 13.89, 0.8, 19.04999, 10.06, 11.51, 16.74, 12.45, 22.71, 17.64, 31.4, 12.19, 30.12, -7.67, 8.05, -6.71 ],
+				"hull": 10,
+				"edges": [ 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 20, 20, 0, 0, 18, 16, 18, 14, 16, 0, 2 ],
+				"width": 36,
+				"height": 41
+			}
+		},
+		"pelvis": {
+			"pelvis": {
+				"name": "goblin/pelvis",
+				"type": "mesh",
+				"uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ],
+				"triangles": [ 1, 2, 3, 1, 3, 0 ],
+				"vertices": [ 25.38, -20.73, -36.61, -20.73, -36.61, 22.26, 25.38, 22.26 ],
+				"hull": 4,
+				"edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ],
+				"width": 62,
+				"height": 43
+			}
+		},
+		"right arm": {
+			"right arm": {
+				"name": "goblin/right-arm",
+				"type": "mesh",
+				"uvs": [ 1, 0.09223, 1, 0.8501, 0.72058, 1, 0.24384, 1, 0, 0.86558, 0.20822, 0.10919, 0.50903, 0, 0.85342, 0 ],
+				"triangles": [ 1, 2, 6, 6, 2, 5, 1, 6, 0, 4, 5, 3, 2, 3, 5, 6, 7, 0 ],
+				"vertices": [ -4.75, 8.89, 33.03, 11.74, 40.99, 5.89, 41.81, -5.03, 35.53, -11.13, -2.53, -9.2, -8.5, -2.71, -9.09, 5.17999 ],
+				"hull": 8,
+				"edges": [ 8, 6, 4, 6, 4, 2, 12, 14, 2, 0, 14, 0, 10, 12, 8, 10 ],
+				"width": 23,
+				"height": 50
+			}
+		},
+		"right foot": {
+			"right foot": {
+				"name": "goblin/right-foot",
+				"type": "mesh",
+				"uvs": [ 0.40851, 0.0047, 0.59087, 0.33404, 0.75959, 0.48311, 0.88907, 0.59751, 0.97532, 0.89391, 0.90385, 1, 0.6722, 1, 0.38633, 1, 0.08074, 1, 0, 0.88921, 0, 0.65984, 0, 0.46577, 0.0906, 0.0988, 0.305, 0, 0.47461, 0.71257, 0.715, 0.74681 ],
+				"triangles": [ 1, 10, 11, 1, 13, 0, 14, 1, 2, 1, 12, 13, 12, 1, 11, 14, 10, 1, 15, 14, 2, 15, 2, 3, 9, 10, 14, 15, 3, 4, 7, 8, 9, 14, 7, 9, 6, 14, 15, 5, 6, 15, 7, 14, 6, 4, 5, 15 ],
+				"vertices": [ 17.36, 25.99, 29.13, 15.44, 39.89, 10.8, 48.14, 7.24, 53.84, -2.38, 49.43, -6, 34.84, -6.39, 16.84, -6.87, -2.4, -7.38, -7.58, -3.86, -7.78, 3.7, -7.95, 10.1, -2.57, 22.36, 10.84, 25.97, 22.14, 2.75, 37.31, 2.03 ],
+				"hull": 14,
+				"edges": [ 0, 2, 6, 8, 8, 10, 16, 18, 22, 24, 24, 26, 0, 26, 10, 12, 2, 4, 4, 6, 12, 14, 14, 16, 18, 20, 20, 22, 2, 28, 28, 14, 20, 28, 4, 30, 30, 12, 28, 30, 30, 8 ],
+				"width": 63,
+				"height": 33
+			}
+		},
+		"right hand": {
+			"right hand": {
+				"name": "goblin/right-hand",
+				"type": "mesh",
+				"uvs": [ 0.17957, 0, 0, 0.44772, 0, 0.79734, 0.20057, 0.94264, 0.55057, 1, 0.8539, 1, 0.89823, 0.82004, 0.8259, 0.74285, 0.84223, 0.49993, 0.96356, 0.34102, 0.66023, 0 ],
+				"triangles": [ 8, 10, 9, 0, 10, 1, 8, 2, 1, 8, 1, 10, 7, 3, 8, 3, 2, 8, 4, 3, 7, 5, 7, 6, 4, 7, 5 ],
+				"vertices": [ -10.82, -9.45, 5.95, -15.34, 18.87999, -14.9, 24, -7.5, 25.69, 5.16, 25.31, 16.07, 18.61, 17.44, 15.84, 14.74, 6.84, 15.02, 0.81, 19.18, -11.41, 7.83 ],
+				"hull": 11,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 0, 20 ],
+				"width": 36,
+				"height": 37
+			}
+		},
+		"right hand thumb": {
+			"right hand thumb": {
+				"name": "goblin/right-hand",
+				"type": "mesh",
+				"uvs": [ 0.88538, 0.22262, 0.76167, 0.3594, 0.75088, 0.78308, 0.95326, 0.84981, 1, 0.60302 ],
+				"triangles": [ 1, 0, 4, 2, 1, 4, 3, 2, 4 ],
+				"vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ],
+				"hull": 5,
+				"edges": [ 2, 4, 4, 6, 6, 8, 2, 0, 0, 8 ],
+				"width": 36,
+				"height": 37
+			}
+		},
+		"right lower leg": {
+			"right lower leg": {
+				"name": "goblin/right-lower-leg",
+				"type": "mesh",
+				"uvs": [ 1, 0.27261, 0.81312, 0.52592, 0.79587, 0.71795, 0.95544, 0.80988, 0.85193, 0.95493, 0.47241, 1, 0.14033, 1, 0, 0.8773, 0.14896, 0.67914, 0.1619, 0.30325, 0.60611, 0 ],
+				"triangles": [ 1, 10, 0, 9, 10, 1, 8, 9, 1, 2, 8, 1, 4, 2, 3, 6, 7, 8, 5, 6, 8, 2, 5, 8, 4, 5, 2 ],
+				"vertices": [ 6.26, 8.46, 23.32, 8.04, 37.09999, 12.89, 41.45, 20.82, 53.07, 21.46, 61.33, 10.06, 65.76999, -1.03, 58.99, -9.18999, 43.02, -9.81, 16.33, -20, -12.79, -9.26 ],
+				"hull": 11,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 20, 18, 20 ],
+				"width": 36,
+				"height": 76
+			}
+		},
+		"right shoulder": {
+			"right shoulder": {
+				"name": "goblin/right-shoulder",
+				"type": "mesh",
+				"uvs": [ 0.62008, 0.03708, 0.92131, 0.09048, 1, 0.38319, 0.72049, 0.6937, 0.31656, 1, 0, 1, 0, 0.75106, 0.28233, 0.49988 ],
+				"triangles": [ 4, 6, 7, 4, 7, 3, 4, 5, 6, 7, 0, 3, 2, 0, 1, 2, 3, 0 ],
+				"vertices": [ -3.17, -11.05, -9, -0.57, -1.01, 10.33, 16.69, 11.17, 37.41, 8.2, 45.45, -1.16, 36.95, -8.46, 21.2, -7.47 ],
+				"hull": 8,
+				"edges": [ 10, 12, 12, 14, 14, 0, 0, 2, 2, 4, 4, 6, 8, 10, 6, 8 ],
+				"width": 39,
+				"height": 45
+			}
+		},
+		"right upper leg": {
+			"right upper leg": {
+				"name": "goblin/right-upper-leg",
+				"type": "mesh",
+				"uvs": [ 0.27018, 0, 0.11618, 0.18177, 0, 0.70688, 0, 0.89577, 0.26668, 1, 0.48718, 1, 0.67618, 0.83532, 1, 0.5161, 1, 0.25543, 0.74618, 0.0571 ],
+				"triangles": [ 9, 8, 7, 9, 1, 0, 6, 9, 7, 6, 1, 9, 2, 1, 6, 4, 3, 2, 6, 4, 2, 5, 4, 6 ],
+				"vertices": [ -9.85, -10.37, 2.17, -14.07, 35.49, -13.66, 47.29, -12.11, 52.61, -2.26, 51.63, 5.16, 40.50999, 10.18, 19.12999, 18.46999, 2.85, 16.32, -8.39999, 6.14 ],
+				"hull": 10,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18 ],
+				"width": 34,
+				"height": 63
+			}
+		},
+		"torso": {
+			"torso": {
+				"name": "goblin/torso",
+				"type": "mesh",
+				"uvs": [ 0, 0.33287, 0.15945, 0.46488, 0.15761, 0.60314, 0.15502, 0.79806, 0.32807, 0.93478, 0.6875, 1, 0.80731, 1, 1, 0.77763, 1, 0.66147, 1, 0.56703, 0.93207, 0.4771, 0.86944, 0.39416, 0.83837, 0.226, 0.68085, 0, 0.14836, 0, 0, 0.07199, 0.78734, 0.86249, 0.43679, 0.79649, 0.76738, 0.61733, 0.44345, 0.58747, 0.54329, 0.38316, 0.77692, 0.73446, 0.66478, 0.51012 ],
+				"triangles": [ 5, 16, 6, 6, 16, 7, 4, 17, 5, 5, 17, 16, 4, 3, 17, 17, 21, 16, 16, 21, 7, 3, 2, 17, 21, 19, 18, 21, 17, 19, 17, 2, 19, 21, 8, 7, 21, 18, 8, 18, 9, 8, 19, 22, 18, 18, 10, 9, 18, 22, 10, 2, 1, 19, 19, 20, 22, 19, 1, 20, 22, 11, 10, 22, 20, 11, 20, 1, 14, 20, 12, 11, 1, 0, 14, 20, 13, 12, 20, 14, 13, 0, 15, 14 ],
+				"vertices": [ 56.93, 27.95, 43.37, 18.23, 30.16, 19.5, 11.53, 21.28, -2.55, 10.69, -10.89, -13.12, -11.59, -21.23, 8.54, -36.12, 19.65, -37.08, 28.68, -37.86, 37.68, -34, 45.98, -30.44, 56.4, -29.07, 84.78, -20.92, 87.9, 15.15, 81.87999, 25.79, 1.67, -21.01, 10.03, 2.18, 25.23, -18.25, 29.98, 0, 48.54, -8.39, 13.98, -21.36, 35.9, -15.6 ],
+				"hull": 16,
+				"edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30, 14, 32, 32, 34, 34, 6, 18, 36, 36, 38, 2, 4, 4, 6, 38, 4, 2, 40, 40, 22, 40, 38, 38, 34, 32, 10, 34, 8, 40, 28, 14, 16, 16, 18, 32, 42, 42, 36, 16, 42, 42, 34, 18, 20, 20, 22, 36, 44, 44, 40, 20, 44 ],
+				"width": 68,
+				"height": 96
+			}
+		},
+		"undie straps": {
+			"undie straps": {
+				"name": "goblin/undie-straps",
+				"type": "mesh",
+				"uvs": [ 0.36097, 0.44959, 0.66297, 0.60591, 1, 0.19486, 1, 0.57117, 0.75897, 1, 0.38697, 1, 0, 0.26433, 0, 0, 0.12497, 0 ],
+				"triangles": [ 6, 7, 8, 6, 8, 0, 3, 1, 2, 5, 0, 1, 6, 0, 5, 4, 1, 3, 5, 1, 4 ],
+				"vertices": [ -10.56, 12.87, 6.53, 9.89999, 25.62, 17.70999, 25.62, 10.56, 11.97, 2.41, -9.09, 2.41, -31, 16.39, -31, 21.41, -23.92, 21.41 ],
+				"hull": 9,
+				"edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 12, 14, 10, 12, 0, 10, 2, 8 ],
+				"width": 55,
+				"height": 19
+			}
+		},
+		"undies": {
+			"undies": {
+				"name": "goblin/undies",
+				"type": "mesh",
+				"uvs": [ 0, 0.32029, 0.14893, 0.59457, 0.22437, 1, 0.35909, 1, 0.50998, 1, 0.79559, 0.58453, 0.9842, 0.28015, 1, 0.00588, 0.46957, 0.17646, 0, 0.03933, 0.48843, 0.59122, 0.48114, 0.43099 ],
+				"triangles": [ 6, 8, 7, 0, 9, 8, 11, 8, 6, 0, 8, 11, 5, 11, 6, 10, 11, 5, 1, 0, 11, 1, 11, 10, 3, 2, 1, 10, 3, 1, 4, 10, 5, 3, 10, 4 ],
+				"vertices": [ -13.22, 5.56, -8, -2.47, -5.49, -14.27, -0.64, -14.36, 4.78, -14.45, 15.27, -2.58999, 22.22, 6.11, 22.92, 14.05, 3.75, 9.43999, -13.08, 13.71, 4.21, -2.58999, 4.03, 2.05 ],
+				"hull": 10,
+				"edges": [ 0, 2, 2, 4, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 4, 6, 6, 8, 6, 20, 16, 22, 22, 20, 0, 22, 22, 12, 2, 20, 20, 10 ],
+				"width": 36,
+				"height": 29
+			}
+		}
+	},
+	"goblingirl": {
+		"eyes": {
+			"eyes closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.54, "rotation": -87.04, "width": 37, "height": 21 }
+		},
+		"head": {
+			"head": { "name": "goblingirl/head", "x": 27.71, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 }
+		},
+		"left arm": {
+			"left arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.42, "rotation": 33.05, "width": 37, "height": 35 }
+		},
+		"left foot": {
+			"left foot": { "name": "goblingirl/left-foot", "x": 25.17, "y": 7.92, "rotation": 3.32, "width": 65, "height": 31 }
+		},
+		"left hand": {
+			"left hand": {
+				"name": "goblingirl/left-hand",
+				"x": 4.34,
+				"y": 2.39,
+				"scaleX": 0.896,
+				"scaleY": 0.896,
+				"rotation": 30.34,
+				"width": 35,
+				"height": 40
+			}
+		},
+		"left lower leg": {
+			"left lower leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.6, "rotation": 105.75, "width": 33, "height": 70 }
+		},
+		"left shoulder": {
+			"left shoulder": { "name": "goblingirl/left-shoulder", "x": 19.8, "y": -0.42, "rotation": 61.21, "width": 28, "height": 46 }
+		},
+		"left upper leg": {
+			"left upper leg": { "name": "goblingirl/left-upper-leg", "x": 30.21, "y": -2.95, "rotation": 89.09, "width": 33, "height": 70 }
+		},
+		"neck": {
+			"neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.14, "rotation": -98.86, "width": 35, "height": 41 }
+		},
+		"pelvis": {
+			"pelvis": { "name": "goblingirl/pelvis", "x": -3.87, "y": 3.18, "width": 62, "height": 43 }
+		},
+		"right arm": {
+			"right arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.52, "width": 28, "height": 50 }
+		},
+		"right foot": {
+			"right foot": { "name": "goblingirl/right-foot", "x": 23.46, "y": 9.66, "rotation": 1.52, "width": 63, "height": 33 }
+		},
+		"right hand": {
+			"right hand": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 }
+		},
+		"right hand thumb": {
+			"right hand thumb": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 }
+		},
+		"right lower leg": {
+			"right lower leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.27, "rotation": 111.83, "width": 36, "height": 76 }
+		},
+		"right shoulder": {
+			"right shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.45, "rotation": 129.85, "width": 39, "height": 45 }
+		},
+		"right upper leg": {
+			"right upper leg": { "name": "goblingirl/right-upper-leg", "x": 19.69, "y": 2.13, "rotation": 97.49, "width": 34, "height": 63 }
+		},
+		"torso": {
+			"torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.74, "width": 68, "height": 96 }
+		},
+		"undie straps": {
+			"undie straps": { "name": "goblingirl/undie-straps", "x": -1.51, "y": 14.18, "width": 55, "height": 19 }
+		},
+		"undies": {
+			"undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.7, "width": 36, "height": 29 }
+		}
+	}
+},
+"animations": {
+	"walk": {
+		"slots": {
+			"eyes": {
+				"attachment": [
+					{ "time": 0.7, "name": "eyes closed" },
+					{ "time": 0.8, "name": null }
+				]
+			}
+		},
+		"bones": {
+			"left upper leg": {
+				"rotate": [
+					{ "time": 0, "angle": -26.55 },
+					{ "time": 0.1333, "angle": -8.78 },
+					{ "time": 0.2333, "angle": 9.51 },
+					{ "time": 0.3666, "angle": 30.74 },
+					{ "time": 0.5, "angle": 25.33 },
+					{ "time": 0.6333, "angle": 26.11 },
+					{ "time": 0.7333, "angle": 7.45 },
+					{ "time": 0.8666, "angle": -21.19 },
+					{ "time": 1, "angle": -26.55 }
+				],
+				"translate": [
+					{ "time": 0, "x": -1.32, "y": 1.7 },
+					{ "time": 0.3666, "x": -0.06, "y": 2.42 },
+					{ "time": 1, "x": -1.32, "y": 1.7 }
+				]
+			},
+			"right upper leg": {
+				"rotate": [
+					{ "time": 0, "angle": 42.45 },
+					{
+						"time": 0.1333,
+						"angle": 49.86,
+						"curve": [ 0.414, 0, 0.705, 0.99 ]
+					},
+					{ "time": 0.2333, "angle": 22.51 },
+					{ "time": 0.5, "angle": -16.93 },
+					{ "time": 0.6333, "angle": 1.89 },
+					{
+						"time": 0.7333,
+						"angle": 34.86,
+						"curve": [ 0.462, 0.11, 1, 1 ]
+					},
+					{
+						"time": 0.8666,
+						"angle": 58.68,
+						"curve": [ 0.5, 0.02, 1, 1 ]
+					},
+					{ "time": 1, "angle": 42.45 }
+				],
+				"translate": [
+					{ "time": 0, "x": 6.23, "y": 0 },
+					{ "time": 0.2333, "x": 2.14, "y": 2.4 },
+					{ "time": 0.5, "x": 2.44, "y": 4.8 },
+					{ "time": 1, "x": 6.23, "y": 0 }
+				]
+			},
+			"left lower leg": {
+				"rotate": [
+					{ "time": 0, "angle": -18.05 },
+					{ "time": 0.1333, "angle": -63.5 },
+					{ "time": 0.2333, "angle": -83.01 },
+					{ "time": 0.5, "angle": 5.11 },
+					{ "time": 0.6333, "angle": -28.29 },
+					{ "time": 0.7333, "angle": -27.52 },
+					{ "time": 0.8666, "angle": 3.53 },
+					{ "time": 1, "angle": -18.05 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.2333, "x": 2.55, "y": -0.47 },
+					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"left foot": {
+				"rotate": [
+					{ "time": 0, "angle": -14.56 },
+					{ "time": 0.1333, "angle": -10.42 },
+					{ "time": 0.2333, "angle": -5.01 },
+					{ "time": 0.3, "angle": 6.67 },
+					{ "time": 0.3666, "angle": 3.87 },
+					{ "time": 0.5, "angle": -3.87 },
+					{ "time": 0.6333, "angle": 2.78 },
+					{ "time": 0.7333, "angle": -11.99 },
+					{ "time": 0.8666, "angle": -12.45 },
+					{ "time": 1, "angle": -14.56 }
+				]
+			},
+			"right shoulder": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 5.29,
+						"curve": [ 0.264, 0, 0.75, 1 ]
+					},
+					{ "time": 0.6333, "angle": 6.65 },
+					{ "time": 1, "angle": 5.29 }
+				]
+			},
+			"right arm": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -4.02,
+						"curve": [ 0.267, 0, 0.804, 0.99 ]
+					},
+					{
+						"time": 0.6333,
+						"angle": 19.78,
+						"curve": [ 0.307, 0, 0.787, 0.99 ]
+					},
+					{ "time": 1, "angle": -4.02 }
+				]
+			},
+			"right hand": {
+				"rotate": [
+					{ "time": 0, "angle": 8.98 },
+					{ "time": 0.6333, "angle": 0.51 },
+					{ "time": 1, "angle": 8.98 }
+				]
+			},
+			"left shoulder": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 6.25,
+						"curve": [ 0.339, 0, 0.683, 1 ]
+					},
+					{
+						"time": 0.5,
+						"angle": -11.78,
+						"curve": [ 0.281, 0, 0.686, 0.99 ]
+					},
+					{ "time": 1, "angle": 6.25 }
+				],
+				"translate": [
+					{ "time": 0, "x": 1.15, "y": 0.23 }
+				]
+			},
+			"left hand": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -21.23,
+						"curve": [ 0.295, 0, 0.755, 0.98 ]
+					},
+					{
+						"time": 0.5,
+						"angle": -27.28,
+						"curve": [ 0.241, 0, 0.75, 0.97 ]
+					},
+					{ "time": 1, "angle": -21.23 }
+				]
+			},
+			"left arm": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 28.37,
+						"curve": [ 0.339, 0, 0.683, 1 ]
+					},
+					{
+						"time": 0.5,
+						"angle": 60.09,
+						"curve": [ 0.281, 0, 0.686, 0.99 ]
+					},
+					{ "time": 1, "angle": 28.37 }
+				]
+			},
+			"torso": {
+				"rotate": [
+					{ "time": 0, "angle": -10.28 },
+					{
+						"time": 0.1333,
+						"angle": -15.38,
+						"curve": [ 0.545, 0, 0.818, 1 ]
+					},
+					{
+						"time": 0.3666,
+						"angle": -9.78,
+						"curve": [ 0.58, 0.17, 0.669, 0.99 ]
+					},
+					{
+						"time": 0.6333,
+						"angle": -15.75,
+						"curve": [ 0.235, 0.01, 0.795, 1 ]
+					},
+					{
+						"time": 0.8666,
+						"angle": -7.06,
+						"curve": [ 0.209, 0, 0.816, 0.98 ]
+					},
+					{ "time": 1, "angle": -10.28 }
+				],
+				"translate": [
+					{ "time": 0, "x": -3.72, "y": -0.01 }
+				]
+			},
+			"right foot": {
+				"rotate": [
+					{ "time": 0, "angle": -5.25 },
+					{ "time": 0.2333, "angle": -17.76 },
+					{ "time": 0.3666, "angle": -20.09 },
+					{ "time": 0.5, "angle": -19.73 },
+					{ "time": 0.7333, "angle": -11.68 },
+					{ "time": 0.8, "angle": 4.46 },
+					{ "time": 0.8666, "angle": 0.46 },
+					{ "time": 1, "angle": -5.25 }
+				]
+			},
+			"right lower leg": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -3.39,
+						"curve": [ 0.316, 0.01, 0.741, 0.98 ]
+					},
+					{
+						"time": 0.1333,
+						"angle": -43.21,
+						"curve": [ 0.414, 0, 0.705, 0.99 ]
+					},
+					{ "time": 0.2333, "angle": -25.98 },
+					{ "time": 0.5, "angle": -19.53 },
+					{ "time": 0.6333, "angle": -64.8 },
+					{
+						"time": 0.7333,
+						"angle": -89.54,
+						"curve": [ 0.557, 0.18, 1, 1 ]
+					},
+					{ "time": 1, "angle": -3.39 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.5, "x": 0, "y": 0 },
+					{ "time": 0.6333, "x": 2.18, "y": 0.21 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"hip": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": -8.4 },
+					{
+						"time": 0.1333,
+						"x": 0,
+						"y": -9.35,
+						"curve": [ 0.326, 0.05, 0.674, 0.93 ]
+					},
+					{
+						"time": 0.2333,
+						"x": 0,
+						"y": -0.59,
+						"curve": [ 0.325, 0.39, 0.643, 0.7 ]
+					},
+					{ "time": 0.3666, "x": 0, "y": -3.96 },
+					{ "time": 0.5, "x": 0, "y": -8.4 },
+					{
+						"time": 0.6333,
+						"x": 0,
+						"y": -10,
+						"curve": [ 0.359, 0.47, 0.646, 0.74 ]
+					},
+					{
+						"time": 0.7333,
+						"x": 0,
+						"y": -5.29,
+						"curve": [ 0.333, 0.36, 0.662, 0.69 ]
+					},
+					{
+						"time": 0.8,
+						"x": 0,
+						"y": -2.49,
+						"curve": [ 0.322, 0.35, 0.651, 0.68 ]
+					},
+					{ "time": 0.8666, "x": 0, "y": -3.96 },
+					{ "time": 1, "x": 0, "y": -8.4 }
+				]
+			},
+			"neck": {
+				"rotate": [
+					{ "time": 0, "angle": 3.6 },
+					{ "time": 0.1333, "angle": 17.49 },
+					{ "time": 0.2333, "angle": 6.1 },
+					{ "time": 0.3666, "angle": 3.45 },
+					{ "time": 0.5, "angle": 5.17 },
+					{ "time": 0.6333, "angle": 18.36 },
+					{ "time": 0.7333, "angle": 6.09 },
+					{ "time": 0.8666, "angle": 2.28 },
+					{ "time": 1, "angle": 3.6 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 3.6,
+						"curve": [ 0, 0, 0.704, 1.17 ]
+					},
+					{ "time": 0.1333, "angle": -0.2 },
+					{ "time": 0.2333, "angle": 6.1 },
+					{ "time": 0.3666, "angle": 3.45 },
+					{
+						"time": 0.5,
+						"angle": 5.17,
+						"curve": [ 0, 0, 0.704, 1.61 ]
+					},
+					{ "time": 0.6666, "angle": 1.1 },
+					{ "time": 0.7333, "angle": 6.09 },
+					{ "time": 0.8666, "angle": 2.28 },
+					{ "time": 1, "angle": 3.6 }
+				]
+			},
+			"pelvis": {
+				"rotate": [
+					{ "time": 0, "angle": -1.33 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0.39, "y": -0.78 }
+				]
+			},
+			"spear1": {
+				"rotate": [
+					{ "time": 0, "angle": 1.84 },
+					{ "time": 0.2, "angle": -5.38 },
+					{ "time": 0.5, "angle": 2.95 },
+					{ "time": 0.7333, "angle": -3.67 },
+					{ "time": 1, "angle": 1.84 }
+				]
+			},
+			"spear2": {
+				"rotate": [
+					{ "time": 0, "angle": 1.84 },
+					{ "time": 0.2, "angle": -5.38 },
+					{ "time": 0.5, "angle": 2.95 },
+					{ "time": 0.7333, "angle": -3.67 },
+					{ "time": 1, "angle": 1.84 }
+				]
+			},
+			"spear3": {
+				"rotate": [
+					{ "time": 0, "angle": 3.64 },
+					{ "time": 0.2, "angle": -3.59 },
+					{ "time": 0.5, "angle": 4.74 },
+					{ "time": 0.7333, "angle": -1.87 },
+					{ "time": 1, "angle": 3.64 }
+				]
+			}
+		},
+		"deform": {
+			"default": {
+				"left hand item": {
+					"spear": [
+						{ "time": 0 }
+					]
+				},
+				"right hand item": {
+					"dagger": [
+						{
+							"time": 0,
+							"offset": 26,
+							"vertices": [ 2.34754, 0.14469 ],
+							"curve": [ 0.25, 0, 0.75, 1 ]
+						},
+						{
+							"time": 0.5,
+							"offset": 8,
+							"vertices": [ -1.19415, 4.31531, 0.07279, 6.41351, 1.66048, 6.18882, 1.75232, 3.59555 ],
+							"curve": [ 0.25, 0, 0.75, 1 ]
+						},
+						{
+							"time": 1,
+							"offset": 26,
+							"vertices": [ 2.34754, 0.14469 ]
+						}
+					]
+				}
+			},
+			"goblin": {
+				"head": {
+					"head": [
+						{
+							"time": 0,
+							"curve": [ 0.632, 0, 0.75, 1 ]
+						},
+						{
+							"time": 0.2,
+							"vertices": [ -10.97826, -6.68962, -4.68015, -2.46175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08534, 0.08391, -1.08534, 0.08391, -1.08534, 0.08391, 0, 0, -2.22324, 2.66465, -4.83295, 2.70084, -5.70553, -0.51941, -3.15962, -1.61501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64741, 0.81612, -11.82285, -1.34955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08534, 0.08391 ],
+							"curve": [ 0.25, 0, 0.75, 1 ]
+						},
+						{
+							"time": 0.3666,
+							"vertices": [ 10.69275, 4.05949, 3.66373, 1.85426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47305, 0.09017, 1.47305, 0.09017, 1.47305, 0.09017, 0, 0, 2.69652, -0.22738, 3.77135, 0.11417, 3.6893, 1.55352, 2.49594, 1.65501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.4588, -3.9113, 9.19593, -1.66854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47305, 0.09017 ],
+							"curve": [ 0.621, 0, 0.75, 1 ]
+						},
+						{
+							"time": 0.7,
+							"vertices": [ -10.97826, -6.68962, -4.68015, -2.46175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.1755, -0.17183, -1.1755, -0.17182, -1.1755, -0.17183, 0, 0, -2.22324, 2.66465, -4.83295, 2.70084, -5.70553, -0.51941, -3.15962, -1.61501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64741, 0.81612, -11.82285, -1.34955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.1755, -0.17183 ],
+							"curve": [ 0.25, 0, 0.75, 1 ]
+						},
+						{
+							"time": 0.8666,
+							"vertices": [ 10.69275, 4.05949, 3.66373, 1.85426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38687, 0.08446, 0.38687, 0.08446, 0.38687, 0.08446, 0, 0, 2.69652, -0.22738, 3.77135, 0.11417, 3.6893, 1.55352, 2.49594, 1.65501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.4588, -3.9113, 9.19593, -1.66854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38687, 0.08446 ],
+							"curve": [ 0.25, 0, 0.75, 1 ]
+						},
+						{ "time": 1 }
+					]
+				},
+				"left foot": {
+					"left foot": [
+						{
+							"time": 0,
+							"offset": 8,
+							"vertices": [ 3.69298, 2.37572, -7.16969, 18.79732, -12.78161, 14.7778, -12.75775, 6.50514, -3.13475, 1.98906, -0.44401, 0.36629, 0, 0, -3.80085, 2.98474 ]
+						},
+						{ "time": 0.1333 },
+						{
+							"time": 0.2333,
+							"offset": 8,
+							"vertices": [ -3.96072, -2.34594, -5.80445, -12.47629, -2.23129, -12.99037, 2.02941, -9.1036, 0, 0, 0, 0, 0, 0, -1.35254, -5.2883 ]
+						},
+						{
+							"time": 0.3666,
+							"offset": 8,
+							"vertices": [ 0.66504, 0.33548, 0.33902, 2.69014, -0.4817, 2.54524, -1.13592, 1.38562, 0, 0, 0, 0, 0, 0, -0.11907, 0.79273 ]
+						},
+						{ "time": 0.5, "curve": "stepped" },
+						{ "time": 0.6333 },
+						{
+							"time": 0.7333,
+							"offset": 8,
+							"vertices": [ -2.97737, 9.40254, -6.91661, 19.92794, -10.55287, 18.41085, -12.37161, 12.38473, -4.72606, 6.30798, 0, 0, -1.48902, 4.88944, -7.06773, 10.70101 ]
+						},
+						{
+							"time": 0.8333,
+							"offset": 6,
+							"vertices": [ 1.05318, 1.56361, -2.52722, 7.9974, -5.5203, 17.14136, -8.93317, 15.79635, -10.73747, 10.22055, -4.23801, 5.36992, 0, 0, 0, 0, -5.83147, 8.55531 ]
+						},
+						{
+							"time": 1,
+							"offset": 8,
+							"vertices": [ 3.69298, 2.37572, -7.16969, 18.79732, -12.78161, 14.7778, -12.75775, 6.50514, -3.13475, 1.98906, -0.44401, 0.36629, 0, 0, -3.80085, 2.98474 ]
+						}
+					]
+				},
+				"pelvis": {
+					"pelvis": [
+						{ "time": 0 },
+						{
+							"time": 0.1333,
+							"offset": 6,
+							"vertices": [ -0.68989, -4.13283 ]
+						},
+						{
+							"time": 0.3333,
+							"offset": 6,
+							"vertices": [ -1.04945, -3.10476 ]
+						},
+						{
+							"time": 0.7,
+							"offset": 6,
+							"vertices": [ -1.4245, -6.30616 ]
+						},
+						{
+							"time": 0.8666,
+							"offset": 6,
+							"vertices": [ -1.13541, -1.79035 ]
+						},
+						{ "time": 1 }
+					]
+				},
+				"right foot": {
+					"right foot": [
+						{ "time": 0 },
+						{
+							"time": 0.1333,
+							"offset": 2,
+							"vertices": [ -2.81258, 2.63114, -2.35238, 3.89441, -1.99921, 4.8639, -0.93273, 5.57982, -0.48886, 5.09854, -0.34812, 3.42912, -0.17445, 1.36898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31305, 1.91371, -1.32986, 3.65703 ]
+						},
+						{
+							"time": 0.2333,
+							"offset": 2,
+							"vertices": [ -6.39088, 6.41245, -7.74575, 8.27191, -7.02471, 11.35894, -4.0347, 13.93454, -2.50399, 12.62962, -1.46124, 7.58915, -0.17445, 1.36898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84765, 2.61215, -4.53955, 7.92357 ]
+						},
+						{
+							"time": 0.3,
+							"offset": 2,
+							"vertices": [ -8.27184, 6.68821, -9.29764, 10.13797, -8.62231, 14.71339, -4.58629, 18.81939, -2.20304, 17.10709, -0.07794, 9.9046, 2.54451, 1.01642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94624, 2.38007, -4.59398, 10.01888 ]
+						},
+						{
+							"time": 0.3666,
+							"offset": 2,
+							"vertices": [ -10.47683, 9.44175, -13.36882, 12.40982, -14.32568, 16.94392, -9.24462, 23.55674, -5.51711, 21.51377, -1.19581, 11.53192, 2.54451, 1.01642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14847, 2.29389, -6.63418, 11.37127 ]
+						},
+						{
+							"time": 0.5,
+							"offset": 2,
+							"vertices": [ -5.42473, 4.36854, -10.59004, 7.04468, -11.64251, 11.55845, -6.19665, 20.12805, -1.45497, 18.05411, 4.86619, 6.41678, 2.81462, 0.27601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96412, 4.94829 ]
+						},
+						{ "time": 0.6333 },
+						{
+							"time": 0.7333,
+							"offset": 4,
+							"vertices": [ 1.31462, -6.84099, -0.87905, -12.54479, -5.9851, -14.08367, -7.15892, -11.63193, -5.6792, -4.83544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06163, -6.93844 ]
+						},
+						{
+							"time": 0.8,
+							"offset": 4,
+							"vertices": [ 0.65731, -3.42049, -0.43952, -6.27239, -2.99255, -7.04183, -3.57946, -5.81596, -2.83959, -2.41772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79687, -1.2802, 0, 0, 0, 0, -1.03081, -3.46922 ]
+						},
+						{ "time": 0.8666 }
+					]
+				},
+				"right hand": {
+					"right hand": [
+						{
+							"time": 0,
+							"offset": 4,
+							"vertices": [ -1.48416, 0.34736, 0, 0, 1.31152, 0.08085, 1.60295, 0.09881, 0.13673, 0.1547, 0, 0, 0, 0, -0.72862, -0.0449 ]
+						},
+						{ "time": 0.5 },
+						{
+							"time": 1,
+							"offset": 4,
+							"vertices": [ -1.48416, 0.34736, 0, 0, 1.31152, 0.08085, 1.60295, 0.09881, 0.13673, 0.1547, 0, 0, 0, 0, -0.72862, -0.0449 ]
+						}
+					]
+				},
+				"right lower leg": {
+					"right lower leg": [
+						{ "time": 0 },
+						{
+							"time": 0.6,
+							"offset": 6,
+							"vertices": [ 1.80396, -1.56552 ]
+						},
+						{ "time": 1 }
+					]
+				},
+				"right upper leg": {
+					"right upper leg": [
+						{
+							"time": 0,
+							"vertices": [ -6.03856, -1.46324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34684, -1.93101, -1.86047, -5.05265, -2.5014, -3.09984 ]
+						},
+						{ "time": 0.3333 },
+						{
+							"time": 0.8666,
+							"offset": 14,
+							"vertices": [ 0.13424, -2.35377, -1.33317, -5.99572, -1.35861, -4.43323 ]
+						},
+						{
+							"time": 1,
+							"vertices": [ -6.03856, -1.46324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34684, -1.93101, -1.86047, -5.05265, -2.5014, -3.09984 ]
+						}
+					]
+				},
+				"torso": {
+					"torso": [
+						{
+							"time": 0,
+							"offset": 14,
+							"vertices": [ -1.48952, -0.24021, -2.72312, -2.15489, -0.51183, -3.39752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0964, -2.61458, 0, 0, 0.57686, -1.24874, 0, 0, 0, 0, -2.11251, -3.29932 ]
+						},
+						{
+							"time": 0.1333,
+							"offset": 14,
+							"vertices": [ 1.31318, -0.59727, -0.97944, -1.62934, 0.74861, -0.6123, -1.44598, 1.97515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65701, -3.95221, 0, 0, -1.46987, -0.31373, 0, 0, 0, 0, -3.31756, -3.5535, -2.56329, 0.29673 ]
+						},
+						{
+							"time": 0.3,
+							"offset": 14,
+							"vertices": [ 6.03761, -3.13561, 7.55475, -1.38111, 6.79747, 0.31171, 4.23503, 1.14012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.07575, -5.16824, 0, 0, 4.0041, 0.27245, 0, 0, 0, 0, 3.4376, -3.52286 ]
+						},
+						{
+							"time": 0.5,
+							"offset": 14,
+							"vertices": [ 2.25942, -0.87202, 2.575, -0.56861, 3.17112, -0.57003, 1.48704, 0.9924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.22451, -4.43862, 0, 0, 1.48691, 0.01586, 0, 0, 0, 0, 0.31388, -3.28095, -1.53797, 0.17803 ]
+						},
+						{
+							"time": 0.6333,
+							"offset": 14,
+							"vertices": [ 0.75002, -1.51701, -0.97944, -1.62934, 0.74861, -0.6123, -1.44598, 1.97515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65701, -3.95221, 0, 0, -1.46987, -0.31373, 0, 0, 0, 0, -3.31756, -3.5535, -2.56329, 0.29673 ]
+						},
+						{
+							"time": 0.8666,
+							"offset": 14,
+							"vertices": [ 0.62202, -1.26262, 0.38489, -2.20701, 3.25048, -0.50042, 2.41108, 2.39315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6639, -3.10099, 0, 0, 2.30655, -1.15196, 0, 0, 0, 0, -0.07676, -3.63497, -0.9321, 0.1079 ]
+						},
+						{
+							"time": 1,
+							"offset": 14,
+							"vertices": [ -1.48952, -0.24021, -2.72312, -2.15489, -0.51183, -3.39752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0964, -2.61458, 0, 0, 0.57686, -1.24874, 0, 0, 0, 0, -2.11251, -3.29932 ]
+						}
+					]
+				},
+				"undie straps": {
+					"undie straps": [
+						{
+							"time": 0,
+							"offset": 2,
+							"vertices": [ -1.77696, 0.54759, -0.96145, -1.03793, -0.39148, -0.24071, -1.77696, 0.54759 ]
+						},
+						{
+							"time": 0.1333,
+							"offset": 2,
+							"vertices": [ -2.25683, -1.03177, -1.49719, -4.23861, -0.74469, -2.84906, -1.90072, 0.54477 ]
+						},
+						{
+							"time": 0.3333,
+							"offset": 2,
+							"vertices": [ -2.37974, -0.05431, -0.49433, 0.19436, -0.90861, 1.16519, -1.60956, 2.70798, 0.96186, 0.80615 ]
+						},
+						{
+							"time": 0.7,
+							"offset": 2,
+							"vertices": [ -0.91714, -2.76567, -0.62214, -3.63489, -0.8494, -2.26772, -2.56076, 0.5297 ]
+						},
+						{
+							"time": 0.8666,
+							"offset": 2,
+							"vertices": [ -2.56076, 0.5297, -1.58064, 0.32031, -1.3847, 0.32476, -2.56076, 0.5297 ]
+						},
+						{
+							"time": 1,
+							"offset": 2,
+							"vertices": [ -1.77696, 0.54759, -0.80128, 0.53413, -0.80128, 0.53413, -1.77696, 0.54759 ]
+						}
+					]
+				},
+				"undies": {
+					"undies": [
+						{
+							"time": 0,
+							"vertices": [ 0.43098, 0.722, 10.60295, -0.11699, 2.29598, 0, 2.29598, 0, 2.29598, 0, 0.58798, 0.24399, -2.40018, -0.65335, -2.2782, -0.77533, 2.29598, 0, 0.58798, -0.48799, 4.98697, -0.11699, 6.50796, -0.23399 ]
+						},
+						{
+							"time": 0.1333,
+							"vertices": [ 0.72659, 0.43319, 7.20416, -0.1638, 1.37759, 0, 1.37759, 0, 1.37759, 0, 1.25279, 0.0464, -0.99861, -2.95085, -1.37542, -3.07404, 1.37759, 0, 0.35279, -0.29279, 2.99218, -0.07019, 3.90478, -0.14039 ]
+						},
+						{
+							"time": 0.3333,
+							"vertices": [ 1.16999, 0, 2.10599, -0.234, 0, 0, 0, 0, 0, 0, 2.24999, -0.24999, -0.4344, 0.60551, -1.55939, 0.48051 ]
+						},
+						{
+							"time": 0.5333,
+							"vertices": [ 1.16999, 0, -0.234, -0.93599, -2.92499, 0.35099, 0, 0, 0, 0, 0.49999, -0.24999, -0.64078, -2.07914, -0.64078, -2.07914 ]
+						},
+						{
+							"time": 0.7,
+							"vertices": [ 1.8627, -0.11514, 4.66326, -0.09099, -1.76428, 0.21171, 0, 0, -0.56832, 0.32832, -1.13833, -1.1511, -2.19996, -3.47068, -1.29718, -3.47068, 0, 0, 0, 0, 1.58785, -0.04642, 2.65941, 0.16714 ]
+						},
+						{
+							"time": 0.8333,
+							"vertices": [ 2.41687, -0.20725, 8.58108, 0.585, -0.83571, 0.10028, 0, 0, -1.02299, 0.59098, -2.44899, -1.872, -1.62499, 0, 0, 0, 0, 0, 0, 0, 2.85813, -0.08356, 4.78695, 0.30086 ]
+						},
+						{
+							"time": 0.8666,
+							"vertices": [ 2.01969, -0.0214, 8.98545, 0.4446, -0.20937, 0.08022, 0.45919, 0, -0.35919, 0.47279, -1.84159, -1.4488, -0.79153, 1.2642, 0.53285, 1.23981, 0.45919, 0, 0.11759, -0.09759, 3.2839, -0.09025, 5.13115, 0.19388 ]
+						},
+						{
+							"time": 1,
+							"vertices": [ 0.43098, 0.722, 10.60295, -0.11699, 2.29598, 0, 2.29598, 0, 2.29598, 0, 0.58798, 0.24399, -2.40018, -0.65335, -2.2782, -0.77533, 2.29598, 0, 0.58798, -0.48799, 4.98697, -0.11699, 6.50796, -0.23399 ]
+						}
+					]
+				}
+			}
+		}
+	}
+}
+}

+ 293 - 0
spine-corona/data/goblins.atlas

@@ -0,0 +1,293 @@
+
+goblins.png
+size: 1024,128
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+dagger
+  rotate: true
+  xy: 372, 100
+  size: 26, 108
+  orig: 26, 108
+  offset: 0, 0
+  index: -1
+goblin/eyes-closed
+  rotate: false
+  xy: 2, 7
+  size: 34, 12
+  orig: 34, 12
+  offset: 0, 0
+  index: -1
+goblin/head
+  rotate: false
+  xy: 107, 36
+  size: 103, 66
+  orig: 103, 66
+  offset: 0, 0
+  index: -1
+goblin/left-arm
+  rotate: false
+  xy: 901, 56
+  size: 37, 35
+  orig: 37, 35
+  offset: 0, 0
+  index: -1
+goblin/left-foot
+  rotate: false
+  xy: 929, 95
+  size: 65, 31
+  orig: 65, 31
+  offset: 0, 0
+  index: -1
+goblin/left-hand
+  rotate: false
+  xy: 452, 2
+  size: 36, 41
+  orig: 36, 41
+  offset: 0, 0
+  index: -1
+goblin/left-lower-leg
+  rotate: true
+  xy: 713, 93
+  size: 33, 70
+  orig: 33, 70
+  offset: 0, 0
+  index: -1
+goblin/left-shoulder
+  rotate: false
+  xy: 610, 44
+  size: 29, 44
+  orig: 29, 44
+  offset: 0, 0
+  index: -1
+goblin/left-upper-leg
+  rotate: true
+  xy: 638, 93
+  size: 33, 73
+  orig: 33, 73
+  offset: 0, 0
+  index: -1
+goblin/neck
+  rotate: false
+  xy: 490, 2
+  size: 36, 41
+  orig: 36, 41
+  offset: 0, 0
+  index: -1
+goblin/pelvis
+  rotate: false
+  xy: 482, 45
+  size: 62, 43
+  orig: 62, 43
+  offset: 0, 0
+  index: -1
+goblin/right-arm
+  rotate: true
+  xy: 690, 2
+  size: 23, 50
+  orig: 23, 50
+  offset: 0, 0
+  index: -1
+goblin/right-foot
+  rotate: false
+  xy: 771, 58
+  size: 63, 33
+  orig: 63, 33
+  offset: 0, 0
+  index: -1
+goblin/right-hand
+  rotate: false
+  xy: 940, 56
+  size: 36, 37
+  orig: 36, 37
+  offset: 0, 0
+  index: -1
+goblin/right-lower-leg
+  rotate: true
+  xy: 482, 90
+  size: 36, 76
+  orig: 36, 76
+  offset: 0, 0
+  index: -1
+goblin/right-shoulder
+  rotate: true
+  xy: 602, 3
+  size: 39, 45
+  orig: 39, 45
+  offset: 0, 0
+  index: -1
+goblin/right-upper-leg
+  rotate: true
+  xy: 641, 57
+  size: 34, 63
+  orig: 34, 63
+  offset: 0, 0
+  index: -1
+goblin/torso
+  rotate: true
+  xy: 212, 34
+  size: 68, 96
+  orig: 68, 96
+  offset: 0, 0
+  index: -1
+goblin/undie-straps
+  rotate: false
+  xy: 380, 5
+  size: 55, 19
+  orig: 55, 19
+  offset: 0, 0
+  index: -1
+goblin/undies
+  rotate: false
+  xy: 174, 5
+  size: 36, 29
+  orig: 36, 29
+  offset: 0, 0
+  index: -1
+goblingirl/eyes-closed
+  rotate: false
+  xy: 269, 11
+  size: 37, 21
+  orig: 37, 21
+  offset: 0, 0
+  index: -1
+goblingirl/head
+  rotate: false
+  xy: 2, 21
+  size: 103, 81
+  orig: 103, 81
+  offset: 0, 0
+  index: -1
+goblingirl/left-arm
+  rotate: true
+  xy: 978, 56
+  size: 37, 35
+  orig: 37, 35
+  offset: 0, 0
+  index: -1
+goblingirl/left-foot
+  rotate: false
+  xy: 107, 3
+  size: 65, 31
+  orig: 65, 31
+  offset: 0, 0
+  index: -1
+goblingirl/left-hand
+  rotate: false
+  xy: 565, 2
+  size: 35, 40
+  orig: 35, 40
+  offset: 0, 0
+  index: -1
+goblingirl/left-lower-leg
+  rotate: true
+  xy: 785, 93
+  size: 33, 70
+  orig: 33, 70
+  offset: 0, 0
+  index: -1
+goblingirl/left-shoulder
+  rotate: true
+  xy: 690, 27
+  size: 28, 46
+  orig: 28, 46
+  offset: 0, 0
+  index: -1
+goblingirl/left-upper-leg
+  rotate: true
+  xy: 857, 93
+  size: 33, 70
+  orig: 33, 70
+  offset: 0, 0
+  index: -1
+goblingirl/neck
+  rotate: false
+  xy: 528, 2
+  size: 35, 41
+  orig: 35, 41
+  offset: 0, 0
+  index: -1
+goblingirl/pelvis
+  rotate: false
+  xy: 546, 45
+  size: 62, 43
+  orig: 62, 43
+  offset: 0, 0
+  index: -1
+goblingirl/right-arm
+  rotate: false
+  xy: 452, 48
+  size: 28, 50
+  orig: 28, 50
+  offset: 0, 0
+  index: -1
+goblingirl/right-foot
+  rotate: false
+  xy: 836, 58
+  size: 63, 33
+  orig: 63, 33
+  offset: 0, 0
+  index: -1
+goblingirl/right-hand
+  rotate: true
+  xy: 771, 20
+  size: 36, 37
+  orig: 36, 37
+  offset: 0, 0
+  index: -1
+goblingirl/right-lower-leg
+  rotate: true
+  xy: 560, 90
+  size: 36, 76
+  orig: 36, 76
+  offset: 0, 0
+  index: -1
+goblingirl/right-shoulder
+  rotate: false
+  xy: 649, 10
+  size: 39, 45
+  orig: 39, 45
+  offset: 0, 0
+  index: -1
+goblingirl/right-upper-leg
+  rotate: true
+  xy: 706, 57
+  size: 34, 63
+  orig: 34, 63
+  offset: 0, 0
+  index: -1
+goblingirl/torso
+  rotate: false
+  xy: 310, 2
+  size: 68, 96
+  orig: 68, 96
+  offset: 0, 0
+  index: -1
+goblingirl/undie-straps
+  rotate: false
+  xy: 212, 13
+  size: 55, 19
+  orig: 55, 19
+  offset: 0, 0
+  index: -1
+goblingirl/undies
+  rotate: false
+  xy: 810, 27
+  size: 36, 29
+  orig: 36, 29
+  offset: 0, 0
+  index: -1
+shield
+  rotate: false
+  xy: 380, 26
+  size: 70, 72
+  orig: 70, 72
+  offset: 0, 0
+  index: -1
+spear
+  rotate: true
+  xy: 2, 104
+  size: 22, 368
+  orig: 22, 368
+  offset: 0, 0
+  index: -1

二進制
spine-corona/data/goblins.png


+ 279 - 0
spine-corona/data/raptor.atlas

@@ -0,0 +1,279 @@
+
+raptor.png
+size: 1024,1024
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+back_arm
+  rotate: true
+  xy: 140, 191
+  size: 46, 29
+  orig: 46, 29
+  offset: 0, 0
+  index: -1
+back_bracer
+  rotate: true
+  xy: 167, 317
+  size: 39, 28
+  orig: 39, 28
+  offset: 0, 0
+  index: -1
+back_hand
+  rotate: false
+  xy: 167, 358
+  size: 36, 34
+  orig: 36, 34
+  offset: 0, 0
+  index: -1
+back_knee
+  rotate: false
+  xy: 299, 478
+  size: 49, 67
+  orig: 49, 67
+  offset: 0, 0
+  index: -1
+back_thigh
+  rotate: true
+  xy: 167, 437
+  size: 39, 24
+  orig: 39, 24
+  offset: 0, 0
+  index: -1
+eyes_closed
+  rotate: true
+  xy: 2, 2
+  size: 47, 45
+  orig: 47, 45
+  offset: 0, 0
+  index: -1
+eyes_open
+  rotate: true
+  xy: 49, 2
+  size: 47, 45
+  orig: 47, 45
+  offset: 0, 0
+  index: -1
+eyes_surprised
+  rotate: true
+  xy: 96, 2
+  size: 47, 45
+  orig: 47, 45
+  offset: 0, 0
+  index: -1
+front_arm
+  rotate: false
+  xy: 419, 544
+  size: 48, 30
+  orig: 48, 30
+  offset: 0, 0
+  index: -1
+front_bracer
+  rotate: false
+  xy: 880, 695
+  size: 41, 29
+  orig: 41, 29
+  offset: 0, 0
+  index: -1
+front_hand
+  rotate: true
+  xy: 167, 394
+  size: 41, 38
+  orig: 41, 38
+  offset: 0, 0
+  index: -1
+front_open_hand
+  rotate: false
+  xy: 880, 726
+  size: 43, 44
+  orig: 43, 44
+  offset: 0, 0
+  index: -1
+front_thigh
+  rotate: false
+  xy: 360, 545
+  size: 57, 29
+  orig: 57, 29
+  offset: 0, 0
+  index: -1
+gun
+  rotate: false
+  xy: 785, 774
+  size: 107, 103
+  orig: 107, 103
+  offset: 0, 0
+  index: -1
+gun_nohand
+  rotate: false
+  xy: 614, 703
+  size: 105, 102
+  orig: 105, 102
+  offset: 0, 0
+  index: -1
+head
+  rotate: false
+  xy: 2, 137
+  size: 136, 149
+  orig: 136, 149
+  offset: 0, 0
+  index: -1
+lower_leg
+  rotate: true
+  xy: 780, 699
+  size: 73, 98
+  orig: 73, 98
+  offset: 0, 0
+  index: -1
+mouth_grind
+  rotate: false
+  xy: 469, 544
+  size: 47, 30
+  orig: 47, 30
+  offset: 0, 0
+  index: -1
+mouth_oooo
+  rotate: true
+  xy: 894, 772
+  size: 105, 30
+  orig: 105, 30
+  offset: 0, 0
+  index: -1
+mouth_smile
+  rotate: true
+  xy: 140, 239
+  size: 47, 30
+  orig: 47, 30
+  offset: 0, 0
+  index: -1
+neck
+  rotate: true
+  xy: 538, 577
+  size: 18, 21
+  orig: 18, 21
+  offset: 0, 0
+  index: -1
+raptor_arm_back
+  rotate: false
+  xy: 940, 936
+  size: 82, 86
+  orig: 82, 86
+  offset: 0, 0
+  index: -1
+raptor_body
+  rotate: false
+  xy: 2, 737
+  size: 610, 285
+  orig: 610, 285
+  offset: 0, 0
+  index: -1
+raptor_front_arm
+  rotate: true
+  xy: 195, 464
+  size: 81, 102
+  orig: 81, 102
+  offset: 0, 0
+  index: -1
+raptor_front_leg
+  rotate: false
+  xy: 2, 478
+  size: 191, 257
+  orig: 191, 257
+  offset: 0, 0
+  index: -1
+raptor_hindleg_back
+  rotate: false
+  xy: 614, 807
+  size: 169, 215
+  orig: 169, 215
+  offset: 0, 0
+  index: -1
+raptor_horn
+  rotate: false
+  xy: 360, 655
+  size: 182, 80
+  orig: 182, 80
+  offset: 0, 0
+  index: -1
+raptor_horn_back
+  rotate: false
+  xy: 360, 576
+  size: 176, 77
+  orig: 176, 77
+  offset: 0, 0
+  index: -1
+raptor_jaw
+  rotate: false
+  xy: 785, 879
+  size: 153, 143
+  orig: 153, 143
+  offset: 0, 0
+  index: -1
+raptor_saddle_noshadow
+  rotate: false
+  xy: 2, 288
+  size: 163, 188
+  orig: 163, 188
+  offset: 0, 0
+  index: -1
+raptor_saddle_strap_front
+  rotate: false
+  xy: 721, 710
+  size: 57, 95
+  orig: 57, 95
+  offset: 0, 0
+  index: -1
+raptor_saddle_strap_rear
+  rotate: true
+  xy: 940, 880
+  size: 54, 74
+  orig: 54, 74
+  offset: 0, 0
+  index: -1
+raptor_saddle_w_shadow
+  rotate: false
+  xy: 195, 547
+  size: 163, 188
+  orig: 163, 188
+  offset: 0, 0
+  index: -1
+raptor_tongue
+  rotate: true
+  xy: 544, 649
+  size: 86, 64
+  orig: 86, 64
+  offset: 0, 0
+  index: -1
+stirrup_back
+  rotate: true
+  xy: 140, 145
+  size: 44, 35
+  orig: 44, 35
+  offset: 0, 0
+  index: -1
+stirrup_front
+  rotate: false
+  xy: 538, 597
+  size: 45, 50
+  orig: 45, 50
+  offset: 0, 0
+  index: -1
+stirrup_strap
+  rotate: false
+  xy: 350, 497
+  size: 49, 46
+  orig: 49, 46
+  offset: 0, 0
+  index: -1
+torso
+  rotate: true
+  xy: 610, 647
+  size: 54, 91
+  orig: 54, 91
+  offset: 0, 0
+  index: -1
+visor
+  rotate: false
+  xy: 2, 51
+  size: 131, 84
+  orig: 131, 84
+  offset: 0, 0
+  index: -1

文件差異過大導致無法顯示
+ 361 - 0
spine-corona/data/raptor.json


二進制
spine-corona/data/raptor.png


+ 216 - 0
spine-corona/data/spineboy.atlas

@@ -0,0 +1,216 @@
+
+spineboy.png
+size: 1024,1024
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+eye_indifferent
+  rotate: true
+  xy: 648, 629
+  size: 93, 89
+  orig: 93, 89
+  offset: 0, 0
+  index: -1
+eye_surprised
+  rotate: true
+  xy: 233, 179
+  size: 93, 89
+  orig: 93, 89
+  offset: 0, 0
+  index: -1
+front_bracer
+  rotate: false
+  xy: 245, 2
+  size: 58, 80
+  orig: 58, 80
+  offset: 0, 0
+  index: -1
+front_fist_closed
+  rotate: false
+  xy: 168, 45
+  size: 75, 82
+  orig: 75, 82
+  offset: 0, 0
+  index: -1
+front_fist_open
+  rotate: false
+  xy: 844, 646
+  size: 86, 87
+  orig: 86, 87
+  offset: 0, 0
+  index: -1
+front_foot
+  rotate: true
+  xy: 310, 326
+  size: 126, 69
+  orig: 126, 69
+  offset: 0, 0
+  index: -1
+front_foot_bend1
+  rotate: true
+  xy: 951, 894
+  size: 128, 70
+  orig: 128, 70
+  offset: 0, 0
+  index: -1
+front_foot_bend2
+  rotate: false
+  xy: 2, 33
+  size: 108, 93
+  orig: 108, 93
+  offset: 0, 0
+  index: -1
+front_shin
+  rotate: true
+  xy: 739, 735
+  size: 82, 184
+  orig: 82, 184
+  offset: 0, 0
+  index: -1
+front_thigh
+  rotate: false
+  xy: 381, 340
+  size: 48, 112
+  orig: 48, 112
+  offset: 0, 0
+  index: -1
+front_upper_arm
+  rotate: false
+  xy: 112, 29
+  size: 54, 97
+  orig: 54, 97
+  offset: 0, 0
+  index: -1
+goggles
+  rotate: false
+  xy: 156, 454
+  size: 261, 166
+  orig: 261, 166
+  offset: 0, 0
+  index: -1
+gun
+  rotate: false
+  xy: 739, 819
+  size: 210, 203
+  orig: 210, 203
+  offset: 0, 0
+  index: -1
+head
+  rotate: false
+  xy: 466, 724
+  size: 271, 298
+  orig: 271, 298
+  offset: 0, 0
+  index: -1
+hoverboard_board
+  rotate: true
+  xy: 2, 128
+  size: 492, 152
+  orig: 492, 152
+  offset: 0, 0
+  index: -1
+hoverboard_thruster
+  rotate: false
+  xy: 602, 558
+  size: 60, 64
+  orig: 60, 64
+  offset: 0, 0
+  index: -1
+hoverglow_small
+  rotate: true
+  xy: 156, 178
+  size: 274, 75
+  orig: 274, 75
+  offset: 0, 0
+  index: -1
+mouth_grind
+  rotate: true
+  xy: 951, 799
+  size: 93, 59
+  orig: 93, 59
+  offset: 0, 0
+  index: -1
+mouth_oooo
+  rotate: true
+  xy: 245, 84
+  size: 93, 59
+  orig: 93, 59
+  offset: 0, 0
+  index: -1
+mouth_smile
+  rotate: false
+  xy: 925, 738
+  size: 93, 59
+  orig: 93, 59
+  offset: 0, 0
+  index: -1
+muzzle
+  rotate: false
+  xy: 2, 622
+  size: 462, 400
+  orig: 462, 400
+  offset: 0, 0
+  index: -1
+neck
+  rotate: false
+  xy: 168, 2
+  size: 36, 41
+  orig: 36, 41
+  offset: 0, 0
+  index: -1
+rear_bracer
+  rotate: false
+  xy: 932, 664
+  size: 56, 72
+  orig: 56, 72
+  offset: 0, 0
+  index: -1
+rear_foot
+  rotate: false
+  xy: 487, 562
+  size: 113, 60
+  orig: 113, 60
+  offset: 0, 0
+  index: -1
+rear_foot_bend1
+  rotate: true
+  xy: 419, 503
+  size: 117, 66
+  orig: 117, 66
+  offset: 0, 0
+  index: -1
+rear_foot_bend2
+  rotate: false
+  xy: 739, 650
+  size: 103, 83
+  orig: 103, 83
+  offset: 0, 0
+  index: -1
+rear_shin
+  rotate: false
+  xy: 233, 274
+  size: 75, 178
+  orig: 75, 178
+  offset: 0, 0
+  index: -1
+rear_thigh
+  rotate: true
+  xy: 487, 495
+  size: 65, 104
+  orig: 65, 104
+  offset: 0, 0
+  index: -1
+rear_upper_arm
+  rotate: true
+  xy: 156, 129
+  size: 47, 87
+  orig: 47, 87
+  offset: 0, 0
+  index: -1
+torso
+  rotate: true
+  xy: 466, 624
+  size: 98, 180
+  orig: 98, 180
+  offset: 0, 0
+  index: -1

+ 26 - 33
spine-corona/spineboy-atlas/spineboy.json → spine-corona/data/spineboy.json

@@ -1,39 +1,31 @@
 {
+"skeleton": { "hash": "rPoYyBLFG6F0CGZ5wsUEBKDJU9U", "spine": "3.4.02", "width": 470.9, "height": 731.49, "images": "./images/" },
 "bones": [
 	{ "name": "hip", "y": 247.47 },
-	{ "name": "front_thigh", "parent": "hip", "length": 74.8, "x": -17.45, "y": -11.64, "rotation": -95.51, "color": "00ff04ff" },
-	{ "name": "rear_thigh", "parent": "hip", "length": 85.71, "x": 8.91, "y": -5.62, "rotation": -72.54, "color": "ff000dff" },
-	{ "name": "torso", "parent": "hip", "length": 127.55, "x": -1.61, "y": 4.9, "rotation": 103.82, "color": "e0da19ff" },
-	{
-		"name": "front_shin",
-		"parent": "front_thigh",
-		"length": 128.76,
-		"x": 78.69,
-		"y": 1.6,
-		"rotation": -2.21,
-		"inheritScale": false,
-		"color": "00ff04ff"
-	},
-	{ "name": "front_upper_arm", "parent": "torso", "length": 69.45, "x": 103.75, "y": 19.32, "rotation": 168.37, "color": "00ff04ff" },
-	{ "name": "neck", "parent": "torso", "length": 25.45, "x": 127.49, "y": -0.3, "rotation": -31.53, "color": "e0da19ff" },
-	{ "name": "rear_shin", "parent": "rear_thigh", "length": 121.87, "x": 86.1, "y": -1.32, "rotation": -19.83, "color": "ff000dff" },
-	{ "name": "rear_upper_arm", "parent": "torso", "length": 51.93, "x": 92.35, "y": -19.22, "rotation": -169.55, "color": "ff000dff" },
+	{ "name": "torso", "parent": "hip", "length": 127.55, "rotation": 103.82, "x": -1.61, "y": 4.9, "color": "e0da19ff" },
+	{ "name": "front_upper_arm", "parent": "torso", "length": 69.45, "rotation": 168.37, "x": 103.75, "y": 19.32, "color": "00ff04ff" },
 	{
 		"name": "front_bracer",
 		"parent": "front_upper_arm",
 		"length": 40.57,
+		"rotation": 18.29,
 		"x": 68.8,
 		"y": -0.68,
-		"rotation": 18.29,
 		"color": "00ff04ff"
 	},
-	{ "name": "front_foot", "parent": "front_shin", "length": 91.34, "x": 128.75, "y": -0.33, "rotation": 77.9, "color": "00ff04ff" },
-	{ "name": "head", "parent": "neck", "length": 263.57, "x": 27.66, "y": -0.25, "rotation": 23.18, "color": "e0da19ff" },
-	{ "name": "rear_bracer", "parent": "rear_upper_arm", "length": 34.55, "x": 51.35, "rotation": 23.15, "color": "ff000dff" },
-	{ "name": "rear_foot", "parent": "rear_shin", "length": 82.57, "x": 121.45, "y": -0.75, "rotation": 69.3, "color": "ff000dff" },
-	{ "name": "front_fist", "parent": "front_bracer", "length": 65.38, "x": 40.56, "y": 0.19, "rotation": 12.43, "color": "00ff04ff" },
-	{ "name": "gun", "parent": "rear_bracer", "length": 43.1, "x": 34.42, "y": -0.45, "rotation": 5.34, "color": "ff000dff" },
-	{ "name": "gunTip", "parent": "gun", "x": 201.04, "y": 52.13, "rotation": 6.83, "color": "ff000dff" }
+	{ "name": "front_fist", "parent": "front_bracer", "length": 65.38, "rotation": 12.43, "x": 40.56, "y": 0.19, "color": "00ff04ff" },
+	{ "name": "front_thigh", "parent": "hip", "length": 74.8, "rotation": -95.51, "x": -17.45, "y": -11.64, "color": "00ff04ff" },
+	{ "name": "front_shin", "parent": "front_thigh", "length": 128.76, "rotation": -2.21, "x": 78.69, "y": 1.6, "color": "00ff04ff" },
+	{ "name": "front_foot", "parent": "front_shin", "length": 91.34, "rotation": 77.9, "x": 128.75, "y": -0.33, "color": "00ff04ff" },
+	{ "name": "rear_upper_arm", "parent": "torso", "length": 51.93, "rotation": -169.55, "x": 92.35, "y": -19.22, "color": "ff000dff" },
+	{ "name": "rear_bracer", "parent": "rear_upper_arm", "length": 34.55, "rotation": 23.15, "x": 51.35, "color": "ff000dff" },
+	{ "name": "gun", "parent": "rear_bracer", "length": 43.1, "rotation": 5.34, "x": 34.42, "y": -0.45, "color": "ff000dff" },
+	{ "name": "gunTip", "parent": "gun", "rotation": 6.83, "x": 201.04, "y": 52.13, "color": "ff000dff" },
+	{ "name": "neck", "parent": "torso", "length": 25.45, "rotation": -31.53, "x": 127.49, "y": -0.3, "color": "e0da19ff" },
+	{ "name": "head", "parent": "neck", "length": 263.57, "rotation": 23.18, "x": 27.66, "y": -0.25, "color": "e0da19ff" },
+	{ "name": "rear_thigh", "parent": "hip", "length": 85.71, "rotation": -72.54, "x": 8.91, "y": -5.62, "color": "ff000dff" },
+	{ "name": "rear_shin", "parent": "rear_thigh", "length": 121.87, "rotation": -19.83, "x": 86.1, "y": -1.32, "color": "ff000dff" },
+	{ "name": "rear_foot", "parent": "rear_shin", "length": 82.57, "rotation": 69.3, "x": 121.45, "y": -0.75, "color": "ff000dff" }
 ],
 "slots": [
 	{ "name": "rear_upper_arm", "bone": "rear_upper_arm", "attachment": "rear_upper_arm" },
@@ -54,8 +46,8 @@
 	{ "name": "goggles", "bone": "head", "attachment": "goggles" },
 	{ "name": "front_bracer", "bone": "front_bracer", "attachment": "front_bracer" },
 	{ "name": "front_fist", "bone": "front_fist", "attachment": "front_fist_closed" },
-	{ "name": "muzzle", "bone": "gunTip", "additive": true },
-	{ "name": "head-bb", "bone": "head", "attachment": "head" }
+	{ "name": "muzzle", "bone": "gunTip", "blend": "additive" },
+	{ "name": "head-bb", "bone": "head" }
 ],
 "skins": {
 	"default": {
@@ -96,7 +88,8 @@
 		"head-bb": {
 			"head": {
 				"type": "boundingbox",
-				"vertices": [ -19.143097, -70.30209, 40.80313, -118.074234, 257.77155, -115.61827, 285.16193, 57.18005, 120.77191, 164.95125, -5.067627, 76.94907 ]
+				"vertexCount": 6,
+				"vertices": [ -19.14, -70.3, 40.8, -118.07, 257.77, -115.61, 285.16, 57.18, 120.77, 164.95, -5.06, 76.94 ]
 			}
 		},
 		"mouth": {
@@ -1832,10 +1825,6 @@
 				]
 			},
 			"muzzle": {
-				"attachment": [
-					{ "time": 0.1333, "name": "muzzle" },
-					{ "time": 0.2666, "name": null }
-				],
 				"color": [
 					{
 						"time": 0.1333,
@@ -1848,6 +1837,10 @@
 						"curve": [ 0.821, 0, 0.909, 0.89 ]
 					},
 					{ "time": 0.2666, "color": "ffffff00" }
+				],
+				"attachment": [
+					{ "time": 0.1333, "name": "muzzle" },
+					{ "time": 0.2666, "name": null }
 				]
 			}
 		},
@@ -2015,7 +2008,7 @@
 				]
 			}
 		},
-		"draworder": [
+		"drawOrder": [
 			{
 				"time": 0.6666,
 				"offsets": [

二進制
spine-corona/data/spineboy.png


+ 41 - 0
spine-corona/data/stretchyman.atlas

@@ -0,0 +1,41 @@
+
+stretchyman.png
+size: 1024,256
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+back arm
+  rotate: true
+  xy: 679, 173
+  size: 72, 202
+  orig: 72, 202
+  offset: 0, 0
+  index: -1
+back leg
+  rotate: true
+  xy: 2, 2
+  size: 100, 318
+  orig: 100, 318
+  offset: 0, 0
+  index: -1
+body
+  rotate: true
+  xy: 2, 104
+  size: 141, 452
+  orig: 141, 452
+  offset: 0, 0
+  index: -1
+front arm
+  rotate: true
+  xy: 456, 100
+  size: 145, 221
+  orig: 145, 221
+  offset: 0, 0
+  index: -1
+head
+  rotate: true
+  xy: 322, 15
+  size: 87, 102
+  orig: 87, 102
+  offset: 0, 0
+  index: -1

文件差異過大導致無法顯示
+ 191 - 0
spine-corona/data/stretchyman.json


二進制
spine-corona/data/stretchyman.png


+ 125 - 0
spine-corona/data/tank.atlas

@@ -0,0 +1,125 @@
+
+tank.png
+size: 1024,512
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+antenna
+  rotate: true
+  xy: 650, 346
+  size: 11, 152
+  orig: 11, 152
+  offset: 0, 0
+  index: -1
+cannon
+  rotate: false
+  xy: 2, 49
+  size: 466, 29
+  orig: 466, 29
+  offset: 0, 0
+  index: -1
+cannonConnector
+  rotate: true
+  xy: 843, 231
+  size: 56, 68
+  orig: 56, 68
+  offset: 0, 0
+  index: -1
+guntower
+  rotate: false
+  xy: 650, 359
+  size: 365, 145
+  orig: 365, 145
+  offset: 0, 0
+  index: -1
+machinegun
+  rotate: false
+  xy: 2, 18
+  size: 166, 29
+  orig: 166, 29
+  offset: 0, 0
+  index: -1
+machinegun-mount
+  rotate: true
+  xy: 647, 193
+  size: 36, 48
+  orig: 36, 48
+  offset: 0, 0
+  index: -1
+rock
+  rotate: false
+  xy: 470, 50
+  size: 126, 28
+  orig: 126, 28
+  offset: 0, 0
+  index: -1
+tankBottom
+  rotate: false
+  xy: 2, 193
+  size: 643, 138
+  orig: 643, 138
+  offset: 0, 0
+  index: -1
+tankBottom-shadow
+  rotate: false
+  xy: 2, 333
+  size: 646, 171
+  orig: 646, 171
+  offset: 0, 0
+  index: -1
+tankTop
+  rotate: false
+  xy: 2, 80
+  size: 704, 111
+  orig: 704, 111
+  offset: 0, 0
+  index: -1
+tread
+  rotate: false
+  xy: 647, 231
+  size: 48, 15
+  orig: 48, 15
+  offset: 0, 0
+  index: -1
+tread-inside
+  rotate: false
+  xy: 2, 2
+  size: 13, 14
+  orig: 13, 14
+  offset: 0, 0
+  index: -1
+wheel-big
+  rotate: false
+  xy: 650, 248
+  size: 96, 96
+  orig: 96, 96
+  offset: 0, 0
+  index: -1
+wheel-big-overlay
+  rotate: false
+  xy: 748, 251
+  size: 93, 93
+  orig: 93, 93
+  offset: 0, 0
+  index: -1
+wheel-mid
+  rotate: false
+  xy: 843, 289
+  size: 68, 68
+  orig: 68, 68
+  offset: 0, 0
+  index: -1
+wheel-mid-overlay
+  rotate: false
+  xy: 913, 289
+  size: 68, 68
+  orig: 68, 68
+  offset: 0, 0
+  index: -1
+wheel-small
+  rotate: false
+  xy: 913, 251
+  size: 36, 36
+  orig: 36, 36
+  offset: 0, 0
+  index: -1

+ 1900 - 0
spine-corona/data/tank.json

@@ -0,0 +1,1900 @@
+{
+"skeleton": { "hash": "6mxwgn4gKXrDy2eixknadUxKY1c", "spine": "3.4.02", "width": 1914.53, "height": 964.05, "images": "./images/" },
+"bones": [
+	{ "name": "root" },
+	{ "name": "tankRoot", "parent": "root", "y": 200 },
+	{ "name": "tankTreads", "parent": "tankRoot" },
+	{ "name": "tankBody", "parent": "tankTreads", "y": 10 },
+	{ "name": "guntower", "parent": "tankBody", "x": -21.72, "y": 245.47 },
+	{ "name": "antennaRoot", "parent": "guntower", "x": 164.6, "y": 202.52 },
+	{ "name": "antenna1", "parent": "antennaRoot", "length": 40, "rotation": 90, "y": 39.99, "color": "ffee00ff" },
+	{ "name": "antenna2", "parent": "antenna1", "length": 42, "x": 42, "color": "ffee00ff" },
+	{ "name": "antenna3", "parent": "antenna2", "length": 42, "x": 42, "color": "ffee00ff" },
+	{ "name": "antenna4", "parent": "antenna3", "length": 42, "x": 42, "color": "ffee00ff" },
+	{ "name": "antenna5", "parent": "antenna4", "length": 42, "x": 42, "color": "ffee00ff" },
+	{ "name": "antenna6", "parent": "antenna5", "length": 42, "x": 42, "color": "ffee00ff" },
+	{ "name": "cannonConnector", "parent": "guntower", "x": -235.04, "y": 96.07 },
+	{ "name": "cannonTarget", "parent": "tankRoot", "x": -1486.66, "y": 351.82, "color": "ff3f00ff" },
+	{ "name": "cannon", "parent": "cannonConnector", "length": 946.68, "rotation": 180, "color": "ff4000ff" },
+	{ "name": "cannonTip", "parent": "cannon", "x": 946.68, "color": "ff4000ff" },
+	{ "name": "machineGunTarget", "parent": "tankRoot", "x": -1474, "y": 559.42, "color": "ff3f00ff" },
+	{
+		"name": "machinegun-mount",
+		"parent": "guntower",
+		"length": 90.97,
+		"rotation": 90,
+		"x": -123.72,
+		"y": 218.32,
+		"color": "15ff00ff"
+	},
+	{
+		"name": "machinegun",
+		"parent": "machinegun-mount",
+		"length": 208.94,
+		"rotation": 90,
+		"x": 91.52,
+		"y": -1.03,
+		"color": "15ff00ff"
+	},
+	{ "name": "machinegun-tip", "parent": "machinegun", "x": 210.42, "y": -12.2 },
+	{ "name": "rock", "parent": "root", "x": -656.45 },
+	{
+		"name": "tread",
+		"parent": "tankRoot",
+		"length": 82,
+		"rotation": 180,
+		"x": -22.89,
+		"y": 213.85,
+		"scaleX": 0.993,
+		"color": "e64344ff"
+	},
+	{ "name": "tread2", "parent": "tread", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread3", "parent": "tread2", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread4", "parent": "tread3", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread5", "parent": "tread4", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread6", "parent": "tread5", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread7", "parent": "tread6", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread8", "parent": "tread7", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread9", "parent": "tread8", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread10", "parent": "tread9", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread11", "parent": "tread10", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread12", "parent": "tread11", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread13", "parent": "tread12", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread14", "parent": "tread13", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread15", "parent": "tread14", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread16", "parent": "tread15", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread17", "parent": "tread16", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread18", "parent": "tread17", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread19", "parent": "tread18", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread20", "parent": "tread19", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread21", "parent": "tread20", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread22", "parent": "tread21", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread23", "parent": "tread22", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread24", "parent": "tread23", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread25", "parent": "tread24", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread26", "parent": "tread25", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread27", "parent": "tread26", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread28", "parent": "tread27", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread29", "parent": "tread28", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread30", "parent": "tread29", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread31", "parent": "tread30", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread32", "parent": "tread31", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread33", "parent": "tread32", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread34", "parent": "tread33", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread35", "parent": "tread34", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "tread36", "parent": "tread35", "length": 82, "x": 82, "color": "e64344ff" },
+	{ "name": "wheel-midCenter", "parent": "tankRoot", "y": -114.56 },
+	{ "name": "treadCollider1", "parent": "wheel-midCenter", "x": -329.57, "y": -85.44, "color": "ff00fbff" },
+	{ "name": "treadCollider2", "parent": "wheel-midCenter", "x": -165.95, "y": -85.44, "color": "ff00fbff" },
+	{ "name": "treadCollider3", "parent": "wheel-midCenter", "y": -85.44, "color": "ff00fbff" },
+	{ "name": "treadCollider4", "parent": "wheel-midCenter", "x": 163.56, "y": -85.44, "color": "ff00fbff" },
+	{ "name": "treadCollider5", "parent": "wheel-midCenter", "x": 329.12, "y": -85.44, "color": "ff00fbff" },
+	{ "name": "treadGravity1", "parent": "tankRoot", "rotation": 180, "x": -175.35, "y": 109.99, "color": "ff00fbff" },
+	{ "name": "treadGravity2", "parent": "tankRoot", "rotation": 180, "x": 177.88, "y": 105.45, "color": "ff00fbff" },
+	{ "name": "wheel-bigRoot1", "parent": "tankTreads", "x": -549.59, "y": 14.39, "color": "abe323ff" },
+	{ "name": "wheel-big1", "parent": "wheel-bigRoot1", "x": -0.02, "color": "abe323ff" },
+	{ "name": "wheel-bigRoot2", "parent": "tankTreads", "x": 547.33, "y": 14.39 },
+	{ "name": "wheel-big2", "parent": "wheel-bigRoot2" },
+	{ "name": "wheel-midRoot1", "parent": "wheel-midCenter", "x": -410.57, "color": "abe323ff" },
+	{ "name": "wheel-mid1", "parent": "wheel-midRoot1", "color": "abe323ff" },
+	{ "name": "wheel-midRoot2", "parent": "wheel-midCenter", "x": -246.95 },
+	{ "name": "wheel-mid2", "parent": "wheel-midRoot2" },
+	{ "name": "wheel-midRoot3", "parent": "wheel-midCenter", "x": -82.72 },
+	{ "name": "wheel-mid3", "parent": "wheel-midRoot3" },
+	{ "name": "wheel-midRoot4", "parent": "wheel-midCenter", "x": 80.89 },
+	{ "name": "wheel-mid4", "parent": "wheel-midRoot4" },
+	{ "name": "wheel-midRoot5", "parent": "wheel-midCenter", "x": 244.51 },
+	{ "name": "wheel-mid5", "parent": "wheel-midRoot5" },
+	{ "name": "wheel-midRoot6", "parent": "wheel-midCenter", "x": 408.73 },
+	{ "name": "wheel-mid6", "parent": "wheel-midRoot6" },
+	{ "name": "wheel-smallRoot1", "parent": "tankTreads", "x": -337.38, "y": 109.43 },
+	{ "name": "wheel-small1", "parent": "wheel-smallRoot1", "color": "abe323ff" },
+	{ "name": "wheel-smallRoot2", "parent": "tankTreads", "x": 0.08, "y": 109.43 },
+	{ "name": "wheel-small2", "parent": "wheel-smallRoot2" },
+	{ "name": "wheel-smallRoot3", "parent": "tankTreads", "x": 334.68, "y": 109.43 },
+	{ "name": "wheel-small3", "parent": "wheel-smallRoot3" }
+],
+"slots": [
+	{ "name": "tankBody-shadow", "bone": "tankBody", "color": "ffffffb9", "attachment": "tankBottom-shadow" },
+	{ "name": "bottom", "bone": "tankBody", "attachment": "tankBottom" },
+	{ "name": "tread-inside1", "bone": "tread", "attachment": "tread-inside" },
+	{ "name": "tread-inside53", "bone": "tread27", "attachment": "tread-inside" },
+	{ "name": "tread-inside27", "bone": "tread14", "attachment": "tread-inside" },
+	{ "name": "tread-inside3", "bone": "tread2", "attachment": "tread-inside" },
+	{ "name": "tread-inside55", "bone": "tread28", "attachment": "tread-inside" },
+	{ "name": "tread-inside29", "bone": "tread15", "attachment": "tread-inside" },
+	{ "name": "tread-inside5", "bone": "tread3", "attachment": "tread-inside" },
+	{ "name": "tread-inside57", "bone": "tread29", "attachment": "tread-inside" },
+	{ "name": "tread-inside31", "bone": "tread16", "attachment": "tread-inside" },
+	{ "name": "tread-inside7", "bone": "tread4", "attachment": "tread-inside" },
+	{ "name": "tread-inside59", "bone": "tread30", "attachment": "tread-inside" },
+	{ "name": "tread-inside33", "bone": "tread17", "attachment": "tread-inside" },
+	{ "name": "tread-inside9", "bone": "tread5", "attachment": "tread-inside" },
+	{ "name": "tread-inside61", "bone": "tread31", "attachment": "tread-inside" },
+	{ "name": "tread-inside35", "bone": "tread18", "attachment": "tread-inside" },
+	{ "name": "tread-inside11", "bone": "tread6", "attachment": "tread-inside" },
+	{ "name": "tread-inside63", "bone": "tread32", "attachment": "tread-inside" },
+	{ "name": "tread-inside37", "bone": "tread19", "attachment": "tread-inside" },
+	{ "name": "tread-inside13", "bone": "tread7", "attachment": "tread-inside" },
+	{ "name": "tread-inside65", "bone": "tread33", "attachment": "tread-inside" },
+	{ "name": "tread-inside39", "bone": "tread20", "attachment": "tread-inside" },
+	{ "name": "tread-inside15", "bone": "tread8", "attachment": "tread-inside" },
+	{ "name": "tread-inside67", "bone": "tread34", "attachment": "tread-inside" },
+	{ "name": "tread-inside69", "bone": "tread35", "attachment": "tread-inside" },
+	{ "name": "tread-inside71", "bone": "tread36", "attachment": "tread-inside" },
+	{ "name": "tread-inside41", "bone": "tread21", "attachment": "tread-inside" },
+	{ "name": "tread-inside17", "bone": "tread9", "attachment": "tread-inside" },
+	{ "name": "tread-inside43", "bone": "tread22", "attachment": "tread-inside" },
+	{ "name": "tread-inside19", "bone": "tread10", "attachment": "tread-inside" },
+	{ "name": "tread-inside45", "bone": "tread23", "attachment": "tread-inside" },
+	{ "name": "tread-inside21", "bone": "tread11", "attachment": "tread-inside" },
+	{ "name": "tread-inside47", "bone": "tread24", "attachment": "tread-inside" },
+	{ "name": "tread-inside23", "bone": "tread12", "attachment": "tread-inside" },
+	{ "name": "tread-inside49", "bone": "tread25", "attachment": "tread-inside" },
+	{ "name": "tread-inside25", "bone": "tread13", "attachment": "tread-inside" },
+	{ "name": "tread-inside51", "bone": "tread26", "attachment": "tread-inside" },
+	{ "name": "tread-inside2", "bone": "tread", "attachment": "tread-inside" },
+	{ "name": "tread-inside54", "bone": "tread27", "attachment": "tread-inside" },
+	{ "name": "tread-inside28", "bone": "tread14", "attachment": "tread-inside" },
+	{ "name": "tread-inside4", "bone": "tread2", "attachment": "tread-inside" },
+	{ "name": "tread-inside56", "bone": "tread28", "attachment": "tread-inside" },
+	{ "name": "tread-inside30", "bone": "tread15", "attachment": "tread-inside" },
+	{ "name": "tread-inside6", "bone": "tread3", "attachment": "tread-inside" },
+	{ "name": "tread-inside58", "bone": "tread29", "attachment": "tread-inside" },
+	{ "name": "tread-inside32", "bone": "tread16", "attachment": "tread-inside" },
+	{ "name": "tread-inside8", "bone": "tread4", "attachment": "tread-inside" },
+	{ "name": "tread-inside60", "bone": "tread30", "attachment": "tread-inside" },
+	{ "name": "tread-inside34", "bone": "tread17", "attachment": "tread-inside" },
+	{ "name": "tread-inside10", "bone": "tread5", "attachment": "tread-inside" },
+	{ "name": "tread-inside62", "bone": "tread31", "attachment": "tread-inside" },
+	{ "name": "tread-inside36", "bone": "tread18", "attachment": "tread-inside" },
+	{ "name": "tread-inside12", "bone": "tread6", "attachment": "tread-inside" },
+	{ "name": "tread-inside64", "bone": "tread32", "attachment": "tread-inside" },
+	{ "name": "tread-inside38", "bone": "tread19", "attachment": "tread-inside" },
+	{ "name": "tread-inside14", "bone": "tread7", "attachment": "tread-inside" },
+	{ "name": "tread-inside66", "bone": "tread33", "attachment": "tread-inside" },
+	{ "name": "tread-inside40", "bone": "tread20", "attachment": "tread-inside" },
+	{ "name": "tread-inside16", "bone": "tread8", "attachment": "tread-inside" },
+	{ "name": "tread-inside68", "bone": "tread34", "attachment": "tread-inside" },
+	{ "name": "tread-inside70", "bone": "tread35", "attachment": "tread-inside" },
+	{ "name": "tread-inside72", "bone": "tread36", "attachment": "tread-inside" },
+	{ "name": "tread-inside42", "bone": "tread21", "attachment": "tread-inside" },
+	{ "name": "tread-inside18", "bone": "tread9", "attachment": "tread-inside" },
+	{ "name": "tread-inside44", "bone": "tread22", "attachment": "tread-inside" },
+	{ "name": "tread-inside20", "bone": "tread10", "attachment": "tread-inside" },
+	{ "name": "tread-inside46", "bone": "tread23", "attachment": "tread-inside" },
+	{ "name": "tread-inside22", "bone": "tread11", "attachment": "tread-inside" },
+	{ "name": "tread-inside48", "bone": "tread24", "attachment": "tread-inside" },
+	{ "name": "tread-inside24", "bone": "tread12", "attachment": "tread-inside" },
+	{ "name": "tread-inside50", "bone": "tread25", "attachment": "tread-inside" },
+	{ "name": "tread-inside26", "bone": "tread13", "attachment": "tread-inside" },
+	{ "name": "tread-inside52", "bone": "tread26", "attachment": "tread-inside" },
+	{ "name": "wheel-big", "bone": "wheel-big1", "color": "dbdbdbff", "attachment": "wheel-big" },
+	{ "name": "wheel-big2", "bone": "wheel-big2", "color": "dbdbdbff", "attachment": "wheel-big" },
+	{ "name": "wheel-mid", "bone": "wheel-mid1", "attachment": "wheel-mid" },
+	{ "name": "wheel-mid2", "bone": "wheel-mid2", "attachment": "wheel-mid" },
+	{ "name": "wheel-mid3", "bone": "wheel-mid3", "attachment": "wheel-mid" },
+	{ "name": "wheel-mid4", "bone": "wheel-mid4", "attachment": "wheel-mid" },
+	{ "name": "wheel-mid5", "bone": "wheel-mid5", "attachment": "wheel-mid" },
+	{ "name": "wheel-mid6", "bone": "wheel-mid6", "attachment": "wheel-mid" },
+	{ "name": "wheel-small", "bone": "wheel-small1", "attachment": "wheel-small" },
+	{ "name": "wheel-small2", "bone": "wheel-small2", "attachment": "wheel-small" },
+	{ "name": "wheel-small3", "bone": "wheel-small3", "attachment": "wheel-small" },
+	{
+		"name": "wheel-mid-overlay",
+		"bone": "wheel-midRoot1",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-mid-overlay2",
+		"bone": "wheel-midRoot2",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-mid-overlay3",
+		"bone": "wheel-midRoot3",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-mid-overlay4",
+		"bone": "wheel-midRoot4",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-mid-overlay5",
+		"bone": "wheel-midRoot5",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-mid-overlay6",
+		"bone": "wheel-midRoot6",
+		"color": "ffffffec",
+		"attachment": "wheel-mid-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-big-overlay1",
+		"bone": "wheel-bigRoot1",
+		"color": "ffffffe9",
+		"attachment": "wheel-big-overlay",
+		"blend": "multiply"
+	},
+	{
+		"name": "wheel-big-overlay2",
+		"bone": "wheel-bigRoot2",
+		"color": "ffffffe9",
+		"attachment": "wheel-big-overlay",
+		"blend": "multiply"
+	},
+	{ "name": "treads", "bone": "tankRoot", "attachment": "treads" },
+	{ "name": "tread", "bone": "tread", "color": "c0974fff", "attachment": "tread" },
+	{ "name": "tread27", "bone": "tread27", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread14", "bone": "tread14", "attachment": "tread" },
+	{ "name": "tread2", "bone": "tread2", "attachment": "tread" },
+	{ "name": "tread28", "bone": "tread28", "attachment": "tread" },
+	{ "name": "tread15", "bone": "tread15", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread3", "bone": "tread3", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread29", "bone": "tread29", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread16", "bone": "tread16", "attachment": "tread" },
+	{ "name": "tread4", "bone": "tread4", "attachment": "tread" },
+	{ "name": "tread30", "bone": "tread30", "attachment": "tread" },
+	{ "name": "tread17", "bone": "tread17", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread5", "bone": "tread5", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread31", "bone": "tread31", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread18", "bone": "tread18", "attachment": "tread" },
+	{ "name": "tread6", "bone": "tread6", "attachment": "tread" },
+	{ "name": "tread32", "bone": "tread32", "attachment": "tread" },
+	{ "name": "tread19", "bone": "tread19", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread7", "bone": "tread7", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread33", "bone": "tread33", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread20", "bone": "tread20", "attachment": "tread" },
+	{ "name": "tread8", "bone": "tread8", "attachment": "tread" },
+	{ "name": "tread34", "bone": "tread34", "attachment": "tread" },
+	{ "name": "tread35", "bone": "tread35", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread36", "bone": "tread36", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread21", "bone": "tread21", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread9", "bone": "tread9", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread22", "bone": "tread22", "attachment": "tread" },
+	{ "name": "tread10", "bone": "tread10", "attachment": "tread" },
+	{ "name": "tread23", "bone": "tread23", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread11", "bone": "tread11", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread24", "bone": "tread24", "attachment": "tread" },
+	{ "name": "tread12", "bone": "tread12", "attachment": "tread" },
+	{ "name": "tread25", "bone": "tread25", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread13", "bone": "tread13", "color": "adc9b8ff", "attachment": "tread" },
+	{ "name": "tread26", "bone": "tread26", "attachment": "tread" },
+	{ "name": "rock", "bone": "rock", "attachment": "rock" },
+	{ "name": "machinegun", "bone": "machinegun", "attachment": "machinegun" },
+	{ "name": "machinegun-mount", "bone": "machinegun-mount", "attachment": "machinegun-mount" },
+	{ "name": "tankTop", "bone": "tankBody", "attachment": "tankTop" },
+	{ "name": "guntower", "bone": "guntower", "attachment": "guntower" },
+	{ "name": "cannon", "bone": "cannon", "attachment": "cannon" },
+	{ "name": "cannonConnector", "bone": "cannonConnector", "attachment": "cannonConnector" },
+	{ "name": "antenna", "bone": "antennaRoot", "attachment": "antenna" }
+],
+"ik": [
+	{
+		"name": "cannonTarget",
+		"bones": [ "cannon" ],
+		"target": "cannonTarget"
+	},
+	{
+		"name": "machineGunTarget",
+		"bones": [ "machinegun" ],
+		"target": "machineGunTarget",
+		"mix": 0
+	}
+],
+"transform": [
+	{
+		"name": "wheel-big",
+		"bones": [ "wheel-big2" ],
+		"target": "wheel-big1",
+		"rotation": 65.6,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	},
+	{
+		"name": "wheel-mid1",
+		"bones": [ "wheel-mid2", "wheel-mid4" ],
+		"target": "wheel-mid1",
+		"rotation": 93,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	},
+	{
+		"name": "wheel-mid2",
+		"bones": [ "wheel-mid3", "wheel-mid5" ],
+		"target": "wheel-mid1",
+		"rotation": -89,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	},
+	{
+		"name": "wheel-mid3",
+		"bones": [ "wheel-mid6" ],
+		"target": "wheel-mid1",
+		"rotation": -152.6,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	},
+	{
+		"name": "wheel-small1",
+		"bones": [ "wheel-small2" ],
+		"target": "wheel-small1",
+		"rotation": 87,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	},
+	{
+		"name": "wheel-small2",
+		"bones": [ "wheel-small3" ],
+		"target": "wheel-small1",
+		"rotation": 54.9,
+		"translateMix": 0,
+		"scaleMix": 0,
+		"shearMix": 0
+	}
+],
+"path": [
+	{
+		"name": "treads",
+		"bones": [
+			"tread",
+			"tread2",
+			"tread3",
+			"tread4",
+			"tread5",
+			"tread6",
+			"tread7",
+			"tread8",
+			"tread9",
+			"tread10",
+			"tread11",
+			"tread12",
+			"tread13",
+			"tread14",
+			"tread15",
+			"tread16",
+			"tread17",
+			"tread18",
+			"tread19",
+			"tread20",
+			"tread21",
+			"tread22",
+			"tread23",
+			"tread24",
+			"tread25",
+			"tread26",
+			"tread27",
+			"tread28",
+			"tread29",
+			"tread30",
+			"tread31",
+			"tread32",
+			"tread33",
+			"tread34",
+			"tread35",
+			"tread36"
+		],
+		"target": "treads",
+		"rotateMode": "chain"
+	}
+],
+"skins": {
+	"default": {
+		"antenna": {
+			"antenna": {
+				"type": "mesh",
+				"uvs": [ 0.64286, 0.07875, 0.65354, 0.15349, 0.66324, 0.22137, 0.67367, 0.29433, 0.68383, 0.36543, 0.69359, 0.43374, 0.7031, 0.50029, 0.71311, 0.5703, 0.72327, 0.64138, 0.73406, 0.71688, 0.7444, 0.78929, 0.75614, 0.8714, 0.76905, 0.9431, 1, 0.9431, 1, 1, 0, 1, 0, 0.9431, 0.20105, 0.9431, 0.20105, 0.87093, 0.21461, 0.78846, 0.22651, 0.71606, 0.23885, 0.64098, 0.25035, 0.57104, 0.26206, 0.49983, 0.27306, 0.4329, 0.2843, 0.36453, 0.29592, 0.29381, 0.308, 0.22037, 0.319, 0.15345, 0.33141, 0.07795, 0.34423, 0, 0.6316, 0 ],
+				"triangles": [ 30, 31, 0, 29, 30, 0, 29, 0, 1, 28, 29, 1, 28, 1, 2, 27, 28, 2, 27, 2, 3, 26, 3, 4, 25, 26, 4, 25, 4, 5, 26, 27, 3, 24, 5, 6, 23, 24, 6, 7, 23, 6, 24, 25, 5, 22, 7, 8, 21, 22, 8, 21, 8, 9, 7, 22, 23, 20, 9, 10, 19, 20, 10, 20, 21, 9, 19, 10, 11, 18, 19, 11, 17, 18, 11, 17, 11, 12, 15, 16, 17, 12, 13, 14, 15, 17, 12, 14, 15, 12 ],
+				"vertices": [ 2, 10, 65.37999, -3.14, 0.3125, 11, 23.38, -3.14, 0.6875, 3, 9, 84.73, -3.37, 0.0625, 10, 42.73, -3.37, 0.625, 11, 0.73, -3.37, 0.3125, 3, 9, 64.16, -3.59, 0.3125, 10, 22.16, -3.59, 0.625, 11, -19.83, -3.59, 0.0625, 3, 8, 84.06, -3.82, 0.0625, 9, 42.06, -3.82, 0.625, 10, 0.06, -3.82, 0.3125, 3, 8, 62.51, -4.04, 0.3125, 9, 20.51, -4.04, 0.625, 10, -21.48, -4.04, 0.0625, 3, 7, 83.81, -4.25, 0.0625, 8, 41.81, -4.25, 0.625, 9, -0.18, -4.25, 0.3125, 3, 7, 63.65, -4.46, 0.3125, 8, 21.65, -4.46, 0.625, 9, -20.34, -4.46, 0.0625, 3, 6, 84.43, -4.67999, 0.0625, 7, 42.43, -4.67999, 0.625, 8, 0.43, -4.67999, 0.3125, 3, 6, 62.9, -4.91, 0.3125, 7, 20.9, -4.91, 0.625, 8, -21.09, -4.91, 0.0625, 3, 5, 5.14, 80.01999, 0.0625, 6, 40.02, -5.14, 0.625, 7, -1.97, -5.14, 0.3125, 3, 5, 5.37, 58.08, 0.375, 6, 18.08, -5.37, 0.5625, 7, -23.91, -5.37, 0.0625, 1, 5, 5.63, 33.2, 1, 1, 5, 5.91, 11.48, 1, 1, 5, 11, 11.48, 1, 1, 5, 10.99, -5.75, 1, 1, 5, -11, -5.75, 1, 1, 5, -10.99, 11.48, 1, 1, 5, -6.57, 11.48, 1, 1, 5, -6.57, 33.34, 1, 3, 5, -6.27, 58.33, 0.375, 6, 18.33, 6.27, 0.5625, 7, -23.66, 6.27, 0.0625, 3, 5, -6.01, 80.26999, 0.0625, 6, 40.27, 6.01, 0.625, 7, -1.72, 6.01, 0.3125, 3, 6, 63.02, 5.74, 0.3125, 7, 21.02, 5.74, 0.625, 8, -20.96999, 5.74, 0.0625, 3, 6, 84.21, 5.49, 0.0625, 7, 42.21, 5.49, 0.625, 8, 0.21, 5.49, 0.3125, 3, 7, 63.79, 5.23, 0.3125, 8, 21.79, 5.23, 0.625, 9, -20.2, 5.23, 0.0625, 3, 7, 84.07, 4.98999, 0.0625, 8, 42.07, 4.98999, 0.625, 9, 0.07, 4.98999, 0.3125, 3, 8, 62.78, 4.73999, 0.3125, 9, 20.78, 4.73999, 0.625, 10, -21.21, 4.73999, 0.0625, 3, 8, 84.21, 4.48, 0.0625, 9, 42.21, 4.48, 0.625, 10, 0.21, 4.48, 0.3125, 3, 9, 64.46, 4.21999, 0.3125, 10, 22.46, 4.21999, 0.625, 11, -19.53, 4.21999, 0.0625, 3, 9, 84.74, 3.98, 0.0625, 10, 42.74, 3.98, 0.625, 11, 0.74, 3.98, 0.3125, 2, 10, 65.62, 3.7, 0.3125, 11, 23.62, 3.7, 0.6875, 1, 11, 47.24, 3.42, 1, 1, 11, 47.24, -2.89, 1 ],
+				"hull": 32,
+				"edges": [ 28, 30, 28, 26, 30, 32, 26, 24, 24, 22, 32, 34, 34, 24, 34, 36, 36, 22, 60, 62, 38, 36, 20, 22, 38, 20, 40, 38, 18, 20, 40, 18, 42, 40, 16, 18, 42, 16, 44, 42, 14, 16, 44, 14, 46, 44, 12, 14, 46, 12, 48, 46, 10, 12, 48, 10, 50, 48, 8, 10, 50, 8, 52, 50, 6, 8, 52, 6, 54, 52, 4, 6, 54, 4, 56, 54, 2, 4, 56, 2, 60, 58, 58, 56, 62, 0, 0, 2, 58, 0 ],
+				"width": 22,
+				"height": 303
+			}
+		},
+		"bottom": {
+			"tankBottom": { "x": -16.66, "y": 9.89, "width": 1285, "height": 276 }
+		},
+		"cannon": {
+			"cannon": { "x": 481.95, "y": -0.02, "rotation": 179.99, "width": 931, "height": 58 }
+		},
+		"cannonConnector": {
+			"cannonConnector": {
+				"type": "mesh",
+				"uvs": [ 1, 0.03236, 1, 0.10602, 0.90987, 0.32859, 0.81975, 0.55116, 0.72962, 0.77372, 0.6395, 0.99629, 0.42157, 0.99629, 0.20364, 0.99629, 0, 0.85433, 0, 0.69901, 0.02267, 0.52884, 0, 0.31444, 0.21601, 0.12998, 0.43367, 0, 0.63546, 0.0037, 0.48407, 0.77059, 0.31496, 0.52496, 0.64132, 0.19648, 0.21516, 0.76765, 0.58345, 0.5647, 0.68444, 0.40146, 0.46758, 0.36649, 0.28934, 0.34603 ],
+				"triangles": [ 21, 22, 12, 11, 12, 22, 17, 21, 13, 17, 13, 14, 21, 12, 13, 21, 17, 20, 16, 22, 21, 10, 11, 22, 10, 22, 16, 19, 21, 20, 16, 21, 19, 18, 10, 16, 9, 10, 18, 15, 16, 19, 18, 16, 15, 8, 9, 18, 7, 8, 18, 6, 18, 15, 7, 18, 6, 14, 0, 1, 17, 14, 1, 2, 17, 1, 20, 17, 2, 3, 20, 2, 19, 20, 3, 4, 19, 3, 15, 19, 4, 5, 15, 4, 6, 15, 5 ],
+				"vertices": [ 1, 12, 35.91, 69.08, 1, 1, 12, 35.91, 59.13, 1, 1, 12, 25.81, 29.09, 1, 1, 12, 15.72, -0.95, 1, 1, 12, 5.63, -31, 1, 1, 12, -4.46, -61.04, 1, 2, 12, -28.87, -61.04, 0.33333, 14, 28.87, 61.03, 0.66666, 1, 14, 53.27, 61.01, 1, 1, 14, 76.08, 41.83, 1, 1, 14, 71.17, 21.62, 1, 1, 14, 72.83, -1.62, 1, 1, 14, 70.37, -29.12, 1, 1, 14, 50.66, -56.13, 1, 2, 12, -28.43, 74.37, 0.41, 14, 28.43, -74.39, 0.58999, 2, 12, -4.91, 72.94999, 0.52, 14, 4.91, -72.94999, 0.48, 2, 12, -21.87, -30.57, 0.49, 14, 21.87, 30.56, 0.51, 1, 14, 40.81, -2.59999, 1, 2, 12, -4.25, 46.92, 0.49, 14, 4.25, -46.92, 0.51, 1, 14, 51.98, 30.15, 1, 2, 12, -10.74, -2.78, 0.49, 14, 10.74, 2.77, 0.51, 2, 12, 0.56, 19.25, 0.49, 14, -0.56, -19.25, 0.51, 1, 14, 23.71, -23.98, 1, 1, 14, 43.68, -26.76, 1 ],
+				"hull": 15,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 0 ],
+				"width": 112,
+				"height": 135
+			}
+		},
+		"guntower": {
+			"guntower": { "x": 77.22, "y": 122.58, "width": 730, "height": 289 }
+		},
+		"machinegun": {
+			"machinegun": { "x": 44.85, "y": -5.72, "rotation": -180, "width": 331, "height": 57 }
+		},
+		"machinegun-mount": {
+			"machinegun-mount": { "x": 47.42, "y": -1.53, "rotation": -90, "width": 72, "height": 96 }
+		},
+		"rock": {
+			"rock": { "color": "404040ff", "x": 25.23, "y": 27.35, "width": 252, "height": 55 }
+		},
+		"tankBody-shadow": {
+			"tankBottom-shadow": { "x": -11.43, "y": -42.88, "width": 1291, "height": 341 }
+		},
+		"tankTop": {
+			"tankTop": { "x": 6.8, "y": 168.71, "width": 1407, "height": 222 }
+		},
+		"tread": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread-inside1": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside10": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside11": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside12": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside13": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside14": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside15": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside16": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside17": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside18": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside19": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside2": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside20": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside21": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside22": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside23": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside24": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside25": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside26": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside27": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside28": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside29": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside3": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside30": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside31": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside32": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside33": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside34": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside35": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside36": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside37": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside38": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside39": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside4": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside40": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside41": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside42": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside43": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside44": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside45": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside46": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside47": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside48": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside49": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside5": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside50": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside51": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside52": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside53": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside54": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside55": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside56": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside57": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside58": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside59": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside6": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside60": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside61": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside62": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside63": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside64": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside65": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside66": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside67": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside68": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside69": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside7": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside70": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside71": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside72": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside8": {
+			"tread-inside": { "x": 20.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread-inside9": {
+			"tread-inside": { "x": 60.1, "y": 12.56, "rotation": -180, "width": 25, "height": 28 }
+		},
+		"tread10": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread11": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread12": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread13": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread14": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread15": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread16": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread17": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread18": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread19": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread2": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread20": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread21": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread22": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread23": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread24": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread25": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread26": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread27": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread28": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread29": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread3": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread30": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread31": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread32": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread33": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread34": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread35": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread36": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread4": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread5": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread6": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread7": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread8": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"tread9": {
+			"tread": { "x": 45.47, "y": -8.28, "rotation": -179.99, "width": 96, "height": 30 }
+		},
+		"treads": {
+			"treads": {
+				"type": "path",
+				"closed": true,
+				"lengths": [ 182.41, 349, 472.77, 602.99, 780.46, 1052.96, 1133.44, 1218.43, 1298.34, 1382.7, 1465.57, 1546.11, 1628.02, 1707.73, 1794.36, 1876.75, 2158.69, 2321.34, 2438.56, 2579.42, 2745.35, 2919.23 ],
+				"vertexCount": 66,
+				"vertices": [ 1, 83, 11.23, 41.86, 1, 1, 83, 0.78, 41.93999, 1, 1, 83, -34.72, 42.23, 1, 1, 63, -104.21, 0.41, 1, 1, 63, 0.07, 0.55, 1, 1, 63, 68.8, 0.64, 1, 1, 81, 20.5, 43.47, 1, 1, 81, 1.13, 40.81, 1, 1, 81, -27.38, 36.84, 1, 1, 65, 147.06, 105, 1, 1, 65, 96.21, 96.63, 1, 1, 65, 43.87, 87.71, 1, 1, 65, 16.18, 103.34, 1, 1, 65, -33.66999, 94.2, 1, 1, 65, -99.35, 81.25, 1, 1, 65, -122.04, -1.69, 1, 1, 65, -83.58, -47.92, 1, 1, 65, -33.53, -109.36, 1, 1, 69, -83.56, -66.08999, 1, 1, 69, -2.16, -67.89, 1, 2, 69, 56.68, -41.48, 0.67999, 58, -24.31, -41.49, 0.32, 1, 58, -26.58, 16.69, 1, 1, 58, -2.69, 16.69, 1, 1, 58, 13.51, 16.69, 1, 2, 71, -52.41, -46.51, 0.74399, 58, 30.2, -46.51, 0.256, 1, 71, -0.32, -68.92, 1, 2, 71, 52.09, -44.72, 0.712, 59, -28.9, -44.73, 0.28799, 1, 59, -22.8, 16.24, 1, 1, 59, -1.42, 16.24, 1, 1, 59, 20.46999, 16.24, 1, 2, 73, -47.21, -47.45, 0.744, 59, 36.00999, -47.46, 0.25599, 1, 73, -0.28, -69.65, 1, 2, 73, 45.23, -47.26, 0.736, 60, -37.48, -47.26, 0.26399, 1, 60, -23.76, 15.27, 1, 1, 60, -0.13, 15.27, 1, 1, 60, 24.45, 15.27, 1, 2, 75, -47.36, -48.7, 0.74399, 60, 33.52, -48.7, 0.256, 1, 75, -0.49, -70.39, 1, 2, 75, 49.09, -48.33, 0.744, 61, -33.57, -48.34, 0.25599, 1, 61, -20.89, 15.83, 1, 1, 61, -1.25, 15.83, 1, 1, 61, 15.78, 15.83, 1, 2, 77, -52.49, -48.21, 0.75999, 61, 28.45, -48.21, 0.24, 1, 77, -2.5, -68.92, 1, 2, 77, 55.72, -47.82, 0.752, 62, -28.88, -47.82, 0.248, 1, 62, -21.64, 16.69, 1, 1, 62, -0.48, 16.69, 1, 1, 62, 20.73, 16.69, 1, 2, 79, -53.65, -48.89, 0.76, 62, 25.96, -48.89, 0.23999, 1, 79, 2.27, -69.65, 1, 1, 79, 44.94, -69.74, 1, 1, 65, 1172.98, -85.6, 1, 1, 65, 1190.53, -42.24, 1, 1, 65, 1215.63, 19.75, 1, 1, 65, 1175.55, 76.62, 1, 1, 65, 1134.22, 95.07, 1, 1, 65, 1128.4, 97.66, 1, 1, 65, 1081.79, 87.47, 1, 1, 65, 1017.16, 92.52, 1, 1, 65, 977.9, 95.58, 1, 1, 85, 47.07, 42.29, 1, 1, 85, 0.24, 42.74, 1, 1, 85, -29.63, 43.28, 1, 1, 64, -86.64, 1.35, 1, 1, 64, 0.49, 0.25, 1, 1, 64, 92.42, -0.89, 1 ],
+				"color": "ff8819ff"
+			}
+		},
+		"wheel-big": {
+			"wheel-big": { "width": 191, "height": 191 }
+		},
+		"wheel-big-overlay1": {
+			"wheel-big-overlay": { "width": 186, "height": 186 }
+		},
+		"wheel-big-overlay2": {
+			"wheel-big-overlay": { "width": 186, "height": 186 }
+		},
+		"wheel-big2": {
+			"wheel-big": { "width": 191, "height": 191 }
+		},
+		"wheel-mid": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay2": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay3": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay4": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay5": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid-overlay6": {
+			"wheel-mid-overlay": { "width": 136, "height": 136 }
+		},
+		"wheel-mid2": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-mid3": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-mid4": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-mid5": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-mid6": {
+			"wheel-mid": { "width": 136, "height": 136 }
+		},
+		"wheel-small": {
+			"wheel-small": { "width": 71, "height": 71 }
+		},
+		"wheel-small2": {
+			"wheel-small": { "width": 71, "height": 71 }
+		},
+		"wheel-small3": {
+			"wheel-small": { "width": 71, "height": 71 }
+		}
+	}
+},
+"animations": {
+	"drive": {
+		"bones": {
+			"tankRoot": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.549, 0, 0.907, 0.84 ]
+					},
+					{
+						"time": 3.0333,
+						"x": -1426.14,
+						"y": 0,
+						"curve": [ 0.211, 0.23, 0.851, 0.92 ]
+					},
+					{
+						"time": 4.8666,
+						"x": -2806.98,
+						"y": 0,
+						"curve": [ 0.253, 0.27, 0.625, 0.94 ]
+					},
+					{ "time": 5.3333, "x": -2903.34, "y": 0 }
+				]
+			},
+			"wheel-midRoot1": {
+				"translate": [
+					{ "time": 0.7666, "x": 0, "y": 0 },
+					{
+						"time": 1.1666,
+						"x": 0,
+						"y": 50.95,
+						"curve": [ 0.633, 0, 0.907, 0.82 ]
+					},
+					{ "time": 1.5666, "x": 0, "y": 0 }
+				]
+			},
+			"treadCollider1": {
+				"rotate": [
+					{ "time": 1.1, "angle": 0 },
+					{ "time": 1.2333, "angle": -19.78 },
+					{ "time": 1.4666, "angle": 0 },
+					{ "time": 1.6, "angle": 28.87 },
+					{ "time": 1.8, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 1.1, "x": 0, "y": 0 },
+					{
+						"time": 1.4666,
+						"x": 0,
+						"y": 58.66,
+						"curve": [ 0.352, 0, 0.828, 0.92 ]
+					},
+					{ "time": 1.8, "x": 0, "y": 0 }
+				]
+			},
+			"wheel-midRoot2": {
+				"translate": [
+					{ "time": 1.2666, "x": 0, "y": 0 },
+					{
+						"time": 1.6333,
+						"x": 0,
+						"y": 55.07,
+						"curve": [ 0.889, 0.01, 0.843, 0.81 ]
+					},
+					{ "time": 1.9333, "x": 0, "y": 0 }
+				]
+			},
+			"treadCollider2": {
+				"rotate": [
+					{ "time": 1.5333, "angle": 0 },
+					{ "time": 1.6333, "angle": -18.67 },
+					{ "time": 1.8, "angle": 0 },
+					{ "time": 1.9, "angle": 29.49 },
+					{ "time": 2.0666, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 1.5333,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.16, 0.25, 0.813, 0.82 ]
+					},
+					{
+						"time": 1.8,
+						"x": 0,
+						"y": 59.03,
+						"curve": [ 0.376, 0.26, 0.879, 0.79 ]
+					},
+					{ "time": 2.0666, "x": 0, "y": 0 }
+				]
+			},
+			"wheel-midRoot3": {
+				"translate": [
+					{ "time": 1.6666, "x": 0, "y": 0 },
+					{
+						"time": 1.9333,
+						"x": 0,
+						"y": 60.17,
+						"curve": [ 0.544, 0, 0.838, 0.77 ]
+					},
+					{ "time": 2.2, "x": 0, "y": 0 }
+				]
+			},
+			"treadCollider3": {
+				"rotate": [
+					{ "time": 1.8666, "angle": 0 },
+					{ "time": 1.9333, "angle": -20.16 },
+					{ "time": 2.0666, "angle": 0.57 },
+					{ "time": 2.1666, "angle": 33.66 },
+					{ "time": 2.3333, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 1.8666, "x": 0, "y": 0 },
+					{
+						"time": 2.0666,
+						"x": 0,
+						"y": 61.53,
+						"curve": [ 0.582, 0, 0.836, 0.77 ]
+					},
+					{ "time": 2.3333, "x": 0, "y": 0 }
+				]
+			},
+			"wheel-midRoot4": {
+				"translate": [
+					{ "time": 1.9333, "x": 0, "y": 0 },
+					{
+						"time": 2.2,
+						"x": 0,
+						"y": 58.89,
+						"curve": [ 0.48, 0, 0.75, 1 ]
+					},
+					{ "time": 2.4666, "x": 0, "y": 0 }
+				]
+			},
+			"treadCollider4": {
+				"rotate": [
+					{ "time": 2.1333, "angle": 0 },
+					{ "time": 2.2, "angle": -20.43 },
+					{ "time": 2.3333, "angle": 4.49 },
+					{ "time": 2.4333, "angle": 35.87 },
+					{ "time": 2.5666, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 2.1333,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.191, 0.49, 0.75, 1 ]
+					},
+					{ "time": 2.3333, "x": 0, "y": 66.64 },
+					{ "time": 2.5666, "x": 0, "y": 0 }
+				]
+			},
+			"wheel-midRoot5": {
+				"translate": [
+					{ "time": 2.2, "x": 0, "y": 0 },
+					{ "time": 2.4333, "x": 0, "y": 60.26 },
+					{ "time": 2.7, "x": 0, "y": 0 }
+				]
+			},
+			"treadCollider5": {
+				"rotate": [
+					{ "time": 2.3333, "angle": 0 },
+					{ "time": 2.4333, "angle": -23.6 },
+					{ "time": 2.5666, "angle": 6.49 },
+					{ "time": 2.6666, "angle": 29.93 },
+					{ "time": 2.8, "angle": -0.13 }
+				],
+				"translate": [
+					{ "time": 2.3333, "x": 0, "y": 0 },
+					{ "time": 2.4333, "x": 0, "y": 36.34 },
+					{ "time": 2.5, "x": 0, "y": 56.39 },
+					{ "time": 2.5666, "x": 0, "y": 61.34 },
+					{ "time": 2.8, "x": 0, "y": 2.04 }
+				]
+			},
+			"wheel-midRoot6": {
+				"translate": [
+					{
+						"time": 2.4333,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.19, 0.26, 0.804, 0.8 ]
+					},
+					{
+						"time": 2.6333,
+						"x": 0,
+						"y": 51.86,
+						"curve": [ 0.346, 0, 0.852, 0.7 ]
+					},
+					{ "time": 2.8, "x": 0, "y": 0 }
+				]
+			},
+			"wheel-mid1": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 21,
+						"curve": [ 0.504, 0.11, 0.931, 0.71 ]
+					},
+					{ "time": 0.8, "angle": 120 },
+					{ "time": 1.2333, "angle": 240 },
+					{ "time": 1.6, "angle": 0 },
+					{ "time": 1.9, "angle": 120 },
+					{ "time": 2.1666, "angle": 240 },
+					{ "time": 2.4, "angle": 0 },
+					{ "time": 2.5666, "angle": 120 },
+					{ "time": 2.7333, "angle": 240 },
+					{ "time": 2.9333, "angle": 0 },
+					{ "time": 3.1, "angle": 120 },
+					{ "time": 3.2666, "angle": 240 },
+					{ "time": 3.4333, "angle": 0 },
+					{ "time": 3.6333, "angle": 120 },
+					{ "time": 3.8, "angle": 240 },
+					{ "time": 3.9666, "angle": 0 },
+					{ "time": 4.1666, "angle": 120 },
+					{ "time": 4.3333, "angle": 240 },
+					{ "time": 4.5, "angle": 0 },
+					{ "time": 4.7, "angle": 120 },
+					{ "time": 4.8666, "angle": 240 },
+					{ "time": 5.2666, "angle": -67.99 }
+				]
+			},
+			"tankTreads": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.145, 0.34, 0.75, 1 ]
+					},
+					{ "time": 1.1, "angle": -3.9 },
+					{ "time": 1.3333, "angle": -2.37 },
+					{ "time": 1.6333, "angle": -3.54 },
+					{ "time": 2.1666, "angle": 0.27 },
+					{
+						"time": 2.4666,
+						"angle": 2.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.7,
+						"angle": 3.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 3, "angle": -3.62 },
+					{ "time": 3.2333, "angle": -1.23, "curve": "stepped" },
+					{
+						"time": 4.8666,
+						"angle": -1.23,
+						"curve": [ 0.188, 0.16, 0.75, 1 ]
+					},
+					{
+						"time": 5.2,
+						"angle": 4.47,
+						"curve": [ 0.416, 0.01, 0.75, 1 ]
+					},
+					{
+						"time": 5.5666,
+						"angle": -3.08,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 5.8333, "angle": -1.23 }
+				]
+			},
+			"wheel-big1": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.504, 0.11, 0.931, 0.71 ]
+					},
+					{ "time": 1.1, "angle": 120 },
+					{ "time": 1.5333, "angle": 240 },
+					{ "time": 1.8, "angle": 360 },
+					{ "time": 2.0333, "angle": 120 },
+					{ "time": 2.2666, "angle": 240 },
+					{ "time": 2.4666, "angle": 360 },
+					{ "time": 2.7, "angle": 120 },
+					{ "time": 2.9333, "angle": 240 },
+					{ "time": 3.1333, "angle": 360 },
+					{ "time": 3.3666, "angle": 120 },
+					{ "time": 3.5666, "angle": 240 },
+					{ "time": 3.8, "angle": -24 },
+					{ "time": 4.0333, "angle": 120 },
+					{ "time": 4.2333, "angle": 240 },
+					{ "time": 4.4666, "angle": -24 },
+					{ "time": 4.7, "angle": 120 },
+					{ "time": 4.8666, "angle": -143.99 },
+					{
+						"time": 5.0666,
+						"angle": -131.4,
+						"curve": [ 0.14, 0.25, 0.75, 1 ]
+					},
+					{ "time": 5.6666, "angle": -76.85 },
+					{ "time": 5.8333, "angle": -72.3 }
+				]
+			},
+			"treadGravity1": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 1.4666, "x": 0, "y": 0 },
+					{ "time": 1.8, "x": 0, "y": 29.44 },
+					{ "time": 2.3333, "x": 0, "y": -0.52 },
+					{ "time": 2.5666, "x": 0, "y": 5.2 },
+					{ "time": 2.6666, "x": 0, "y": -11.05, "curve": "stepped" },
+					{ "time": 4.8666, "x": 0, "y": -11.05 },
+					{ "time": 5.0666, "x": 0, "y": -1.91 },
+					{ "time": 5.5333, "x": 0, "y": -6.9 },
+					{ "time": 5.7333, "x": 0, "y": -11.05 }
+				]
+			},
+			"treadGravity2": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 1.4666, "x": 0, "y": 0 },
+					{ "time": 1.8, "x": 0, "y": 8.5 },
+					{ "time": 2.3333, "x": 0, "y": 34.74 },
+					{ "time": 2.5666, "x": 0, "y": 5.2 },
+					{ "time": 2.6666, "x": 0, "y": -11.05, "curve": "stepped" },
+					{ "time": 4.8666, "x": 0, "y": -11.05 },
+					{ "time": 5.0666, "x": 0, "y": 3.9 },
+					{ "time": 5.5333, "x": 0, "y": -6.9 },
+					{ "time": 5.7333, "x": 0, "y": -11.05 }
+				]
+			},
+			"wheel-small1": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.504, 0.11, 0.931, 0.71 ]
+					},
+					{ "time": 0.7, "angle": 120 },
+					{ "time": 1.1, "angle": 240 },
+					{ "time": 1.4666, "angle": 360 },
+					{ "time": 1.7666, "angle": 120 },
+					{ "time": 2.0333, "angle": 240 },
+					{ "time": 2.2666, "angle": 360 },
+					{ "time": 2.4333, "angle": 120 },
+					{ "time": 2.5666, "angle": 240 },
+					{ "time": 2.7, "angle": 360 },
+					{ "time": 2.8333, "angle": 120 },
+					{ "time": 2.9666, "angle": 240 },
+					{ "time": 3.1, "angle": 360 },
+					{ "time": 3.2333, "angle": 120 },
+					{ "time": 3.3666, "angle": 240 },
+					{ "time": 3.5, "angle": 360 },
+					{ "time": 3.6333, "angle": 120 },
+					{ "time": 3.7666, "angle": 240 },
+					{ "time": 3.9, "angle": 360 },
+					{ "time": 4.0333, "angle": 120 },
+					{ "time": 4.1666, "angle": 240 },
+					{ "time": 4.3, "angle": 360 },
+					{ "time": 4.4333, "angle": 120 },
+					{ "time": 4.5666, "angle": 240 },
+					{ "time": 4.7, "angle": 360 },
+					{ "time": 4.8333, "angle": 120 },
+					{ "time": 5, "angle": 240 },
+					{
+						"time": 5.2,
+						"angle": -25.64,
+						"curve": [ 0.181, 0.26, 0.75, 1 ]
+					},
+					{ "time": 5.5666, "angle": 90 }
+				]
+			},
+			"tankBody": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.1666,
+						"angle": -1.41,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.9333,
+						"angle": -0.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3,
+						"angle": 0.84,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -2.33,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.4666,
+						"angle": -0.45,
+						"curve": [ 0.329, 0.32, 0.757, 1 ]
+					},
+					{
+						"time": 4.8666,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3333,
+						"angle": 1.82,
+						"curve": [ 0.324, 0.01, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -1.15,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.0333, "angle": 0 }
+				]
+			},
+			"antenna1": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"antenna2": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"antenna3": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"antenna4": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"antenna5": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"antenna6": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 0.4333,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7333,
+						"angle": -1.55,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.0666,
+						"angle": -0.68,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 1.4,
+						"angle": 0.61,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1.6666, "angle": -0.67, "curve": "stepped" },
+					{
+						"time": 2.1333,
+						"angle": -0.67,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.3666,
+						"angle": 0.88,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.5666,
+						"angle": -1.69,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 2.8666,
+						"angle": 1.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.0333,
+						"angle": -1.09,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.2333,
+						"angle": 1.03,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 3.5,
+						"angle": -0.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 4.6666, "angle": -0.18 },
+					{
+						"time": 5.0333,
+						"angle": -1.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.3666,
+						"angle": 9.17,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.6666,
+						"angle": -3.14,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.9,
+						"angle": 2.96,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 6.1,
+						"angle": -0.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.2666, "angle": 0.96 },
+					{ "time": 6.4, "angle": 0 }
+				]
+			},
+			"machinegun": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{
+						"time": 2.8333,
+						"angle": 0,
+						"curve": [ 0.183, 0.17, 0.75, 1 ]
+					},
+					{
+						"time": 3,
+						"angle": -4.43,
+						"curve": [ 0.156, 0.16, 0.75, 1 ]
+					},
+					{
+						"time": 3.1666,
+						"angle": -2.93,
+						"curve": [ 0.156, 0.16, 0.75, 1 ]
+					},
+					{
+						"time": 4.8333,
+						"angle": 0,
+						"curve": [ 0.183, 0.17, 0.75, 1 ]
+					},
+					{
+						"time": 5.1666,
+						"angle": -6.05,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 5.4,
+						"angle": 6.15,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 5.6, "angle": -1.26 }
+				]
+			},
+			"cannon": {
+				"rotate": [
+					{ "time": 0, "angle": 0 }
+				]
+			},
+			"cannonTarget": {
+				"translate": [
+					{
+						"time": 5,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 6.3333, "x": -15.38, "y": 99.99 }
+				]
+			}
+		},
+		"ik": {
+			"cannonTarget": [
+				{ "time": 0, "mix": 0.809, "curve": "stepped" },
+				{ "time": 4.7333, "mix": 0.809 },
+				{ "time": 5.1666, "mix": 0.504 },
+				{ "time": 5.6666 }
+			]
+		},
+		"paths": {
+			"treads": {
+				"position": [
+					{
+						"time": 0,
+						"curve": [ 0.549, 0, 0.907, 0.84 ]
+					},
+					{ "time": 3.0333, "position": 0.51 },
+					{ "time": 4.8666, "position": 0.9794 },
+					{
+						"time": 5.2666,
+						"position": 1,
+						"curve": [ 0.226, 0.15, 0.765, 0.96 ]
+					},
+					{
+						"time": 5.5333,
+						"position": 1.02,
+						"curve": [ 0.279, 0.32, 0.694, 0.99 ]
+					},
+					{ "time": 5.8333, "position": 1.021 }
+				]
+			}
+		}
+	}
+}
+}

二進制
spine-corona/data/tank.png


+ 20 - 0
spine-corona/data/test.atlas

@@ -0,0 +1,20 @@
+
+test.png
+size: 256,64
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+logo
+  rotate: false
+  xy: 193, 2
+  size: 60, 60
+  orig: 60, 60
+  offset: 0, 0
+  index: -1
+spine
+  rotate: false
+  xy: 2, 2
+  size: 189, 60
+  orig: 189, 60
+  offset: 0, 0
+  index: -1

+ 278 - 0
spine-corona/data/test.json

@@ -0,0 +1,278 @@
+{
+"skeleton": { "hash": "xbu5IFg+2tCx4+2MavNPurEogzA", "spine": "3.4.02", "width": 1333.78, "height": 1112.91, "images": "./images/" },
+"bones": [
+	{ "name": "root", "x": 28.68, "y": -105.71 },
+	{ "name": "attachment", "parent": "root", "x": -267.71, "y": -366.62 },
+	{ "name": "color", "parent": "root", "x": -298.29, "y": 44.1 },
+	{ "name": "draworder", "parent": "root", "x": 283.53, "y": -356.27 },
+	{ "name": "mesh", "parent": "root", "x": -320.74, "y": 413.7 },
+	{ "name": "meshweighted", "parent": "root", "rotation": -11.22, "x": -353.28, "y": 627.53 },
+	{ "name": "pathfollower", "parent": "root", "x": 177.52, "y": 56.62 },
+	{ "name": "rotate", "parent": "root", "x": -305, "y": 201 },
+	{ "name": "scale", "parent": "root", "x": 183.99, "y": -138 },
+	{ "name": "shear", "parent": "root", "x": -304, "y": -146 },
+	{ "name": "transformconstrainttarget", "parent": "root", "x": 604.27, "y": 420.7, "color": "abe323ff" },
+	{ "name": "transformconstrained", "parent": "root", "x": 169.6, "y": 420.7 },
+	{ "name": "translate", "parent": "root", "x": 190.99, "y": 201, "color": "abe323ff" }
+],
+"slots": [
+	{ "name": "images/spine", "bone": "translate", "attachment": "images/spine" },
+	{ "name": "images/spine2", "bone": "rotate", "attachment": "images/spine" },
+	{ "name": "images/spine3", "bone": "scale", "attachment": "images/spine" },
+	{ "name": "images/spine4", "bone": "shear", "attachment": "images/spine" },
+	{ "name": "images/spine5", "bone": "color", "attachment": "images/spine" },
+	{ "name": "path2", "bone": "root", "attachment": "path" },
+	{ "name": "images/spine6", "bone": "pathfollower", "attachment": "images/spine" },
+	{ "name": "images/spine7", "bone": "transformconstrained", "attachment": "images/spine" },
+	{ "name": "images/spine8", "bone": "transformconstrainttarget", "attachment": "images/spine" },
+	{ "name": "images/spine9", "bone": "mesh", "attachment": "images/spine" },
+	{ "name": "images/spine10", "bone": "attachment", "attachment": "images/logo" },
+	{ "name": "draworder2", "bone": "draworder", "attachment": "images/logo" },
+	{ "name": "draworder1", "bone": "draworder", "attachment": "images/spine" },
+	{ "name": "images/spine12", "bone": "meshweighted", "attachment": "linkedmesh" }
+],
+"transform": [
+	{
+		"name": "transformconstraint",
+		"bones": [ "transformconstrained" ],
+		"target": "transformconstrainttarget",
+		"x": -400,
+		"rotateMix": 0.509,
+		"translateMix": 0.509,
+		"scaleMix": 0.509,
+		"shearMix": 0.509
+	}
+],
+"path": [
+	{
+		"name": "pathconstraint",
+		"bones": [ "pathfollower" ],
+		"target": "path2",
+		"rotation": 34.2
+	}
+],
+"skins": {
+	"default": {
+		"draworder1": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"draworder2": {
+			"images/logo": { "path": "logo", "width": 120, "height": 120 }
+		},
+		"images/spine": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine10": {
+			"images/logo": { "path": "logo", "width": 120, "height": 120 },
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine12": {
+			"images/spine": {
+				"type": "mesh",
+				"path": "spine",
+				"uvs": [ 0, 0, 0.25, 0, 0.5, 0, 0.75, 0, 1, 0, 1, 0.25, 1, 0.5, 1, 0.75, 1, 1, 0.75, 1, 0.5, 1, 0.25, 1, 0, 1, 0, 0.75, 0, 0.5, 0, 0.25, 0.25, 0.25, 0.25, 0.5, 0.25, 0.75, 0.5, 0.25, 0.5, 0.5, 0.5, 0.75, 0.75, 0.25, 0.75, 0.5, 0.75, 0.75 ],
+				"triangles": [ 15, 0, 1, 16, 1, 2, 15, 1, 16, 19, 2, 3, 16, 2, 19, 22, 3, 4, 19, 3, 22, 22, 4, 5, 14, 15, 16, 17, 16, 19, 14, 16, 17, 20, 19, 22, 17, 19, 20, 23, 22, 5, 20, 22, 23, 23, 5, 6, 13, 14, 17, 18, 17, 20, 13, 17, 18, 21, 20, 23, 18, 20, 21, 24, 23, 6, 21, 23, 24, 24, 6, 7, 12, 13, 18, 11, 18, 21, 12, 18, 11, 10, 21, 24, 11, 21, 10, 9, 24, 7, 10, 24, 9, 9, 7, 8 ],
+				"vertices": [ 1, 5, -194.67, 21.29, 1, 1, 5, -102.08, 38.91, 1, 1, 5, -9.49, 56.54, 1, 1, 5, 83.08, 74.16, 1, 1, 5, 175.67, 91.79, 1, 1, 5, 181.28, 62.32, 1, 1, 5, 186.89, 32.84, 1, 1, 5, 192.5, 3.38, 1, 1, 5, 198.11, -26.09, 1, 1, 5, 105.52, -43.71, 1, 1, 5, 12.94, -61.33, 1, 1, 5, -79.64, -78.96, 1, 1, 5, -172.23, -96.58, 1, 1, 5, -177.84, -67.11, 1, 1, 5, -183.45, -37.64, 1, 1, 5, -189.06, -8.17, 1, 1, 5, -96.47, 9.45, 1, 1, 5, -90.86, -20.01, 1, 1, 5, -85.25, -49.48, 1, 1, 5, -3.88, 27.07, 1, 1, 5, 1.72, -2.39, 1, 1, 5, 7.33, -31.86, 1, 1, 5, 88.7, 44.69, 1, 1, 5, 94.31, 15.22, 1, 1, 5, 99.92, -14.24, 1 ],
+				"hull": 16,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 0 ],
+				"width": 377,
+				"height": 120
+			},
+			"linkedmesh": { "type": "linkedmesh", "path": "logo", "parent": "images/spine", "width": 120, "height": 120 }
+		},
+		"images/spine2": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine3": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine4": {
+			"images/spine": { "path": "spine", "rotation": 0.15, "width": 377, "height": 120 }
+		},
+		"images/spine5": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine6": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine7": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine8": {
+			"images/spine": { "path": "spine", "width": 377, "height": 120 }
+		},
+		"images/spine9": {
+			"images/spine": {
+				"type": "mesh",
+				"path": "spine",
+				"uvs": [ 1, 0.50124, 1, 1, 0.72412, 1, 0.49981, 1, 0.28581, 1, 0, 1, 0, 0.50124, 0, 0, 0.49207, 0, 1, 0, 0.56941, 0.57414, 0.84014, 0.50124, 0.61841, 0.22584, 0.20589, 0.20154, 0.19558, 0.67134, 0.39152, 0.86574, 0.3941, 0.41214, 0.3941, 0.12864, 0.76021, 0.19344, 0.76537, 0.59034, 0.74474, 0.84144, 0.57716, 0.81714 ],
+				"triangles": [ 17, 7, 8, 18, 8, 9, 13, 7, 17, 12, 8, 18, 17, 8, 12, 16, 17, 12, 13, 17, 16, 6, 7, 13, 6, 13, 16, 18, 9, 0, 11, 18, 0, 10, 16, 12, 12, 18, 11, 10, 12, 11, 19, 10, 11, 14, 6, 16, 14, 16, 10, 21, 10, 19, 15, 14, 10, 20, 21, 19, 21, 15, 10, 5, 6, 14, 4, 5, 14, 15, 4, 14, 3, 15, 21, 4, 15, 3, 2, 21, 20, 3, 21, 2, 19, 11, 0, 0, 20, 19, 1, 20, 0, 2, 20, 1 ],
+				"vertices": [ 191.41, -1.12, 191.41, -60.97, 87.4, -60.97, 2.84, -60.97, -77.82, -60.97, -185.58, -60.97, -185.58, -1.12, -185.58, 59.02, -0.07, 59.02, 191.41, 59.02, 29.09, -9.85, 131.14, -1.12, 47.55, 31.92, -107.96, 34.84, -111.85, -21.53, -37.97, -44.86, -37, 9.57, -37, 43.59, 101.01, 35.81, 102.96, -11.81, 95.18, -41.93, 32, -39.02 ],
+				"hull": 10,
+				"edges": [ 10, 12, 12, 14, 14, 16, 16, 18, 2, 0, 0, 18, 6, 8, 8, 10, 2, 4, 4, 6 ],
+				"width": 377,
+				"height": 120
+			}
+		},
+		"path2": {
+			"path": {
+				"type": "path",
+				"closed": true,
+				"lengths": [ 128.85, 310.24, 465.06, 600.88, 773.97 ],
+				"vertexCount": 15,
+				"vertices": [ 258.07, -42.67, 291.94, -17.53, 326.41, 7.22, 391.41, 2.75, 398.05, 46.72, 399.83, 84.07, 274.03, 106.4, 236.7, 117.74, 199.37, 129.09, 116.55, 135.12, 84.41, 115.47, 50.34, 94.04, 56.53, 1.48, 89.01, -5.59, 122.89, -13.58 ]
+			}
+		}
+	}
+},
+"animations": {
+	"animation": {
+		"slots": {
+			"images/spine5": {
+				"color": [
+					{ "time": 0, "color": "ffffffff" },
+					{ "time": 0.4333, "color": "ff0901ff" },
+					{ "time": 0.9, "color": "2dff00ff" },
+					{ "time": 1.3333, "color": "ffffffff" }
+				]
+			},
+			"images/spine10": {
+				"attachment": [
+					{ "time": 0, "name": "images/spine" },
+					{ "time": 0.6666, "name": "images/logo" },
+					{ "time": 1.3333, "name": "images/spine" }
+				]
+			},
+			"images/spine12": {
+				"attachment": [
+					{ "time": 0, "name": "images/spine" },
+					{ "time": 0.6666, "name": "linkedmesh" }
+				]
+			}
+		},
+		"bones": {
+			"translate": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 1, 0, 0, 1 ]
+					},
+					{ "time": 0.6666, "x": 96.99, "y": -151 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			},
+			"scale": {
+				"scale": [
+					{ "time": 0, "x": 1, "y": 1 },
+					{ "time": 0.6666, "x": 1, "y": 2.34 },
+					{ "time": 1.3333, "x": 1, "y": 1 }
+				]
+			},
+			"rotate": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.6666, "angle": -125.34 },
+					{ "time": 1.3333, "angle": 0 }
+				]
+			},
+			"shear": {
+				"shear": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 29.4, "y": 0 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			},
+			"transformconstrainttarget": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.6666, "angle": -74.6 },
+					{ "time": 1.3333, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 176.22, "y": -170.34 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				],
+				"scale": [
+					{ "time": 0, "x": 1, "y": 1 },
+					{ "time": 0.6666, "x": 2, "y": 2 },
+					{ "time": 1.3333, "x": 1, "y": 1 }
+				],
+				"shear": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.6666, "x": 23.4, "y": 0 },
+					{ "time": 1.3333, "x": 0, "y": 0 }
+				]
+			}
+		},
+		"transform": {
+			"transformconstraint": [
+				{ "time": 0, "rotateMix": 0.509, "translateMix": 0.509, "scaleMix": 0.509, "shearMix": 0.509 },
+				{ "time": 0.6666 },
+				{ "time": 1.3333, "rotateMix": 0.5, "translateMix": 0.5, "scaleMix": 0.5, "shearMix": 0.5 }
+			]
+		},
+		"paths": {
+			"pathconstraint": {
+				"position": [
+					{ "time": 0 },
+					{ "time": 1.3333, "position": 1 }
+				],
+				"spacing": [
+					{ "time": 0, "spacing": 40.1 },
+					{ "time": 1.3333 }
+				],
+				"mix": [
+					{ "time": 0.6666, "rotateMix": 0.473, "translateMix": 0.473 },
+					{ "time": 1.3333 }
+				]
+			}
+		},
+		"deform": {
+			"default": {
+				"images/spine9": {
+					"images/spine": [
+						{ "time": 0 },
+						{
+							"time": 0.6666,
+							"vertices": [ 43.09784, 58.11693, 0, 0, 0, 0, -0.653, -57.46399, -50.93396, -47.01593, -43.098, -24.81398, -43.098, -24.81399, -1.0E-5, 1.0E-5, 0, 1.0E-5, 43.09784, 58.11695, 0, 0, 43.09784, 58.11693, 1.0E-5, -1.0E-5, 0, 0, -43.09797, -24.81399, 0, 1.0E-5, 0, 0, 0, 0, 43.09784, 58.11694, 43.09784, 58.11693 ]
+						},
+						{ "time": 1.3333 }
+					]
+				},
+				"images/spine12": {
+					"images/spine": [
+						{ "time": 0 },
+						{
+							"time": 0.3333,
+							"offset": 4,
+							"vertices": [ -9.45232, 83.5133, -3.90008, 44.76635, -3.90008, 44.76635, -3.90008, 44.76635, 0, 0, 0, 0, 0, 0, 0, 0, 5.15667, -29.57763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.90008, 44.76635 ]
+						},
+						{ "time": 0.6666 },
+						{
+							"time": 0.6679,
+							"vertices": [ -1.21159, -14.52716, -2.76092, -7.75683, -4.30999, -0.98669, 2.38385, 9.78289, -1.56903, 5.49316, -2.93444, 6.75128, -4.30011, 8.00933, -5.66552, 9.2677, -7.031, 10.52575, -3.07855, 14.81561, 4.30986, 0.9859, 5.85907, -5.78436, 7.40826, -12.55462, 5.25317, -13.04797, 3.09832, -13.54083, 0.94323, -14.03411, -0.60595, -7.26379, 1.54907, -6.77056, 3.70422, -6.27746, -2.15495, -0.49346, 0, -3.0E-4, 2.15495, 0.49273, 1.01812, 11.04132, -0.3471, 12.29895, -1.71313, 13.557 ]
+						},
+						{
+							"time": 1.3333,
+							"vertices": [ -10.57342, 25.16797, -9.16716, 14.48486, -7.76074, 3.80212, 131.25482, 21.05285, 128.23181, -0.04534, 121.51611, 0.91668, 114.80023, 1.8789, 108.08459, 2.84124, 101.3689, 3.80316, 104.39154, 24.90191, -21.3623, 2.01171, -22.76855, 12.69433, -24.17505, 23.37719, -20.77471, 23.82476, -17.37414, 24.27276, -13.97393, 24.72009, -12.56768, 14.03753, -15.96789, 13.58978, -19.36809, 13.14215, -11.16095, 3.35455, -14.56134, 2.90704, -17.96167, 2.45922, 124.53894, 22.01538, 117.82336, 22.97705, 111.10718, 23.93933 ]
+						}
+					]
+				}
+			}
+		},
+		"drawOrder": [
+			{ "time": 0 },
+			{
+				"time": 0.6666,
+				"offsets": [
+					{ "slot": "draworder2", "offset": 1 }
+				]
+			},
+			{ "time": 1.3333 }
+		]
+	}
+}
+}

二進制
spine-corona/data/test.png


+ 13 - 0
spine-corona/data/vine.atlas

@@ -0,0 +1,13 @@
+
+vine.png
+size: 128,1024
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+vine
+  rotate: false
+  xy: 2, 2
+  size: 68, 962
+  orig: 68, 962
+  offset: 0, 0
+  index: -1

文件差異過大導致無法顯示
+ 41 - 0
spine-corona/data/vine.json


二進制
spine-corona/data/vine.png


+ 0 - 768
spine-corona/examples/dragon/dragon.json

@@ -1,768 +0,0 @@
-{
-"bones": [
-	{ "name": "root", "y": -176.12 },
-	{ "name": "COG", "parent": "root", "y": 176.12 },
-	{ "name": "back", "parent": "COG", "length": 115.37, "x": 16.03, "y": 27.94, "rotation": 151.83 },
-	{ "name": "chest", "parent": "COG", "length": 31.24, "x": 52.52, "y": 15.34, "rotation": 161.7 },
-	{ "name": "neck", "parent": "COG", "length": 41.36, "x": 64.75, "y": 11.98, "rotation": 39.05 },
-	{ "name": "L_front_thigh", "parent": "chest", "length": 67.42, "x": -45.58, "y": 7.92, "rotation": 138.94 },
-	{ "name": "L_wing", "parent": "chest", "length": 301.12, "x": -7.24, "y": -24.65, "rotation": -75.51 },
-	{ "name": "R_front_thigh", "parent": "chest", "length": 81.63, "x": -10.89, "y": 28.25, "rotation": 67.96 },
-	{ "name": "R_rear_thigh", "parent": "back", "length": 123.46, "x": 65.31, "y": 59.89, "rotation": 104.87 },
-	{ "name": "chin", "parent": "neck", "length": 153.15, "x": 64.62, "y": -6.99, "rotation": -69.07 },
-	{ "name": "head", "parent": "neck", "length": 188.83, "x": 69.96, "y": 2.49, "rotation": 8.06 },
-	{ "name": "tail1", "parent": "back", "length": 65.65, "x": 115.37, "y": -0.19, "rotation": 44.31 },
-	{ "name": "L_front_leg", "parent": "L_front_thigh", "length": 51.57, "x": 67.42, "y": 0.02, "rotation": 43.36 },
-	{ "name": "L_rear_thigh", "parent": "R_rear_thigh", "length": 88.05, "x": -8.59, "y": 30.18, "rotation": 28.35 },
-	{ "name": "R_front_leg", "parent": "R_front_thigh", "length": 66.52, "x": 83.04, "y": -0.3, "rotation": 92.7 },
-	{ "name": "R_rear_leg", "parent": "R_rear_thigh", "length": 91.06, "x": 123.46, "y": -0.26, "rotation": -129.04 },
-	{ "name": "R_wing", "parent": "head", "length": 359.5, "x": -74.68, "y": 20.9, "rotation": 83.21 },
-	{ "name": "tail2", "parent": "tail1", "length": 54.5, "x": 65.65, "y": 0.22, "rotation": 12 },
-	{ "name": "L_front_toe1", "parent": "L_front_leg", "length": 51.44, "x": 45.53, "y": 2.43, "rotation": -98 },
-	{ "name": "L_front_toe2", "parent": "L_front_leg", "length": 61.97, "x": 51.57, "y": -0.12, "rotation": -55.26 },
-	{ "name": "L_front_toe3", "parent": "L_front_leg", "length": 45.65, "x": 54.19, "y": 0.6, "rotation": -11.13 },
-	{ "name": "L_front_toe4", "parent": "L_front_leg", "length": 53.47, "x": 50.6, "y": 7.08, "rotation": 19.42 },
-	{ "name": "L_rear_leg", "parent": "L_rear_thigh", "length": 103.74, "x": 96.04, "y": -0.97, "rotation": -122.41 },
-	{ "name": "R_front_toe1", "parent": "R_front_leg", "length": 46.65, "x": 70.03, "y": 5.31, "rotation": 8.59 },
-	{ "name": "R_front_toe2", "parent": "R_front_leg", "length": 53.66, "x": 66.52, "y": 0.33, "rotation": -35.02 },
-	{ "name": "R_front_toe3", "parent": "R_front_leg", "length": 58.38, "x": 62.1, "y": -0.79, "rotation": -74.67 },
-	{ "name": "R_rear_toe1", "parent": "R_rear_leg", "length": 94.99, "x": 90.06, "y": 2.12, "rotation": 141.98 },
-	{ "name": "R_rear_toe2", "parent": "R_rear_leg", "length": 99.29, "x": 89.6, "y": 1.52, "rotation": 125.32 },
-	{ "name": "R_rear_toe3", "parent": "R_rear_leg", "length": 103.45, "x": 91.06, "y": -0.35, "rotation": 112.26 },
-	{ "name": "tail3", "parent": "tail2", "length": 41.78, "x": 54.5, "y": 0.37, "rotation": 1.8 },
-	{ "name": "tail4", "parent": "tail3", "length": 34.19, "x": 41.78, "y": 0.16, "rotation": -1.8 },
-	{ "name": "tail5", "parent": "tail4", "length": 32.32, "x": 34.19, "y": -0.19, "rotation": -3.15 },
-	{ "name": "tail6", "parent": "tail5", "length": 80.08, "x": 32.32, "y": -0.23, "rotation": -29.55 }
-],
-"slots": [
-	{ "name": "L_rear_leg", "bone": "L_rear_leg", "attachment": "L_rear_leg" },
-	{ "name": "L_rear_thigh", "bone": "L_rear_thigh", "attachment": "L_rear_thigh" },
-	{ "name": "L_wing", "bone": "L_wing", "attachment": "L_wing01" },
-	{ "name": "tail6", "bone": "tail6", "attachment": "tail06" },
-	{ "name": "tail5", "bone": "tail5", "attachment": "tail05" },
-	{ "name": "tail4", "bone": "tail4", "attachment": "tail04" },
-	{ "name": "tail3", "bone": "tail3", "attachment": "tail03" },
-	{ "name": "tail2", "bone": "tail2", "attachment": "tail02" },
-	{ "name": "tail1", "bone": "tail1", "attachment": "tail01" },
-	{ "name": "back", "bone": "back", "attachment": "back" },
-	{ "name": "L_front_thigh", "bone": "L_front_thigh", "attachment": "L_front_thigh" },
-	{ "name": "L_front_leg", "bone": "L_front_leg", "attachment": "L_front_leg" },
-	{ "name": "L_front_toe1", "bone": "L_front_toe1", "attachment": "front_toeA" },
-	{ "name": "L_front_toe4", "bone": "L_front_toe4", "attachment": "front_toeB" },
-	{ "name": "L_front_toe3", "bone": "L_front_toe3", "attachment": "front_toeB" },
-	{ "name": "L_front_toe2", "bone": "L_front_toe2", "attachment": "front_toeB" },
-	{ "name": "chest", "bone": "chest", "attachment": "chest" },
-	{ "name": "R_rear_toe1", "bone": "R_rear_toe1", "attachment": "rear-toe" },
-	{ "name": "R_rear_toe2", "bone": "R_rear_toe2", "attachment": "rear-toe" },
-	{ "name": "R_rear_toe3", "bone": "R_rear_toe3", "attachment": "rear-toe" },
-	{ "name": "R_rear_leg", "bone": "R_rear_leg", "attachment": "R_rear_leg" },
-	{ "name": "R_rear_thigh", "bone": "R_rear_thigh", "attachment": "R_rear_thigh" },
-	{ "name": "R_front_toe1", "bone": "R_front_toe1", "attachment": "front_toeB" },
-	{ "name": "R_front_thigh", "bone": "R_front_thigh", "attachment": "R_front_thigh" },
-	{ "name": "R_front_leg", "bone": "R_front_leg", "attachment": "R_front_leg" },
-	{ "name": "R_front_toe2", "bone": "R_front_toe2", "attachment": "front_toeB" },
-	{ "name": "R_front_toe3", "bone": "R_front_toe3", "attachment": "front_toeB" },
-	{ "name": "chin", "bone": "chin", "attachment": "chin" },
-	{ "name": "R_wing", "bone": "R_wing", "attachment": "R_wing01" },
-	{ "name": "head", "bone": "head", "attachment": "head" },
-	{ "name": "logo", "bone": "root", "attachment": "logo" }
-],
-"skins": {
-	"default": {
-		"L_front_leg": {
-			"L_front_leg": { "x": 14.68, "y": 0.48, "rotation": 15.99, "width": 84, "height": 57 }
-		},
-		"L_front_thigh": {
-			"L_front_thigh": { "x": 27.66, "y": -11.58, "rotation": 58.66, "width": 84, "height": 72 }
-		},
-		"L_front_toe1": {
-			"front_toeA": { "x": 31.92, "y": 0.61, "rotation": 109.55, "width": 29, "height": 50 }
-		},
-		"L_front_toe2": {
-			"front_toeB": { "x": 26.83, "y": -4.94, "rotation": 109.51, "width": 56, "height": 57 }
-		},
-		"L_front_toe3": {
-			"front_toeB": { "x": 18.21, "y": -7.21, "scaleX": 0.94, "scaleY": 0.94, "rotation": 99.71, "width": 56, "height": 57 }
-		},
-		"L_front_toe4": {
-			"front_toeB": { "x": 23.21, "y": -11.68, "rotation": 79.89, "width": 56, "height": 57 }
-		},
-		"L_rear_leg": {
-			"L_rear_leg": { "x": 67.29, "y": 12.62, "rotation": -162.65, "width": 206, "height": 177 }
-		},
-		"L_rear_thigh": {
-			"L_rear_thigh": { "x": 56.03, "y": 27.38, "rotation": 74.93, "width": 91, "height": 149 }
-		},
-		"L_wing": {
-			"L_wing01": { "x": 129.21, "y": -45.49, "rotation": -83.7, "width": 191, "height": 256 },
-			"L_wing02": { "x": 126.37, "y": -31.69, "rotation": -86.18, "width": 179, "height": 269 },
-			"L_wing03": { "x": 110.26, "y": -90.89, "rotation": -86.18, "width": 186, "height": 207 },
-			"L_wing04": { "x": -61.61, "y": -83.26, "rotation": -86.18, "width": 188, "height": 135 },
-			"L_wing05": { "x": -90.01, "y": -78.14, "rotation": -86.18, "width": 218, "height": 213 },
-			"L_wing06": { "x": -143.76, "y": -83.71, "rotation": -86.18, "width": 192, "height": 331 },
-			"L_wing07": { "x": -133.04, "y": -33.89, "rotation": -86.18, "width": 159, "height": 255 },
-			"L_wing08": { "x": 50.15, "y": -15.71, "rotation": -86.18, "width": 164, "height": 181 },
-			"L_wing09": { "x": 85.94, "y": -11.32, "rotation": -86.18, "width": 204, "height": 167 }
-		},
-		"R_front_leg": {
-			"R_front_leg": { "x": 17.79, "y": 4.22, "rotation": 37.62, "width": 101, "height": 89 }
-		},
-		"R_front_thigh": {
-			"R_front_thigh": { "x": 35.28, "y": 2.11, "rotation": 130.33, "width": 108, "height": 108 }
-		},
-		"R_front_toe1": {
-			"front_toeB": { "x": 24.49, "y": -2.61, "rotation": 104.18, "width": 56, "height": 57 }
-		},
-		"R_front_toe2": {
-			"front_toeB": { "x": 26.39, "y": 1.16, "rotation": 104.57, "width": 56, "height": 57 }
-		},
-		"R_front_toe3": {
-			"front_toeB": { "x": 30.66, "y": -0.06, "rotation": 112.29, "width": 56, "height": 57 }
-		},
-		"R_rear_leg": {
-			"R_rear_leg": { "x": 60.87, "y": -5.72, "rotation": -127.66, "width": 116, "height": 100 }
-		},
-		"R_rear_thigh": {
-			"R_rear_thigh": { "x": 53.25, "y": 12.58, "rotation": 103.29, "width": 91, "height": 149 }
-		},
-		"R_rear_toe1": {
-			"rear-toe": { "x": 54.75, "y": -5.72, "rotation": 134.79, "width": 109, "height": 77 }
-		},
-		"R_rear_toe2": {
-			"rear-toe": { "x": 57.02, "y": -7.22, "rotation": 134.42, "width": 109, "height": 77 }
-		},
-		"R_rear_toe3": {
-			"rear-toe": { "x": 47.46, "y": -7.64, "rotation": 134.34, "width": 109, "height": 77 }
-		},
-		"R_wing": {
-			"R_wing01": { "x": 170.08, "y": -23.67, "rotation": -130.33, "width": 219, "height": 310 },
-			"R_wing02": { "x": 171.14, "y": -19.33, "rotation": -130.33, "width": 203, "height": 305 },
-			"R_wing03": { "x": 166.46, "y": 29.23, "rotation": -130.33, "width": 272, "height": 247 },
-			"R_wing04": { "x": 42.94, "y": 134.05, "rotation": -130.33, "width": 279, "height": 144 },
-			"R_wing05": { "x": -8.83, "y": 142.59, "rotation": -130.33, "width": 251, "height": 229 },
-			"R_wing06": { "x": -123.33, "y": 111.22, "rotation": -130.33, "width": 200, "height": 366 },
-			"R_wing07": { "x": -40.17, "y": 118.03, "rotation": -130.33, "width": 200, "height": 263 },
-			"R_wing08": { "x": 48.01, "y": 28.76, "rotation": -130.33, "width": 234, "height": 254 },
-			"R_wing09": { "x": 128.1, "y": 21.12, "rotation": -130.33, "width": 248, "height": 204 }
-		},
-		"back": {
-			"back": { "x": 35.84, "y": 19.99, "rotation": -151.83, "width": 190, "height": 185 }
-		},
-		"chest": {
-			"chest": { "x": -14.6, "y": 24.78, "rotation": -161.7, "width": 136, "height": 122 }
-		},
-		"chin": {
-			"chin": { "x": 66.55, "y": 7.32, "rotation": 30.01, "width": 214, "height": 146 }
-		},
-		"head": {
-			"head": { "x": 76.68, "y": 32.21, "rotation": -47.12, "width": 296, "height": 260 }
-		},
-		"logo": {
-			"logo": { "y": -176.72, "width": 897, "height": 92 }
-		},
-		"tail1": {
-			"tail01": { "x": 22.59, "y": -4.5, "rotation": 163.85, "width": 120, "height": 153 }
-		},
-		"tail2": {
-			"tail02": { "x": 18.11, "y": -1.75, "rotation": 151.84, "width": 95, "height": 120 }
-		},
-		"tail3": {
-			"tail03": { "x": 16.94, "y": -2, "rotation": 150.04, "width": 73, "height": 92 }
-		},
-		"tail4": {
-			"tail04": { "x": 15.34, "y": -2.17, "rotation": 151.84, "width": 56, "height": 71 }
-		},
-		"tail5": {
-			"tail05": { "x": 15.05, "y": -3.57, "rotation": 155, "width": 52, "height": 59 }
-		},
-		"tail6": {
-			"tail06": { "x": 28.02, "y": -16.83, "rotation": -175.44, "width": 95, "height": 68 }
-		}
-	}
-},
-"animations": {
-	"flying": {
-		"bones": {
-			"back": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 17.39 },
-					{ "time": 0.5, "angle": 0 },
-					{ "time": 0.8333, "angle": 7 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"neck": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -8.18 },
-					{ "time": 0.3333, "angle": -23.16 },
-					{ "time": 0.5, "angle": -18.01 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"chest": {
-				"rotate": [
-					{ "time": 0, "angle": 0, "curve": "stepped" },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail1": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -2.42 },
-					{ "time": 0.3333, "angle": -26.2 },
-					{ "time": 0.5, "angle": -29.65 },
-					{ "time": 0.6666, "angle": -23.15 },
-					{ "time": 0.8333, "angle": -55.46 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_rear_thigh": {
-				"rotate": [
-					{ "time": 0, "angle": 0, "curve": "stepped" },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail2": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -1.12 },
-					{ "time": 0.3333, "angle": 10.48 },
-					{ "time": 0.5, "angle": 7.89 },
-					{ "time": 0.8333, "angle": -10.38 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail3": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 8.24 },
-					{ "time": 0.3333, "angle": 15.21 },
-					{ "time": 0.5, "angle": 14.84 },
-					{ "time": 0.8333, "angle": -18.9 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail4": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 17.46 },
-					{ "time": 0.3333, "angle": 22.15 },
-					{ "time": 0.5, "angle": 22.76 },
-					{ "time": 0.8333, "angle": -4.37 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail5": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 7.4 },
-					{ "time": 0.3333, "angle": 28.5 },
-					{ "time": 0.5, "angle": 21.33 },
-					{ "time": 0.8333, "angle": -1.27 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"tail6": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 45.99 },
-					{ "time": 0.4, "angle": 43.53 },
-					{ "time": 0.5, "angle": 61.79 },
-					{ "time": 0.8333, "angle": 13.28 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_rear_leg": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -14.21 },
-					{ "time": 0.5, "angle": 47.17 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_rear_toe3": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.5, "angle": -36.06 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_rear_toe2": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.5, "angle": -20.32 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_rear_toe1": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.5, "angle": -18.71 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"head": {
-				"rotate": [
-					{
-						"time": 0,
-						"angle": 0,
-						"curve": [ 0.408, 1.36, 0.675, 1.43 ]
-					},
-					{ "time": 0.5, "angle": 1.03 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"chin": {
-				"rotate": [
-					{
-						"time": 0,
-						"angle": 0,
-						"curve": [ 0.416, 1.15, 0.494, 1.27 ]
-					},
-					{ "time": 0.3333, "angle": -5.15 },
-					{ "time": 0.5, "angle": 9.79 },
-					{ "time": 0.6666, "angle": 18.94 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"L_front_thigh": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -19.18 },
-					{ "time": 0.3333, "angle": -32.02 },
-					{ "time": 0.5, "angle": -19.62 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_front_thigh": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -12.96 },
-					{ "time": 0.5, "angle": 16.2 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"L_front_leg": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 37.77 },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"L_front_toe1": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": -16.08 },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"L_front_toe2": {
-				"rotate": [
-					{ "time": 0, "angle": 0, "curve": "stepped" },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				]
-			},
-			"L_front_toe4": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.5, "angle": 26.51 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"L_front_toe3": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.5, "angle": 16.99 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"R_front_leg": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 26.07 },
-					{ "time": 0.5, "angle": -21.6 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 0.5, "x": 1, "y": 1, "curve": "stepped" },
-					{ "time": 1, "x": 1, "y": 1 }
-				]
-			},
-			"R_front_toe1": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 29.23 },
-					{ "time": 0.5, "angle": 34.83 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"R_front_toe2": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 24.89 },
-					{ "time": 0.5, "angle": 23.16 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"R_front_toe3": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.1666, "angle": 11.01 },
-					{ "time": 0.5, "angle": 0, "curve": "stepped" },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 0.5, "x": 0, "y": 0, "curve": "stepped" },
-					{ "time": 1, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"L_rear_leg": {
-				"rotate": [
-					{ "time": 0, "angle": 0 },
-					{ "time": 0.3666, "angle": 25.19 },
-					{ "time": 0.6666, "angle": -15.65 },
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{ "time": 0, "x": 0, "y": 0 }
-				],
-				"scale": [
-					{ "time": 0, "x": 1, "y": 1 }
-				]
-			},
-			"COG": {
-				"rotate": [
-					{
-						"time": 0,
-						"angle": 0,
-						"curve": [ 0.456, 0.2, 0.422, 1.06 ]
-					},
-					{ "time": 0.3333, "angle": 23.93 },
-					{
-						"time": 0.6666,
-						"angle": 337.8,
-						"curve": [ 0.41, 0, 0.887, 0.75 ]
-					},
-					{ "time": 1, "angle": 0 }
-				],
-				"translate": [
-					{
-						"time": 0,
-						"x": 0,
-						"y": 0,
-						"curve": [ 0.33, 1, 0.816, 1.33 ]
-					},
-					{
-						"time": 0.5,
-						"x": 0,
-						"y": 113.01,
-						"curve": [ 0.396, 0, 0.709, 2.03 ]
-					},
-					{ "time": 1, "x": 0, "y": 0 }
-				]
-			}
-		},
-		"slots": {
-			"L_wing": {
-				"attachment": [
-					{ "time": 0, "name": "L_wing01" },
-					{ "time": 0.0666, "name": "L_wing02" },
-					{ "time": 0.1333, "name": "L_wing03" },
-					{ "time": 0.2, "name": "L_wing04" },
-					{ "time": 0.2666, "name": "L_wing05" },
-					{ "time": 0.3333, "name": "L_wing06" },
-					{ "time": 0.4, "name": "L_wing07" },
-					{ "time": 0.4666, "name": "L_wing08" },
-					{ "time": 0.5333, "name": "L_wing09" },
-					{ "time": 0.6, "name": "L_wing01" },
-					{ "time": 0.7333, "name": "L_wing02" },
-					{ "time": 0.8, "name": "L_wing03" },
-					{ "time": 0.8333, "name": "L_wing04" },
-					{ "time": 0.8666, "name": "L_wing05" },
-					{ "time": 0.9, "name": "L_wing06" },
-					{ "time": 0.9333, "name": "L_wing07" },
-					{ "time": 0.9666, "name": "L_wing08" },
-					{ "time": 1, "name": "L_wing09" }
-				]
-			},
-			"R_wing": {
-				"attachment": [
-					{ "time": 0, "name": "R_wing01" },
-					{ "time": 0.0666, "name": "R_wing02" },
-					{ "time": 0.1333, "name": "R_wing03" },
-					{ "time": 0.2, "name": "R_wing04" },
-					{ "time": 0.2666, "name": "R_wing05" },
-					{ "time": 0.3333, "name": "R_wing06" },
-					{ "time": 0.4, "name": "R_wing07" },
-					{ "time": 0.4666, "name": "R_wing08" },
-					{ "time": 0.5333, "name": "R_wing09" },
-					{ "time": 0.6, "name": "R_wing01" },
-					{ "time": 0.7333, "name": "R_wing02" },
-					{ "time": 0.7666, "name": "R_wing02" },
-					{ "time": 0.8, "name": "R_wing03" },
-					{ "time": 0.8333, "name": "R_wing04" },
-					{ "time": 0.8666, "name": "R_wing05" },
-					{ "time": 0.9, "name": "R_wing06" },
-					{ "time": 0.9333, "name": "R_wing07" },
-					{ "time": 0.9666, "name": "R_wing08" },
-					{ "time": 1, "name": "R_wing09" }
-				]
-			}
-		}
-	}
-}
-}

+ 0 - 40
spine-corona/examples/dragon/dragon.lua

@@ -1,40 +0,0 @@
-
--- This is a more complex animation that has a number of image changes.
--- Note the exported dragon project was modified to not use non-uniform scaling.
-
-local spine = require "spine-corona.spine"
-
-local json = spine.SkeletonJson.new()
-json.scale = 0.47
-local skeletonData = json:readSkeletonDataFile("examples/dragon/dragon.json")
-
-local skeleton = spine.Skeleton.new(skeletonData)
-function skeleton:createImage (attachment)
-	return display.newImage("examples/dragon/images/" .. attachment.name .. ".png")
-end
-skeleton.group.x = 165
-skeleton.group.y = 225
-skeleton.flipX = false
-skeleton.flipY = false
-skeleton.debug = true -- Omit or set to false to not draw debug lines on top of the images.
-skeleton:setToSetupPose()
-
--- AnimationStateData defines crossfade durations between animations.
-local stateData = spine.AnimationStateData.new(skeletonData)
--- AnimationState has a queue of animations and can apply them with crossfading.
-local state = spine.AnimationState.new(stateData)
-state:setAnimationByName(0, "flying", true, 0)
-
-local lastTime = 0
-local animationTime = 0
-Runtime:addEventListener("enterFrame", function (event)
-	-- Compute time in seconds since last frame.
-	local currentTime = event.time / 1000
-	local delta = currentTime - lastTime
-	lastTime = currentTime
-
-	-- Update the state with the delta time, apply it, and update the world transforms.
-	state:update(delta)
-	state:apply(skeleton)
-	skeleton:updateWorldTransform()
-end)

二進制
spine-corona/examples/dragon/images/L_front_leg.png


二進制
spine-corona/examples/dragon/images/L_front_thigh.png


二進制
spine-corona/examples/dragon/images/L_rear_leg.png


二進制
spine-corona/examples/dragon/images/L_rear_thigh.png


二進制
spine-corona/examples/dragon/images/L_wing01.png


二進制
spine-corona/examples/dragon/images/L_wing02.png


二進制
spine-corona/examples/dragon/images/L_wing03.png


二進制
spine-corona/examples/dragon/images/L_wing04.png


二進制
spine-corona/examples/dragon/images/L_wing05.png


二進制
spine-corona/examples/dragon/images/L_wing06.png


二進制
spine-corona/examples/dragon/images/L_wing07.png


二進制
spine-corona/examples/dragon/images/L_wing08.png


二進制
spine-corona/examples/dragon/images/L_wing09.png


二進制
spine-corona/examples/dragon/images/R_front_leg.png


二進制
spine-corona/examples/dragon/images/R_front_thigh.png


二進制
spine-corona/examples/dragon/images/R_rear_leg.png


二進制
spine-corona/examples/dragon/images/R_rear_thigh.png


二進制
spine-corona/examples/dragon/images/R_wing01.png


二進制
spine-corona/examples/dragon/images/R_wing02.png


二進制
spine-corona/examples/dragon/images/R_wing03.png


二進制
spine-corona/examples/dragon/images/R_wing04.png


二進制
spine-corona/examples/dragon/images/R_wing05.png


二進制
spine-corona/examples/dragon/images/R_wing06.png


二進制
spine-corona/examples/dragon/images/R_wing07.png


二進制
spine-corona/examples/dragon/images/R_wing08.png


二進制
spine-corona/examples/dragon/images/R_wing09.png


二進制
spine-corona/examples/dragon/images/back.png


二進制
spine-corona/examples/dragon/images/chest.png


二進制
spine-corona/examples/dragon/images/chin.png


二進制
spine-corona/examples/dragon/images/front_toeA.png


二進制
spine-corona/examples/dragon/images/front_toeB.png


二進制
spine-corona/examples/dragon/images/head.png


+ 0 - 5
spine-corona/examples/dragon/images/license.txt

@@ -1,5 +0,0 @@
-Copyright (c) 2013, ODI EntertainmenT
-
-The project file and images in this "dragon" project are provided for
-demonstration purposes only and may not be redistributed for any reason nor
-used as the basis for derivative work.

二進制
spine-corona/examples/dragon/images/logo.png


二進制
spine-corona/examples/dragon/images/rear-toe.png


二進制
spine-corona/examples/dragon/images/tail01.png


部分文件因文件數量過多而無法顯示