Mapper Nano (2.3.3) Release

Forum for alternative clients, mods & discussions on the same.

Re: Mapper Nano (2.2.1) Release

Postby vatas » Mon Aug 29, 2016 4:36 pm

Grafbredbery wrote:
vatas wrote:I can't add any layers, get this "Exception Details" error when Ctrl+N is pressed or the command is given by clicking.


This problem was fixed in version 2.2.1.
Mapper stores last opened folder and in next time, when user open any file, Mapper uses last opened folder as an initial catalog. If it does not exists (folder was deleted by user) then it fails with this exception.
So if you use any old version, please update it up to 2.2.1.


I thought the first instance was 2.2.1. as well but it turned out not to be. How do I import data from 2.2.0. to 2.2.1.?

In case somebody is confused how the mapper works, I've figured that it combines all mapfiles from session folder and attempts to place it into existing piece of map. This regularly fails if the map pieces don't have multiple identical tiles. Check if the new piece of map is in right place. If not, move it away, compare it to other pieces you may have aroun and shove it aside if you don't. Your base may be good starting point since, assuming you start every big exploration from there and don't logout/visit caves, it should be in every map piece you generate.
The most actively maintained Haven and Hearth Wiki (Not guaranteed to be up-to-date with all w14 changes.)

Basic Claim Safety (And what you’re doing wrong) (I recommend you read it in it's entirety, but TL:;DR: Build a Palisade.)

Combat Guide (Overview, PVE, PVP) (Tells you how to try and escape, and make it less likely to die when caught.)
User avatar
vatas
 
Posts: 4511
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Mapper Nano (2.2.1) Release

Postby Grafbredbery » Mon Aug 29, 2016 6:18 pm

vatas wrote:I thought the first instance was 2.2.1. as well but it turned out not to be. How do I import data from 2.2.0. to 2.2.1.?


Mapper 2.2.1 have backward capability with previous version - 2.2.0. So to update you just replace "Mapper Nano 2.2.0.jar" with "Mapper Nano 2.2.1.jar" and run. That's it.

vatas wrote:In case somebody is confused how the mapper works, I've figured that it combines all mapfiles from session folder and attempts to place it into existing piece of map.


No, Mapper only reads map fragments from session folder, then it places them into SQLite database, which you can find near "Mapper Nano 2.x.x.jar" (it names "data.db").
After you add session folder to the Mapper you can move it in the viewport, place it as you want and then merge it into global layer (ground layer or five cave layers).
After you add session to Mapper you can delete/move original session folder — all added fragments will stored in the Mapper SQLite database.

Image

(some leaks - on a screenshot the new version of the Mapper, which I plan to present in the near future)
User avatar
Grafbredbery
 
Posts: 66
Joined: Fri Aug 28, 2015 4:10 pm
Location: Russia

Re: Mapper Nano (2.2.1) Release

Postby vatas » Wed Aug 31, 2016 12:00 pm

What file(s) do I need to give my friend so that he can see map I've parsed together in his Mapper?
The most actively maintained Haven and Hearth Wiki (Not guaranteed to be up-to-date with all w14 changes.)

Basic Claim Safety (And what you’re doing wrong) (I recommend you read it in it's entirety, but TL:;DR: Build a Palisade.)

Combat Guide (Overview, PVE, PVP) (Tells you how to try and escape, and make it less likely to die when caught.)
User avatar
vatas
 
Posts: 4511
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Mapper Nano (2.2.1) Release

Postby Grafbredbery » Wed Aug 31, 2016 6:23 pm

vatas wrote:What file(s) do I need to give my friend so that he can see map I've parsed together in his Mapper?


Assume you played in HnH and gained some sessions. You added them into your Mapper, an as result - all of these sessions were been stored in the data.db file.
Now you can send data.db file to your friend. Once your friend receives the data.db file he can place it in the folder of his Mapper and then run it. Mapper will show to your friend all fragments, which were stored during your game session.
You may use any cloud file storage with sharing feature (e.g. Dropbox) to automate this actions.
User avatar
Grafbredbery
 
Posts: 66
Joined: Fri Aug 28, 2015 4:10 pm
Location: Russia

Re: Mapper Nano (2.2.1) Release

Postby iamahh » Fri Sep 02, 2016 1:41 pm

got this exception when clicked to open layer tab

java.lang.IllegalStateException: showAndWait is not allowed during animation or layout processing
at javafx.scene.control.Dialog.showAndWait(Dialog.java:328)
at com.evgenltd.mapper.ui.util.UIExceptionHandler.uncaughtException(UIExceptionHandler.java:27)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:139)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.DoublePropertyBase.fireValueChangedEvent(DoublePropertyBase.java:106)
at javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:113)
at javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:147)
at javafx.scene.canvas.Canvas.setWidth(Canvas.java:150)
at com.evgenltd.mapper.mapviewer.common.ResizeableCanvasHolder.layoutChildren(ResizeableCanvasHolder.java:23)
at javafx.scene.Parent.layout(Parent.java:1087)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Parent.layout(Parent.java:1093)
at javafx.scene.Scene.doLayoutPass(Scene.java:552)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2397)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Unknown Source)
iamahh
 
