Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Discussions of the development process of the game.
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

Now I am having problems with it freezing up. Do I need to configure Java in a certain way, or do I need to configure my windows virtual machine in some way to fix it? Unfortunately I do not know anything about java at the present time.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
        at java.awt.image.DataBufferByte.<init>(Unknown Source)
        at java.awt.image.ComponentSampleModel.createDataBuffer(Unknown Source)
        at java.awt.image.Raster.createWritableRaster(Unknown Source)
        at javax.imageio.ImageTypeSpecifier.createBufferedImage(Unknown Source)
        at javax.imageio.ImageReader.getDestination(Unknown Source)
        at com.sun.imageio.plugins.png.PNGImageReader.readImage(Unknown Source)
        at com.sun.imageio.plugins.png.PNGImageReader.read(Unknown Source)
        at javax.imageio.ImageIO.read(Unknown Source)
        at javax.imageio.ImageIO.read(Unknown Source)
        at com.gpl.rpg.atcontentstudio.model.sprites.Spritesheet.getImage(Spritesheet.java:146)
        at com.gpl.rpg.atcontentstudio.model.sprites.Spritesheet.getIcon(Spritesheet.java:176)
        at com.gpl.rpg.atcontentstudio.model.sprites.Spritesheet.getIcon(Spritesheet.java:191)
        at com.gpl.rpg.atcontentstudio.model.sprites.Spritesheet.getLeafIcon(Spritesheet.java:195)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree$ProjectsTreeCellRenderer.getTreeCellRendererComponent(ProjectsTree.java:689)
        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(Unknown Source)
        at javax.swing.JTree.fireTreeExpanded(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.expandPath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 61 >= 6
        at java.util.Vector.removeElementAt(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(Unknown Source)
        at javax.swing.JTree.fireTreeCollapsed(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.collapsePath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 61 >= 6
        at java.util.Vector.removeElementAt(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(Unknown Source)
        at javax.swing.JTree.fireTreeCollapsed(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.collapsePath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 61 >= 6
        at java.util.Vector.removeElementAt(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(Unknown Source)
        at javax.swing.JTree.fireTreeCollapsed(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.collapsePath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 50 >= 6
        at java.util.Vector.removeElementAt(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(Unknown Source)
        at javax.swing.JTree.fireTreeCollapsed(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.collapsePath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 61 >= 6
        at java.util.Vector.removeElementAt(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse(Unknown Source)
        at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.treeCollapsed(Unknown Source)
        at javax.swing.JTree.fireTreeCollapsed(Unknown Source)
        at javax.swing.JTree.setExpandedState(Unknown Source)
        at javax.swing.JTree.collapsePath(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Last edited by OMGeeky on Mon Jan 08, 2024 10:43 pm, edited 1 time in total.
Reason: wrap long exception in code block for better scrolling
OMGeeky
Posts: 14
Joined: Tue Aug 08, 2017 7:19 am
android_version: 13 - Android 13

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by OMGeeky »

This is an out of memory exception. It might just be that the ATCS process did not have enough memory (definded in some .env file (i think its called ATCS.env in the location where its started, but I don't know for windows). there it is defined for example like this:

Code: Select all

#MAX_MEM=512M
if that is the case just increase it to for example 1G or more (if you got more in your vm). If its not that your vm might not have enough RAM available.


But I think I might have a solution ready for you soon. I did create a script that should prepare everything for it to make a zip file, that can just be used on Linux without the need for a VM, I'm currently just verifying some things.
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

Very good, thank you!
OMGeeky
Posts: 14
Joined: Tue Aug 08, 2017 7:19 am
android_version: 13 - Android 13

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by OMGeeky »

I uploaded a release here. This should be a portable version of ATCS, just by extracting everything into a new folder and running the ATCS.sh file (or the ATCS.cmd file on windows). after the first run it should create an ATCS.env or ATCS.env.bat file where the max ram can be edited or the 'java' command can be exchanged for 'javac' which shows the console (so if it doesn't start please try that to see the error messages).

https://github.com/OMGeeky/ATCS/release ... 0.6.20.zip

Please let me know if anything doesn't work as expected with this (though I might not respond today anymore).
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

In Linux Mint's package manager, the highest version of OpenJDK is Openjdk-19-jdk. Did you use a higher version? When I try to run ATCS.sh, I get the following error.

Code: Select all

$ ./ATCS.sh
Error: LinkageError occurred while loading main class com.gpl.rpg.atcontentstudio.ATContentStudio
	java.lang.UnsupportedClassVersionError: com/gpl/rpg/atcontentstudio/ATContentStudio has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 63.0
According to https://stackoverflow.com/questions/917 ... on-numbers, class file version 65.0 corresponds to Java 21. I will look for a .deb package for Java 21 or (much preferably) OpenJDK 21.

Code: Select all

$ java -version
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7-Ubuntu-0ubuntu322.04)
OpenJDK 64-Bit Server VM (build 19.0.2+7-Ubuntu-0ubuntu322.04, mixed mode, sharing)
Do you know how I might compile ATCS from source myself?
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

Okay, so I somehow managed to install openjdk-21 so that I can run the ATCS.sh.

Code: Select all

~$ java --version
openjdk 21.0.1 2023-10-17
OpenJDK Runtime Environment (build 21.0.1+12-29)
OpenJDK 64-Bit Server VM (build 21.0.1+12-29, mixed mode, sharing)
However, when I try to run the program, it seems to hang at the following error.

Code: Select all

$ ./ATCS.sh
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:848)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:633)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:598)
	at com.jidesoft.swing.JideTabbedPane.updateUI(JideTabbedPane.java:329)
	at java.desktop/javax.swing.JTabbedPane.<init>(JTabbedPane.java:229)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:292)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:264)
	at com.gpl.rpg.atcontentstudio.ui.EditorsArea.<init>(EditorsArea.java:50)
	at com.gpl.rpg.atcontentstudio.ui.StudioFrame.<init>(StudioFrame.java:59)
	at com.gpl.rpg.atcontentstudio.ATContentStudio$1$1.run(ATContentStudio.java:125)
	at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
	... 11 more
And if I run the program without internet (I do not know how to proxy this program through tor, which is what I try to use to access the internet for privacy reasons, but I guess you guys have an ip log of me now anyways), I get the following error.

Code: Select all

$ ./ATCS.sh
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:848)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:633)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:598)
	at com.jidesoft.swing.JideTabbedPane.updateUI(JideTabbedPane.java:329)
	at java.desktop/javax.swing.JTabbedPane.<init>(JTabbedPane.java:229)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:292)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:264)
	at com.gpl.rpg.atcontentstudio.ui.EditorsArea.<init>(EditorsArea.java:50)
	at com.gpl.rpg.atcontentstudio.ui.StudioFrame.<init>(StudioFrame.java:59)
	at com.gpl.rpg.atcontentstudio.ATContentStudio$1$1.run(ATContentStudio.java:125)
	at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
	... 11 more
java.net.UnknownHostException: andorstrail.com
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:751)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:181)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:377)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1123)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1675)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at java.base/java.net.URL.openStream(URL.java:1325)
	at com.gpl.rpg.atcontentstudio.ATContentStudio.checkUpdate(ATContentStudio.java:150)
	at com.gpl.rpg.atcontentstudio.ATContentStudio$1$1$1.run(ATContentStudio.java:121)
