Home » MODDING HQ 1.13 » v1.13 General Development Talk » ja2MapTool (Initial release)
ja2MapTool[message #350420]
|
Sun, 30 July 2017 20:37
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
I've created a tool for converting JA2 maps between different mods. It works by remapping tiles and items in these maps, so they won't look all crazy when opened in the target mod.
Download link: https://www.dropbox.com/s/kx6qjqg6patn2mt/ja2MapTool.jar?dl=1 (latest version posted later in this thread)
Github: https://github.com/starcatter/ja2tools
It may require a fairly recent Java version. Also, it eats up RAM like crazy, so be sure to bring plenty.
Perhaps what's more interesting than the tool itself are the utilities necessary to make it happen - Java classes for reading a bunch of JA2 data files and making sense of them. Hopefully someone will find a way to use these to make a bunch of other useful JA2 tools.
Here's a quick manual: http://imgur.com/a/dOHXx
Note that it's still rather rough around the edges, but since I'm out of time to regularly work on it, I'm releasing it as it is. The core functionality should be solid enough, I'm sure I've tested it at least once...
Also, I'm looking for people to help me finish this tool, so if you're interested in contributing, don't hesitate to let me know! There's plenty to do on this project.
[Updated on: Thu, 19 April 2018 14:16] Report message to a moderator
|
|
|
|
|
Re: ja2MapTool[message #350422 is a reply to message #350421]
|
Sun, 30 July 2017 22:39
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
As far as I've checked, it can read any old map, or at least JA2 Gold and up. There may be some glitches when upgrading items with attachments on very old maps, since I wasn't crazy enough to port all of the item migration code... But it shouldn't produce anything the game won't be able to handle. All maps coming out of the tool are at the latest version, unless there's some recent new version I don't know about. So yeah, the map loader module could be used to automatically upgrade all the maps to the latest version, and it wouldn't take long either, last I've tested it could load all vanilla maps in a couple of minutes.
Two things I forgot to mention in the first post, the tool can open maps from any location, not just the game dir, as long as you give it somewhere to get tiles and items from. Also, if you put the jar in the game directory, or somewhere else that contains VFS configs, it will automatically detect that and you won't have to add that directory at the start.
Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: ja2MapTool[message #352575 is a reply to message #352574]
|
Wed, 28 February 2018 13:10
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
You'll also need to create a mapping for tilesets (1.13WF607 -> OMERTA to AFS -> OMERTA), you can use the auto map feature to get some of the tiles in alignment but the tilesets are quite different so you'll need to fix a bunch of things by hand.
The 'NINTHOSTRUCT' group is causing the most trouble, the closest thing in the AFS tileset to the tall grass is the "WEEDS" tile group. You can save a few clicks by selecting the first item in the 'NINTHOSTRUCT' group then ctrl-clicking the 'WEEDS' group - all tiles from the second group will be mapped starting at the currently selected tile. You'll need to do this twice, since there's less tiles in the 'WEEDS' group.
Another tip, you don't need to remap everything since many tilesets (like OMERTA) are limited to just one or two maps. Inspect the map in the converter, switching between the original and remapped views, and focus on the parts that look wrong in the remapped view. After you change the mapping you'll need to reload it in the converter before you see the changes.
Then again, since AFS doesn't come with its own maps, maybe you can simply replace AFS tilesets with the ones from WF607, AFAIK the only thing you'll need to preserve somehow are the ground images for AFS items. There's a "Ja2Set.dat.xml.AFS" file in the WF mod, maybe that has something to do with it. Then you'd only need to remap the items, although that way you'd have to convert all the maps that contain items to avoid any glitches.
[Updated on: Wed, 28 February 2018 13:12] Report message to a moderator
|
|
|
|
|
|
Re: ja2MapTool[message #352578 is a reply to message #352577]
|
Wed, 28 February 2018 17:02
|
|
UBAH |
|
Messages:28
Registered:October 2007 |
|
|
The_Bob wrote on Wed, 28 February 2018 16:38You'd need to load VFS configs for WF607 and AFS, create an item mapping between them open the map converter and load the mapping, and then load each map into the converter and save it. Or at least all the maps where you think there might be incompatible items, so probably all towns, SAMs, caches and other interesting sectors. Just uh... Make sure it works after you do a few maps, it definitely should but it's still an early version so better safe than sorry.
If that sounds like too much manual work, I can try to add some sort of bulk processing option to the map tool, although that would probably have to wait until the weekend.
that's that i have done (see my first post), but i can't load exported map even in map editor. the only thing which confuses me is that i didn't see button 'convert map'. i just loaded item mapping and map onto tab 'convert map' and clicked 'export map' button. may be my map editor is too old (my version is 8408), or too new?
about manual work - still it'll be easier than manually parse each map in the map editor (i'm doing this right now and automatic parsing would be a major relief).
Report message to a moderator
|
Private 1st Class
|
|
|
|
|
|
|
Re: ja2MapTool Alpha9[message #353114 is a reply to message #353111]
|
Fri, 13 April 2018 10:55
|
|
UBAH |
|
Messages:28
Registered:October 2007 |
|
|
Finally I managed to convert WF's map A9 and read it in map editor. To do this I had to include in item conversion table all items, placed on this map (initially i tried to convert only one item --- hunter vest). Obviuosly, when maptool finds on map item, which he cannnot find item conversion table entry for, resulting map can get unreadable.
Still, there is at least one weakness in converted map. Original map has 8 landmines (item with UI index 234) --- on converted map all of them disappeared.
A couple of suggestions on maptool UI:
- it would be really helpful to have some kind of map conversion log, something like this "item ... uiindex ... succesfully converted to item ... uiindex ... .... times", "item ... uiindex ... did not convert succesfully due to connversion rule absence ... times" etc
- also, it would be helpful to see on 'Map items' tab uiindexes of items along with their names and pictures.
- it would be really nice to have possibility to add missed entries to item conversion table during map conversion process --- to fill gaps on the fly.
[Updated on: Fri, 13 April 2018 12:04] Report message to a moderator
|
Private 1st Class
|
|
|
|
|
|
Re: ja2MapTool Alpha10[message #353227 is a reply to message #353157]
|
Thu, 19 April 2018 14:14
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
So as I understand, it kinda works now. The auto-map feature is there to make sure there are no unmapped items/tiles left, so the produced maps are technically valid, although potentially messed up. You'll still have to fix the broken parts by manually remapping the stuff that wasn't translated to anything reasonable. I don't expect partial mappings to work between incompatible mods, even though in theory they should.
Also, the code that does the remapping doesn't do anything fancy, it just changes item IDs or marks them as non-existent, and worse yet, it does it at file binary level. Now that I think about it, it completely ignores attachments on items, so not only will they not be remapped, if a top-level item /w attachments is remapped to something that can't accept attachments, or has a different attachment layout, things might crash.
[Updated on: Thu, 19 April 2018 14:15] Report message to a moderator
|
|
|
|
|
|
|
Re: ja2MapTool[message #353947 is a reply to message #353946]
|
Tue, 03 July 2018 21:59
|
|
Neitronus |
|
Messages:34
Registered:October 2014 |
|
|
Sure thing. Here's an original map from WF 6.07 (Click to download). And here's its converted version which crashes an editor on opening (Click to download). I removed almost all of them but maybe could reproduce the bug and send you the resulted map which can be opened but with items removed etc (Will do that soon and edit this post right after it). Also i tried to convert this exact map with your maptool v.11b and even though it completes the expert without errors, it also has nothing in console (it supposed to have log of item transitions, right? like "item X -> item Y) and opening the resulting map causes editor to crash.
P.S. Probably all that stuff will go a bit faster if you add me in Steam, or in Discord: Neitronus#0287.
[Updated on: Tue, 03 July 2018 22:11] Report message to a moderator
|
Private 1st Class
|
|
|
|
Re: ja2MapTool[message #353950 is a reply to message #353948]
|
Tue, 03 July 2018 23:17
|
|
Neitronus |
|
Messages:34
Registered:October 2014 |
|
|
Here's my item mappings (ItemMap: Click to download (Dropbox)).
Also, can you bring that console info back along with the logs? I mean it's easier for me to see which maps recieved errors upon conversion if it's in the console. But it's better to keep logs in files for reporting too.
[Updated on: Tue, 10 July 2018 22:29] Report message to a moderator
|
Private 1st Class
|
|
|
|
Re: ja2MapTool[message #353983 is a reply to message #353950]
|
Tue, 10 July 2018 00:21
|
|
Neitronus |
|
Messages:34
Registered:October 2014 |
|
|
I tried to convert one of maps (which i sent to you already) with maptool v11b and got this:
Message log:
Toggle Spoilerthebob.ja2maptool.MainScreenViewModel.addConfigDir() . -> C:\JA2 Workshop\JA2 1.13 AIMNAS WFMAPS\Data-WildFire6.07\NewMaps
thebob.ja2maptool.util.map.renderer.TileRenderer.addRenderLayer() MapLayer{TileLayerGroup{mapCols=0, mapRows=0, tileset=null}}
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=0, mapRows=0, canvasX=1280, canvasY=800}
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapBrowserViewerController
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapEditorViewerController
thebob.ja2maptool.util.map.controller.viewer.MapBrowserViewerController.disconnect()
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapConverterController
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapInteractionComponent
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapCursorComponent
thebob.ja2maptool.util.map.controller.cursor.base.MapCursorControllerBase.<init>()
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapSelectionComponent
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapClipboardComponent
thebob.ja2maptool.util.map.renderer.TileRenderer.addRenderOverlay() CursorLayer{TileLayerGroup{mapCols=0, mapRows=0, tileset=null}}
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=0, mapRows=0, canvasX=-5, canvasY=-5}
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113Wildfire607.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.getConfig(): loading config [vfs_config.JA2113Wildfire607.ini]
[DEBUG] javolution.context.LogContext#LEVEL=DEBUG
[DEBUG] javolution.io.Struct#MAXIMUM_ALIGNMENT=4
useXmlTileset: true
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113Wildfire607.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.ja2maptool.scopes.VfsAssetScope.getOrLoadAssetManager(): C:\JA2 Workshop\JA2 1.13 AIMNAS WFMAPS\vfs_config.JA2113Wildfire607.ini LOADED
thebob.assetloader.vfs.VirtualFileSystem.getConfig(): loading config [vfs_config.JA2113AIMNAS.ini]
useXmlTileset: true
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113Wildfire607.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.ja2maptool.scopes.VfsAssetScope.getOrLoadAssetManager(): C:\JA2 Workshop\JA2 1.13 AIMNAS WFMAPS\vfs_config.JA2113AIMNAS.ini LOADED
loadWorldItems(): java.lang.IllegalArgumentException
loader.core.MapData.loadData(): failed while loading placements!
loadMap(): done loading, processed 378749 / 378749 bytes
Limit: 11988( x=148, y=74 )
Limit: 21178( x=58, y=132 )
Limit: -1( x=-1, y=0 )
Limit: 19154( x=114, y=119 )
thebob.ja2maptool.util.map.layers.cursor.CursorLayer.init()
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=160, mapRows=160, canvasX=493, canvasY=444}
Limit: 11988( x=148, y=74 )
Limit: 21178( x=58, y=132 )
Limit: -1( x=-1, y=0 )
Limit: 19154( x=114, y=119 )
thebob.ja2maptool.util.map.layers.cursor.CursorLayer.init()
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=160, mapRows=160, canvasX=493, canvasY=444}
loadWorldItems(): java.lang.IllegalArgumentException
loader.core.MapData.loadData(): failed while loading placements!
loadMap(): done loading, processed 378749 / 378749 bytes
thebob.ja2maptool.util.MapTransformer.applyItemRemapping() remap 225(Videotape) -> 225(Videotape)
Error log:
Toggle SpoilerSLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Jul 10, 2018 1:14:56 AM javafx.scene.control.Menu$6 onChanged
WARNING: Adding MenuItem C:\JA2 Workshop\JA2 1.13 AIMNAS WFMAPS that has already been added to VFS configs
Jul 10, 2018 1:15:00 AM javafx.scene.control.Menu$6 onChanged
WARNING: Adding MenuItem C:\JA2 Workshop\JA2 1.13 AIMNAS WFMAPS that has already been added to VFS configs
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
... 33 more
Caused by: java.lang.NullPointerException
at thebob.ja2maptool.util.MapTransformer.applyItemRemapping(MapTransformer.java:163)
at thebob.ja2maptool.util.MapTransformer.getRemappedData(MapTransformer.java:201)
at thebob.ja2maptool.util.MapTransformer.saveTo(MapTransformer.java:94)
at thebob.ja2maptool.ui.tabs.convert.ConvertMapTabViewModel.saveMap(ConvertMapTabViewModel.java:235)
at thebob.ja2maptool.ui.tabs.convert.ConvertMapTabView.export_map(ConvertMapTabView.java:173)
... 43 more
Looks like every other map which was bugged because of schedules, are now throwing this at me.
[Updated on: Tue, 10 July 2018 00:25] Report message to a moderator
|
Private 1st Class
|
|
|
Re: ja2MapTool[message #353989 is a reply to message #353983]
|
Tue, 10 July 2018 22:28
|
|
Neitronus |
|
Messages:34
Registered:October 2014 |
|
|
Me again. Cannot open a map. Bug is being triggered by any attempt to load it.
Map: Click to download (Dropbox)
ItemMap: Click to download (Dropbox)
Message log:
Toggle Spoilerthebob.ja2maptool.MainScreenViewModel.addConfigDir() . -> C:\JA2 Workshop\JA2 - 1.13 AR AIMNAS\Data-AR\NewMaps
thebob.ja2maptool.util.map.renderer.TileRenderer.addRenderLayer() MapLayer{TileLayerGroup{mapCols=0, mapRows=0, tileset=null}}
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=0, mapRows=0, canvasX=1280, canvasY=800}
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapBrowserViewerController
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapEditorViewerController
thebob.ja2maptool.util.map.controller.viewer.MapBrowserViewerController.disconnect()
thebob.ja2maptool.util.map.controller.base.MapControllerBase.<init>(): created MapConverterController
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapInteractionComponent
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapCursorComponent
thebob.ja2maptool.util.map.controller.cursor.base.MapCursorControllerBase.<init>()
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapSelectionComponent
thebob.ja2maptool.util.map.component.base.MapComponentBase.<init>(): created component MapClipboardComponent
thebob.ja2maptool.util.map.renderer.TileRenderer.addRenderOverlay() CursorLayer{TileLayerGroup{mapCols=0, mapRows=0, tileset=null}}
thebob.ja2maptool.util.renderer.base.TileRenderer.updateLayerGroups(): TileRenderer{mapCols=0, mapRows=0, canvasX=-5, canvasY=-5}
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.AR.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.getConfig(): loading config [vfs_config.AR.ini]
[DEBUG] javolution.context.LogContext#LEVEL=DEBUG
[DEBUG] javolution.io.Struct#MAXIMUM_ALIGNMENT=4
useXmlTileset: true
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.AR.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.ja2maptool.scopes.VfsAssetScope.getOrLoadAssetManager(): C:\JA2 Workshop\JA2 - 1.13 AR AIMNAS\vfs_config.AR.ini LOADED
thebob.assetloader.vfs.VirtualFileSystem.getConfig(): loading config [vfs_config.JA2113.ini]
useXmlTileset: true
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.AR.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2113AIMNAS.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.JA2Vanilla.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UB113.ini
thebob.assetloader.vfs.VirtualFileSystem.parseIniFile() loading vfs_config.UBVanilla.ini
thebob.ja2maptool.scopes.VfsAssetScope.getOrLoadAssetManager(): C:\JA2 Workshop\JA2 - 1.13 AR AIMNAS\vfs_config.JA2113.ini LOADED
loadMap(): done loading, processed 446177 / 446177 bytes
Limit: 10379( x=139, y=64 )
Limit: 18924( x=44, y=118 )
Limit: 7882( x=42, y=49 )
Limit: 18200( x=120, y=113 )
thebob.ja2maptool.util.map.layers.cursor.CursorLayer.init()
Error log:
Toggle SpoilerSLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Jul 10, 2018 11:22:01 PM javafx.scene.control.Menu$6 onChanged
WARNING: Adding MenuItem C:\JA2 Workshop\JA2 - 1.13 AR AIMNAS that has already been added to VFS configs
Jul 10, 2018 11:22:03 PM javafx.scene.control.Menu$6 onChanged
WARNING: Adding MenuItem C:\JA2 Workshop\JA2 - 1.13 AR AIMNAS that has already been added to VFS configs
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
... 33 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: -123
at thebob.assetloader.tileset.Tileset.getTile(Tileset.java:119)
at thebob.assetloader.tileset.Tileset.getTile(Tileset.java:102)
at thebob.assetloader.tileset.Tileset.getTile(Tileset.java:95)
at thebob.ja2maptool.util.map.renderer.TileRenderer.displayCellLayers(TileRenderer.java:299)
at thebob.ja2maptool.util.map.renderer.TileRenderer.renderLayerGroup(TileRenderer.java:257)
at thebob.ja2maptool.util.map.renderer.TileRenderer.lambda$renderMapLayers$0(TileRenderer.java:216)
at java.util.ArrayList.forEach(Unknown Source)
at thebob.ja2maptool.util.map.renderer.TileRenderer.renderMapLayers(TileRenderer.java:215)
at thebob.ja2maptool.util.map.renderer.TileRenderer.renderMap(TileRenderer.java:210)
at thebob.ja2maptool.util.map.renderer.TileRenderer.centerWindow(TileRenderer.java:405)
at thebob.ja2maptool.util.map.renderer.TileRenderer.updateLayerGroups(TileRenderer.java:520)
at thebob.ja2maptool.util.map.renderer.TileRenderer.update(TileRenderer.java:541)
at java.util.Observable.notifyObservers(Unknown Source)
at thebob.ja2maptool.util.map.layers.base.TileLayerGroup.notifySubscribers(TileLayerGroup.java:129)
at thebob.ja2maptool.util.map.layers.map.MapLayer.loadMap(MapLayer.java:63)
at thebob.ja2maptool.util.map.MapDisplayManager.loadMap(MapDisplayManager.java:117)
at thebob.ja2maptool.ui.tabs.viewers.map.MapViewerTabViewModel.updateRenderer(MapViewerTabViewModel.java:102)
at thebob.ja2maptool.ui.tabs.convert.ConvertMapTabViewModel.updateRenderer(ConvertMapTabViewModel.java:176)
at thebob.ja2maptool.ui.tabs.convert.ConvertMapTabViewModel.lambda$initialize$0(ConvertMapTabViewModel.java:119)
at de.saxsys.mvvmfx.utils.notifications.DefaultNotificationCenter.publish(DefaultNotificationCenter.java:134)
at de.saxsys.mvvmfx.utils.notifications.DefaultNotificationCenter.publish(DefaultNotificationCenter.java:77)
at de.saxsys.mvvmfx.Scope.publish(Scope.java:29)
at thebob.ja2maptool.ui.dialogs.mapselect.MapSelectionDialogViewModel.loadVfs(MapSelectionDialogViewModel.java:220)
at thebob.ja2maptool.ui.dialogs.mapselect.MapSelectionDialogView.load(MapSelectionDialogView.java:123)
... 43 more
Report message to a moderator
|
Private 1st Class
|
|
|
|
|
|
Goto Forum:
Current Time: Tue Jan 21 00:22:28 GMT+2 2025
Total time taken to generate the page: 0.02280 seconds
|