@@ -10141,6 +10141,7 @@ var SpinePlugin = new Class({
1014110141 this.gl;
1014210142 this.renderer;
1014310143 this.sceneRenderer;
10144+ this.skeletonDebugRenderer;
1014410145
1014510146 if (this.isWebGL)
1014610147 {
@@ -10251,6 +10252,8 @@ var SpinePlugin = new Class({
1025110252
1025210253 this.sceneRenderer.batcher.setBlendMode = setBlendMode;
1025310254 this.sceneRenderer.shapes.setBlendMode = setBlendMode;
10255+
10256+ this.skeletonDebugRenderer = this.sceneRenderer.skeletonDebugRenderer;
1025410257 },
1025510258
1025610259 getAtlasWebGL: function (key)
@@ -10294,6 +10297,78 @@ var SpinePlugin = new Class({
1029410297 return atlas;
1029510298 },
1029610299
10300+ setDebugBones: function (value)
10301+ {
10302+ if (value === undefined) { value = true; }
10303+
10304+ this.skeletonDebugRenderer.drawBones = value;
10305+
10306+ return this;
10307+ },
10308+
10309+ setDebugRegionAttachments: function (value)
10310+ {
10311+ if (value === undefined) { value = true; }
10312+
10313+ this.skeletonDebugRenderer.drawRegionAttachments = value;
10314+
10315+ return this;
10316+ },
10317+
10318+ setDebugBoundingBoxes: function (value)
10319+ {
10320+ if (value === undefined) { value = true; }
10321+
10322+ this.skeletonDebugRenderer.drawBoundingBoxes = value;
10323+
10324+ return this;
10325+ },
10326+
10327+ setDebugMeshHull: function (value)
10328+ {
10329+ if (value === undefined) { value = true; }
10330+
10331+ this.skeletonDebugRenderer.drawMeshHull = value;
10332+
10333+ return this;
10334+ },
10335+
10336+ setDebugMeshTriangles: function (value)
10337+ {
10338+ if (value === undefined) { value = true; }
10339+
10340+ this.skeletonDebugRenderer.drawMeshTriangles = value;
10341+
10342+ return this;
10343+ },
10344+
10345+ setDebugPaths: function (value)
10346+ {
10347+ if (value === undefined) { value = true; }
10348+
10349+ this.skeletonDebugRenderer.drawPaths = value;
10350+
10351+ return this;
10352+ },
10353+
10354+ setDebugSkeletonXY: function (value)
10355+ {
10356+ if (value === undefined) { value = true; }
10357+
10358+ this.skeletonDebugRenderer.drawSkeletonXY = value;
10359+
10360+ return this;
10361+ },
10362+
10363+ setDebugClipping: function (value)
10364+ {
10365+ if (value === undefined) { value = true; }
10366+
10367+ this.skeletonDebugRenderer.drawClipping = value;
10368+
10369+ return this;
10370+ },
10371+
1029710372 spineFileCallback: function (key, jsonURL, atlasURL, preMultipliedAlpha, jsonXhrSettings, atlasXhrSettings)
1029810373 {
1029910374 var multifile;
@@ -11030,16 +11105,19 @@ var SpineGameObjectWebGLRenderer = function (renderer, src, interpolationPercent
1103011105
1103111106 src.root.rotation = RadToDeg(CounterClockwise(calcMatrix.rotation));
1103211107
11108+ sceneRenderer.camera.position.x = viewportWidth / 2;
11109+ sceneRenderer.camera.position.y = viewportHeight / 2;
11110+
11111+ sceneRenderer.camera.viewportWidth = viewportWidth;
11112+ sceneRenderer.camera.viewportHeight = viewportHeight;
11113+
11114+ sceneRenderer.camera.update();
11115+
1103311116 // Add autoUpdate option
1103411117 skeleton.updateWorldTransform();
1103511118
1103611119 if (renderer.newType)
1103711120 {
11038- sceneRenderer.camera.position.x = viewportWidth / 2;
11039- sceneRenderer.camera.position.y = viewportHeight / 2;
11040- sceneRenderer.camera.viewportWidth = viewportWidth;
11041- sceneRenderer.camera.viewportHeight = viewportHeight;
11042-
1104311121 sceneRenderer.begin();
1104411122 }
1104511123
@@ -11048,7 +11126,17 @@ var SpineGameObjectWebGLRenderer = function (renderer, src, interpolationPercent
1104811126
1104911127 if (plugin.drawDebug || src.drawDebug)
1105011128 {
11129+ // Because if we don't, the bones render positions are completely wrong (*sigh*)
11130+ var oldX = skeleton.x;
11131+ var oldY = skeleton.y;
11132+
11133+ skeleton.x = 0;
11134+ skeleton.y = 0;
11135+
1105111136 sceneRenderer.drawSkeletonDebug(skeleton, src.preMultipliedAlpha);
11137+
11138+ skeleton.x = oldX;
11139+ skeleton.y = oldY;
1105211140 }
1105311141
1105411142 if (!renderer.nextTypeMatch)
0 commit comments