Would installing Oracle's version of java fix these issues?

Thank you for all your assistance.
OMGeeky
Posts: 14
Joined: Tue Aug 08, 2017 7:19 am
android_version: 13 - Android 13

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by OMGeeky »

Would installing Oracle's version of java fix these issues?
Probably, but I'm not too sure. It just can't find the Java swing things that are needed for the UI. Maybe they are not included in the openjdk version of Java.

For building it yourself you can look at my repo, inside the packaging folder is a script that creates that jar file, so you might find that helpful, but I will write some documentation maybe this weekend and improve those scripts when I get time.

That packaging script can just be ran on Linux, on Windows you would need to run it in git bash or something similar (I think I wrote that down somewhere on that repo too). Good luck. :)

If you come across some things that can be improved please tell me, but don't expect any big changes in ATCS soon.
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

Thanks. I am sure that both Schnatterfleck and I will appreciate it.

I will use the Oracle Java 21.

Do you know if Java 21 sends any telemetry or spyware to Oracle, and if so, if there is any way to disable it? Supposedly, Oracle is one of the largest data brokers out there, tracking and making inferences about over 5 billion people. Last I checked, there is a lawsuit about it... As someone who switched from windows to linux for privacy reasons, I am paranoid about knowingly using anything from Oracle now.

