Hi all! Latest Mac OSX user here. Well I’ve messed something up I think. I’ve had the Module Editor open for a few days editing an existing module (Outdoor Survival) to incorporate a variant I’ve designed. Stupidly (because I think this is where the problem started) I created a “Vassal Modules” folder in my “Vassal” folder which is in my Documents folder. I then moved all the Modules, including the module I have open for working on, into the Vassal Modules folder. Everything was fine until then. Now the Module won’t save from the still-open Editor, and I can’t see the module listed anymore in my list of modules in the Vassal Modules folder. I get the following error message when I try to save:
VASSAL was unable to write the file ‘OutdoorSurvivalYangtzeVariant.vmod’.
And here are the details:
java.io.FileNotFoundException: images/d_g.png not in archive
at VASSAL.tools.io.ZipArchive.getInputStream(ZipArchive.java:245)
at VASSAL.tools.io.ZipArchive.(ZipArchive.java:179)
at VASSAL.tools.io.ZipArchive.(ZipArchive.java:150)
at VASSAL.tools.ArchiveWriter.saveAsButVerify(ArchiveWriter.java:327)
at VASSAL.build.GameModule.save(GameModule.java:2122)
at VASSAL.build.GameModule.saveAs(GameModule.java:2088)
at VASSAL.launch.ModuleEditorWindow.lambda$saveAs$1(ModuleEditorWindow.java:105)
at VASSAL.launch.EditorWindow.saver(EditorWindow.java:480)
at VASSAL.launch.ModuleEditorWindow.saveAs(ModuleEditorWindow.java:103)
at VASSAL.launch.EditorWindow$3.actionPerformed(EditorWindow.java:228)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129)
at java.desktop/java.awt.MenuItem.processActionEvent(MenuItem.java:692)
at java.desktop/java.awt.MenuItem.processEvent(MenuItem.java:651)
at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:378)
at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:367)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)