EsotericSoftware / spine-editor

Issue tracking for the Spine editor.
http://esotericsoftware.com/
29 stars 2 forks source link

SkeletonViewer cannot load celestial-circus example when exported in JSON #810

Closed davidetan closed 2 months ago

davidetan commented 3 months ago

Step to reproduce: 1) Open celestial-circus example and export it as a JSON 2) Load exported JSON using latest 4.2.00 3) An error appears and the log below is shown on terminal.

(Error log from Erika)

Error loading skeleton: C:/Users/erika/OneDrive/Desktop/celestial/celestial-circus-pro.json
com.badlogic.gdx.utils.SerializationException: Slot not found: face/fringe-front/fringe-middle-back
        at com.esotericsoftware.spine.SkeletonJson.readSkeletonData(SkeletonJson.java:370)
        at com.esotericsoftware.spine.SkeletonJson.readSkeletonData(SkeletonJson.java:122)
        at com.esotericsoftware.spine.SkeletonViewer.loadSkeleton(SkeletonViewer.java:148)
        at com.esotericsoftware.spine.SkeletonViewerUI$2.changed(SkeletonViewerUI.java:367)
        at com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.handle(ChangeListener.java:28)
        at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:188)
        at com.badlogic.gdx.scenes.scene2d.Actor.fire(Actor.java:152)
        at com.badlogic.gdx.scenes.scene2d.ui.Button.setChecked(Button.java:125)
        at com.badlogic.gdx.scenes.scene2d.ui.Button$1.clicked(Button.java:93)
        at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:88)
        at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:71)
        at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:354)
        at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:124)
        at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:70)
        at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:190)
        at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:378)
        at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:193)
        at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:167)
        at com.esotericsoftware.spine.SkeletonViewer.main(SkeletonViewer.java:403)

Not investigated yet.

NathanSweet commented 2 months ago

4.2.21 made a breaking change: https://esotericsoftware.com/spine-changelog#v4-2-21

Changed slot name uniqueness to the entire path rather than just the name. This affects findSlot at runtime.

I've uploaded a new 4.2 SV.