See https://www.youtube.com/watch?v=N5E3gra5wz4 and https://www.iccl.ie/wp-content/uploads/ ... plaint.pdf
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

I am now using Oracle JDK 21. Unfortunately the error is still occurring. Is there some other dependency I need to make this work?

Code: Select all

~$ java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

Code: Select all

~$ cd /home/user/ATCS_v0.6.20

Code: Select all

~/ATCS_v0.6.20$ ./ATCS.sh
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:848)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:633)
	at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:598)
	at com.jidesoft.swing.JideTabbedPane.updateUI(JideTabbedPane.java:329)
	at java.desktop/javax.swing.JTabbedPane.<init>(JTabbedPane.java:229)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:292)
	at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:264)
	at com.gpl.rpg.atcontentstudio.ui.EditorsArea.<init>(EditorsArea.java:50)
	at com.gpl.rpg.atcontentstudio.ui.StudioFrame.<init>(StudioFrame.java:59)
	at com.gpl.rpg.atcontentstudio.ATContentStudio$1$1.run(ATContentStudio.java:125)
	at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
	... 11 more

I am sure everyone is very busy, so no rush to fix it. I will keep looking for solutions when I have the chance.

By the way, I increased the RAM on my win10 virtual machine in QEMU/KVM with virt-manager. I also increased the max memory in the config file you mentioned. I still get problems with java heap space or something. I will post the log output later when I have time.

Thank you for your help. No rush to fix it, since we are all busy during the week.
tactical371
Posts: 182
Joined: Sat Jun 17, 2023 4:04 am
android_version: 2.0

Re: Andor's Trail Content Studio [ATCS] - Win/Mac/Linux Content Editor

Post by tactical371 »

So I am trying to work with the content editor in the WINDOWS virtual machine again. I gave the virtual machine 2 gb more ram, and I changed the ATCS.env.bat file to have max mem of 2000M. This did not solve the issue. The same errors regarding heap space and out-of-memory errors happened.

But it is a moot point, because I somehow managed to make it worse. I could have sworn that I had installed Oracle Java 21 in the virtual machine, but apparently it was using Java 8 for some reason. I installed Oracle Java 21 in the virtual machine, and now the same error that happens on the linux system is happening on the windows system. Before, I could start up ATCS, but now I cannot get to the GUI interface.

Code: Select all

Exception in thread "Thread-0" java.lang.IllegalAccessError: class com.jidesoft.plaf.LookAndFeelFactory (in unnamed module @0x271335fa) cannot access class com.sun.java.swing.plaf.windows.WindowsLookAndFeel (in module java.desktop) because module java.desktop does not export com.sun.java.swing.plaf.windows to unnamed module @0x271335fa
        at com.jidesoft.plaf.LookAndFeelFactory.getDefaultStyle(LookAndFeelFactory.java:539)
        at com.jidesoft.plaf.LookAndFeelFactory.installJideExtension(LookAndFeelFactory.java:598)
        at com.jidesoft.swing.JideTabbedPane.updateUI(JideTabbedPane.java:329)
        at java.desktop/javax.swing.JTabbedPane.<init>(JTabbedPane.java:229)
        at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:292)
        at com.jidesoft.swing.JideTabbedPane.<init>(JideTabbedPane.java:264)
        at com.gpl.rpg.atcontentstudio.ui.EditorsArea.<init>(EditorsArea.java:50)
        at com.gpl.rpg.atcontentstudio.ui.StudioFrame.<init>(StudioFrame.java:59)
        at com.gpl.rpg.atcontentstudio.ATContentStudio$1$1.run(ATContentStudio.java:125)
        at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
It could be that ATCS is incompatible with Java 21. This is a problem for the linux zip file, since it appears to be built to only work on Java 21 and up. For the windows exe release, I might or might not manage to get past this particular error with an older version of java.

I might also nuke the virtual machine and do a clean reinstall of windows. I do things in that virtual machine to decrease the spyware level, like using scripts from privacy.sexy or using O&O Shutup. But if the windows version works on all your machines, I might need to back up everything I do in there and make a new windows virtual machine with the default spyware settings on.
Post Reply