Posts: 1810
Joined: Sat Dec 12, 2015 8:23 pm

Re: Mapper Nano (2.2.1) Release

Postby vatas » Fri Sep 02, 2016 2:43 pm

Any possibility of adding feature to render high resolution PNG image of the map?
The most actively maintained Haven and Hearth Wiki (Not guaranteed to be up-to-date with all w14 changes.)

Basic Claim Safety (And what you’re doing wrong) (I recommend you read it in it's entirety, but TL:;DR: Build a Palisade.)

Combat Guide (Overview, PVE, PVP) (Tells you how to try and escape, and make it less likely to die when caught.)
User avatar
vatas
 
Posts: 4511
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Mapper Nano (2.2.1) Release

Postby Grafbredbery » Mon Sep 05, 2016 9:11 pm

iamahh wrote:got this exception when clicked to open layer tab


Unfortunately, exception does not reproduce consistently. In new version I made some fixes, which i think can help.

vatas wrote:Any possibility of adding feature to render high resolution PNG image of the map?


Stitching tiles in whole image have some limitations if we work with layers/sessions which contains big amount of tiles.
But I think it is possible to implement such feature in next releases
User avatar
Grafbredbery
 
Posts: 66
Joined: Fri Aug 28, 2015 4:10 pm
Location: Russia

Re: Mapper Nano (2.3) Release

Postby Grafbredbery » Mon Sep 05, 2016 9:35 pm

Version 2.3 released

Changes:
  • Added tracker functionality (Manual or below)
  • Improved ribbon interface
  • Improved behavior of selecting objects in viewer and browsers
  • Added showing quality of marker on hover, can be turned off in the settings
  • Ordered hot keys in the settings dialog
  • Fixed OutOfMemory errors fails Operations with huge amount of data
  • Fixed some other bugs

About Tracker — Description

Tracker allows users automatically track for sessions in map folder of the custom client.
Feature have many settings which allow flexibly configure Tracker work.

To start tracking just click "Start" button on toolbar or use key F9.
To pause tracking click "Pause" button on toolbar or use key F2.

What tracker can to do?
  • track for new sessions
  • track for deleted sessions - it is necessary to prevent adding already deleted sessions
  • track for player position (only Amber)

You can view and manage all tracked folders in the Settings (File -> Settings -> Tracker -> View tracked folders)
List will automatically updates over time.

About Tracker — Option

Map folder
Contains path to the map folder. This is mandatory option - tracker wont work without it.

Refresh layers
On each invocation the tracker scans layers and performs updating for those who have link to the session folder.

Add new layers
On each invocation the tracker scans specified map folder, if it find new sessions then they will be added to the Mapper.

Delete session folder removed by user
Tracker will automatically delete sessions linked to the layers which was deleted from the Mapper (by Remove operation or Merge).
Be careful, since all sessions will be deleted permanently, and even if you will use operation undo for deleted layer - the removed session wont be restored.

Delete session folder and layer if size less than ...
Tracker will remove all layers (and linked session), which number of tiles is smaller than specified in the appropriate field.
Be careful, since all sessions will be deleted permanently, and even if you will use operation undo for deleted layer - the removed session wont be restored.
Tracker will not remove current layer, since it can grown in time.

Track player position (only Amber)
Amber's client can store current player position in file. To enable this feature you should launch Amber with key
Code: Select all
-p <file>

where <file> is a name of file which will be used by Amber client to storing player position.
You can specify path to the same file and Mapper will draw current player position in the viewport.
User avatar
Grafbredbery
 
Posts: 66
Joined: Fri Aug 28, 2015 4:10 pm
Location: Russia

Re: Mapper Nano (2.3) Release

Postby ekzarh » Sat Sep 24, 2016 6:46 pm

Thanks for nive project.
Kudos for unit tests

Found a bug. Unable to reproduce sunce I've got 2 sessions with 1k tiles and deleted them afterwards.
Tried to add trycatch and then nullcheck for tile which was unable to load - seems working fine
Code: Select all
javax.persistence.EntityNotFoundException: Unable to find com.evgenltd.mapper.core.entity.Layer with id 14410
   at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$JpaEntityNotFoundDelegate.handleEntityNotFound(EntityManagerFactoryBuilderImpl.java:145)
   at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:236)
   at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:162)
   at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:260)
   at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:68)
   at com.evgenltd.mapper.core.entity.Layer_$$_jvst657_1.getId(Layer_$$_jvst657_1.java)
   at com.evgenltd.mapper.core.bean.envers.ChangeFactory.build(ChangeFactory.java:56)
   at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
   at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
   at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
   at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
   at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
   at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
   at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
   at com.evgenltd.mapper.core.bean.envers.EnversBean.cleanup(EnversBean.java:51)
   at com.evgenltd.mapper.core.bean.envers.EnversBean$$FastClassBySpringCGLIB$$6b739ae6.invoke(<generated>)
   at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
   at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
   at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
   at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
   at com.evgenltd.mapper.core.bean.envers.EnversBean$$EnhancerBySpringCGLIB$$2acfe7d6.cleanup(<generated>)
   at com.evgenltd.mapper.core.bean.DatabaseBeanMaintenance.processMaintenance(DatabaseBeanMaintenance.java:86)
   at com.evgenltd.mapper.core.bean.DatabaseBeanMaintenance$$FastClassBySpringCGLIB$$ae0ff290.invoke(<generated>)
   at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
   at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
   at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
   at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
   at com.evgenltd.mapper.core.bean.DatabaseBeanMaintenance$$EnhancerBySpringCGLIB$$760b0440.processMaintenance(<generated>)
   at com.evgenltd.mapper.core.Config.lambda$applicationStartedListener$0(Config.java:60)
   at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
   at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
   at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381)
   at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:335)
   at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:855)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
   at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:84)
   at com.evgenltd.mapper.ui.Application.init(Application.java:32)
   at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:841)
   at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
   at java.lang.Thread.run(Thread.java:745)

