v0.8.12.1 ("Towards Feygard" or "Of kobolds, fae, witch and troll", including bugfix) released to Google Play!

Useful links
Source code of the game - Contribution guide - ATCS Editor - Translate the game on Weblate - Example walkthrough - Andor's Trail Directory - Join the Discord
Get the game (v0.8.12.1) from Google, F-Droid, our server, or itch.io

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

Discussions of the development process of the game.
Post Reply
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 »

tactical371 wrote: Thu Feb 08, 2024 12:29 am However, I get into trouble when I try to create a project. I select the folder with the res subfolder in it, and I select game files. But I get the following error.

Code: Select all

bless
Exception in thread "Thread-8" java.lang.NullPointerException
        at com.gpl.rpg.atcontentstudio.model.gamedata.ActorCondition.link(ActorCondition.java:241)
        at com.gpl.rpg.atcontentstudio.model.Project.linkAll(Project.java:297)
        at com.gpl.rpg.atcontentstudio.model.Project.<init>(Project.java:158)
        at com.gpl.rpg.atcontentstudio.model.Workspace$1.run(Workspace.java:188)
        at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
This error indicates that it could not find the spritesheet for the actor condition "bless" so could you check to see if you have the file 'drawable/actorconditions_1.png' inside your res folder (and make sure you got the right res folder).
User avatar
Nut
Posts: 1731
Joined: Mon Oct 27, 2014 12:14 pm
android_version: 8.0
Location: Glade

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

Post by Nut »

As source for ATCS best use a clone of the current git branch for development:
https://github.com/AndorsTrailRelease/a ... ee/v0.8.10

It already contains things like new sprite files together with the completed ResourceLoader.java
Nut
tactical371
Posts: 206
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 »

ty, I"ll take a look at it.
tactical371
Posts: 206
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 »

OMGeeky wrote: Thu Feb 08, 2024 6:39 pm
tactical371 wrote: Thu Feb 08, 2024 12:29 am However, I get into trouble when I try to create a project. I select the folder with the res subfolder in it, and I select game files. But I get the following error.

Code: Select all

bless
Exception in thread "Thread-8" java.lang.NullPointerException
        at com.gpl.rpg.atcontentstudio.model.gamedata.ActorCondition.link(ActorCondition.java:241)
        at com.gpl.rpg.atcontentstudio.model.Project.linkAll(Project.java:297)
        at com.gpl.rpg.atcontentstudio.model.Project.<init>(Project.java:158)
        at com.gpl.rpg.atcontentstudio.model.Workspace$1.run(Workspace.java:188)
        at com.gpl.rpg.atcontentstudio.ui.WorkerDialog$1.run(WorkerDialog.java:48)
This error indicates that it could not find the spritesheet for the actor condition "bless" so could you check to see if you have the file 'drawable/actorconditions_1.png' inside your res folder (and make sure you got the right res folder).
Okay, I am now able to create a project!

The text of this program is very small, and I do not have a way to zoom in the app. I "solved" the problem by making windows display applications at 200%, lol.

I am now having problems with "java heap space" and "gc overhead exceeded." Since I am now using a multi-boot machine, not a virtual machine, and I have relatively significant GB of ram, this should not be a problem for me. I'll try to figure out how to increase memory / heap space.

