raeleus / skin-composer

Create skins for LibGDX scene2d.ui with a graphical interface.
MIT License
427 stars 34 forks source link

Import Skin Error #103

Open bitdream opened 3 years ago

bitdream commented 3 years ago

remake.zip export.zip

If a skin project was created by importing from a .skin file, it will fail when open again. Following errror: com.badlogic.gdx.utils.SerializationException: Class cannot be created (missing no-arg constructor): com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle Serialization trace: file (com.ray3k.skincomposer.data.DrawableData) at com.badlogic.gdx.utils.Json.newInstance(Json.java:1221) at com.badlogic.gdx.utils.Json.readValue(Json.java:1009) at com.badlogic.gdx.utils.Json.readFields(Json.java:902) at com.badlogic.gdx.utils.Json.readValue(Json.java:1074) at com.badlogic.gdx.utils.Json.readValue(Json.java:1097) at com.badlogic.gdx.utils.Json.readValue(Json.java:945) at com.ray3k.skincomposer.data.AtlasData.read(AtlasData.java:289) at com.badlogic.gdx.utils.Json.readValue(Json.java:1012) at com.badlogic.gdx.utils.Json.readValue(Json.java:930) at com.ray3k.skincomposer.data.ProjectData.read(ProjectData.java:616) at com.badlogic.gdx.utils.Json.readValue(Json.java:1012) at com.badlogic.gdx.utils.Json.fromJson(Json.java:769) at com.ray3k.skincomposer.data.ProjectData.load(ProjectData.java:404) at com.ray3k.skincomposer.MainListener.lambda$openFile$3(MainListener.java:326) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:154) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.(Lwjgl3Application.java:114) at com.ray3k.skincomposer.desktop.DesktopLauncher.main(DesktopLauncher.java:404) Caused by: com.badlogic.gdx.utils.reflect.ReflectionException: Could not instantiate instance of class: com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle at com.badlogic.gdx.utils.reflect.ClassReflection.newInstance(ClassReflection.java:95) at com.badlogic.gdx.utils.Json.newInstance(Json.java:1203) ... 16 more Caused by: java.lang.InstantiationException: com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle at java.base/java.lang.Class.newInstance(Unknown Source) at com.badlogic.gdx.utils.reflect.ClassReflection.newInstance(ClassReflection.java:93) ... 17 more Caused by: java.lang.NoSuchMethodException: com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle.() at java.base/java.lang.Class.getConstructor0(Unknown Source) ... 19 more

bitdream commented 3 years ago

the exact same error remained from version 37 to version 43.

raeleus commented 3 years ago

Sorry for the inconvenience. Can you send me a project that reproduces the issue? If you need something working right away, I think the JAR version of the app works better for some reason.

bitdream commented 3 years ago

Hi I think I have already tried using a jar. remake.zip is a skin project, which will fail to load. export.zip is an exported skin that you could import but after you saved it as a project, you will fail to load it next time.

Sorry to give you a very ugly designed skin as an example😂

On Fri, 4 Jun 2021 at 21:52, raeleus @.***> wrote:

Sorry for the inconvenience. Can you send me a project that reproduces the issue? If you need something working right away, I think the JAR version of the app works better for some reason.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/raeleus/skin-composer/issues/103#issuecomment-854739734, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZ7QXNGQIXHUTBC64VP5P3TRDLCXANCNFSM45KPDW2A .

raeleus commented 3 years ago

I don't see any attachments here. I think you'll have to log into Github and upload them to the issue directly. Sorry!

bitdream commented 3 years ago

yes yes I added it now.

raeleus commented 3 years ago

Eek! This is a tough one. I fixed a related bug regarding fonts not being saved correctly from an imported skin. There were a number of images in your project that didn't exist. I deleted those manually in order to open your file. I still couldn't actually reproduce the LWJGL3 issue.

You can see my edited file here. remake raeleus edit.zip

I suspect there are a number of imported files that didn't get copied correctly. I would suggest waiting for the next version and making a brand new project before you try importing any skins.

bitdream commented 3 years ago

Hi that's fine. I have lived with this for some time. Everytime when I needed some modification, I imported the skin to a new project. After the modification I exported the skin and abandoned the project. Is this workaround fine from your perspective?

On Sun, 6 Jun 2021 at 02:52, raeleus @.***> wrote:

Eek! This is a tough one. I fixed a related bug regarding fonts not being saved correctly from an imported skin. There were a number of images in your project that didn't exist. I deleted those manually in order to open your file. I still couldn't actually reproduce the LWJGL3 issue.

You can see my edited file here. remake raeleus edit.zip https://github.com/raeleus/skin-composer/files/6603038/remake.raeleus.edit.zip

I suspect there are a number of imported files that didn't get copied correctly. I would suggest waiting for the next version and making a brand new project before you try importing any skins.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/raeleus/skin-composer/issues/103#issuecomment-855281002, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZ7QXPDPZ75ZGI4BXO4RP3TRJW75ANCNFSM45KPDW2A .