User avatar
ekzarh
 
Posts: 323
Joined: Tue Dec 20, 2011 9:42 pm

Re: Mapper Nano (2.3) Release

Postby vatas » Sat Oct 15, 2016 11:29 am

While merging together
org.springframework.orm.jpa.JpaSystemException: java.sql.SQLException: cannot commit - no transaction is active; nested exception is javax.persistence.PersistenceException: java.sql.SQLException: cannot commit - no transaction is active
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:418)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:227)
at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:521)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.evgenltd.mapper.core.bean.envers.EnversBean$$EnhancerBySpringCGLIB$$52db63b4.isUndoAvailable(<generated>)
at com.evgenltd.mapper.ui.component.command.CommandManager.updateRegularCommands(CommandManager.java:229)
at com.evgenltd.mapper.ui.component.command.CommandManager.updateCommandDisableState(CommandManager.java:191)
at com.evgenltd.mapper.ui.component.mapviewer.MapViewerWrapper.mergeNodes(MapViewerWrapper.java:124)
at com.evgenltd.mapper.ui.component.mapviewer.MapViewerLoaderService.foregroundDataApplying(MapViewerLoaderService.java:130)
at com.evgenltd.mapper.ui.component.mapviewer.MapViewerLoaderService.succeeded(MapViewerLoaderService.java:67)
at javafx.concurrent.Service.lambda$new$490(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.access$000(Unknown Source)
at javafx.beans.property.ObjectPropertyBase$Listener.invalidated(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
at javafx.concurrent.Task.setState(Unknown Source)
at javafx.concurrent.Task$TaskCallable.lambda$call$500(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.persistence.PersistenceException: java.sql.SQLException: cannot commit - no transaction is active
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:74)
at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517)
... 34 more
Caused by: java.sql.SQLException: cannot commit - no transaction is active
at org.sqlite.core.DB.throwex(DB.java:859)
at org.sqlite.core.DB.exec(DB.java:142)
at org.sqlite.jdbc3.JDBC3Connection.commit(JDBC3Connection.java:165)
at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.invoke(SingleConnectionDataSource.java:333)
at com.sun.proxy.$Proxy30.commit(Unknown Source)
at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:80)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:232)
at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61)
... 35 more
The most actively maintained Haven and Hearth Wiki (Not guaranteed to be up-to-date with all w14 changes.)

Basic Claim Safety (And what you’re doing wrong) (I recommend you read it in it's entirety, but TL:;DR: Build a Palisade.)

Combat Guide (Overview, PVE, PVP) (Tells you how to try and escape, and make it less likely to die when caught.)
User avatar
vatas
 
Posts: 4511
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

PreviousNext

Return to The Wizards' Tower

Who is online

Users browsing this forum: No registered users and 4 guests