Anyways, here is the output / here are the pictures.

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.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
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.NoClassDefFoundError: Could not initialize class com.sun.org.apache.xml.internal.serializer.Encodings
        at com.sun.org.apache.xml.internal.serializer.ToStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToXMLStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.<init>(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
        at com.gpl.rpg.atcontentstudio.model.maps.WorldmapSegment.toXml(WorldmapSegment.java:167)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.getXmlEditorPane(WorldMapEditor.java:130)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.<init>(WorldMapEditor.java:113)
        at com.gpl.rpg.atcontentstudio.ui.EditorsArea.openEditor(EditorsArea.java:157)
        at com.gpl.rpg.atcontentstudio.ui.StudioFrame.openEditor(StudioFrame.java:228)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree.itemAction(ProjectsTree.java:596)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree$3.mousePressed(ProjectsTree.java:113)
        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)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.OutOfMemoryError: GC overhead limit exceeded [in thread "AWT-EventQueue-0"]
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class com.sun.org.apache.xml.internal.serializer.Encodings
        at com.sun.org.apache.xml.internal.serializer.ToStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToXMLStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.<init>(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
        at com.gpl.rpg.atcontentstudio.model.maps.WorldmapSegment.toXml(WorldmapSegment.java:167)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.getXmlEditorPane(WorldMapEditor.java:130)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.<init>(WorldMapEditor.java:113)
        at com.gpl.rpg.atcontentstudio.ui.EditorsArea.openEditor(EditorsArea.java:157)
        at com.gpl.rpg.atcontentstudio.ui.StudioFrame.openEditor(StudioFrame.java:228)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree.itemAction(ProjectsTree.java:596)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree$3.mousePressed(ProjectsTree.java:113)
        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)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.OutOfMemoryError: GC overhead limit exceeded [in thread "AWT-EventQueue-0"]
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class com.sun.org.apache.xml.internal.serializer.Encodings
        at com.sun.org.apache.xml.internal.serializer.ToStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToXMLStream.<init>(Unknown Source)
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.<init>(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
        at com.gpl.rpg.atcontentstudio.model.maps.WorldmapSegment.toXml(WorldmapSegment.java:167)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.getXmlEditorPane(WorldMapEditor.java:130)
        at com.gpl.rpg.atcontentstudio.ui.map.WorldMapEditor.<init>(WorldMapEditor.java:113)
        at com.gpl.rpg.atcontentstudio.ui.EditorsArea.openEditor(EditorsArea.java:157)
        at com.gpl.rpg.atcontentstudio.ui.StudioFrame.openEditor(StudioFrame.java:228)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree.itemAction(ProjectsTree.java:596)
        at com.gpl.rpg.atcontentstudio.ui.ProjectsTree$3.mousePressed(ProjectsTree.java:113)
        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)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.OutOfMemoryError: GC overhead limit exceeded [in thread "AWT-EventQueue-0"]
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.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.OutOfMemoryError: GC overhead limit exceeded
Capture.PNG
You do not have the required permissions to view the files attached to this post.
tactical371
Posts: 206
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 changed the max mem in the .cmd file and the .env.bat file to 6000M, and it seems to work now!
hasanshoorgashti
Posts: 36
Joined: Mon Sep 16, 2024 9:35 am
android_version: 9.0 - Pie
Location: in nor city how did i go there ? by being there

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

Post by hasanshoorgashti »

i have downloaded everything required but I don't know how to open the editor
and another question if our maps are good enough wil you add them to the game?
and yet another question is there a list of places which are available for building and aren't reserved ?
User avatar
Antison
Posts: 5693
Joined: Mon Mar 28, 2011 11:33 pm
android_version: 14 - Android 14
Location: A home without a beagle is just a house

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

Post by Antison »

The gray area is currently being worked and thus is off limits
reserved_areas_202409.png

If your maps fit the look and feel and have a purpose, i.e. quests , then yes, we will add the maps
You do not have the required permissions to view the files attached to this post.
"A home without a beagle is just a house"
User avatar
Nut
Posts: 1731
Joined: Mon Oct 27, 2014 12:14 pm
android_version: 8.0
Location: Glade

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

Post by Nut »

hasanshoorgashti wrote: Tue Oct 15, 2024 5:31 pm i have downloaded everything required but I don't know how to open the editor
What is 'everything required'?

If you want to create maps, then you don't need ATCS from the start. The maps themselves are created with 'Tiled'.
Best copy an existing similar map and change that. Then you already have the spritesheets included correctly.

An ATCS project unfortunately isn't very easy to setup, so start the map with Tiled, and do the hard work later :mrgreen:
Nut
Post Reply