[Tool] Superluminal 2.2.1 - FTL Ship Editor

Discuss and distribute tools and methods for modding. Moderator - Grognak
User avatar
Warkin
Posts: 1
Joined: Mon Feb 05, 2018 3:24 am

Re: [Tool] Superluminal 2.1.2b - FTL Ship Editor [Incompatible with FTL 1.6]

Postby Warkin » Wed Feb 07, 2018 11:45 pm

Very good editor, i use it to make alot of mods, but please, for the love of god, add a feature to select multiple things or im gonna go insane >~<
ATLAS_5IVE
Posts: 5
Joined: Fri Jan 26, 2018 1:21 am

Re: [Tool] Superluminal 2.1.2b - FTL Ship Editor [Incompatible with FTL 1.6]

Postby ATLAS_5IVE » Sat Feb 10, 2018 9:44 pm

To all those who are still struggling to get Superluminal working with version 1.6:

FTL on the Humblebundle Store is still at version 1.5
If you get it from that site you can save the resources folder and continue to use Superluminal as it was before. The finalized custom ships can then be placed into the Slipstream Mod manager and be played in your FTL 1.6 game.

I know that isn't a prime solution but it's better than nothing.
The two files I liked in my last post are the only contents of the original Resources folder.

Before you buy on Humblebundle, Try downloading the files I linked and then create a folder in Programfiles(x86) called FTL. Inside of that folder put a folder called resources, and place both files inside. Then start up Superluminal and see if it can locate the files in there. (I am not 100% sure this will work but it is the best representation of the file structure you will get if you download another previous version of FTL from Humble).

Best of luck to all of you
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Superluminal 2.2 - FTL Ship Editor

Postby kartoFlane » Mon Feb 12, 2018 11:21 pm

For those of you who still like to mess around with modded FTL, I've just uploaded a new release to make the editor compatible with the newest version of the game. From the limited testing I have done everything seems to be working correctly, but do let me know if I've missed something. Ships saved with this version of the editor should be compatible with both new and old version of FTL.

Download: Superluminal 2.2

Code: Select all

2.2:
- Added support for FTL 1.6.1+
- Self-patching functionality should now work on all platforms (still broken in versions 2.1.2b and lower; you'll need to update manually)
- Added File > Change .dat Files, allowing you to navigate to other .dat files, and tell the editor to use them (useful if you ever want to use pre-1.6 archives for whatever reason)
- Pirate ships from dlcPirateBlueprints.xml file can now be loaded in the editor.
- The editor now also scans .rawclobber files in loaded mods.
- Automatic update check performed at startup no longer blocks GUI.
- Pinned objects are now highlighted with a yellow border.
- Updated GUI library from 4.5.1 to 4.6.1.
- Updated links to the new FTL forums address.
- Fixed Windows exe launchers not finding Java 9.
Last edited by kartoFlane on Tue Feb 13, 2018 3:32 pm, edited 2 times in total.
Superluminal2 - a ship editor for FTL
User avatar
mr_easy_money
Posts: 625
Joined: Fri May 29, 2015 9:05 pm

Re: [Tool] Superluminal 2.2 - FTL Ship Editor

Postby mr_easy_money » Tue Feb 13, 2018 4:52 am

kartoFlane wrote:From the limited testing I have done everything seems to be working correctly, but do let me know if I've missed something.

By chance could you get Superluminal on windows to recognize java 9 as java? Trying to run it with only java 9 installed prompts a page to get java 8 update 161. Slipstream fixed this in v1.7/1.8, and judging by its changelog it looks like a simple fix?
Vhati wrote:v1.8 has been released:
...
[*]Fixed Windows exe launchers not finding Java 9.
...
Vhati
Posts: 792
Joined: Thu Oct 25, 2012 12:01 pm

Re: [Tool] Superluminal 2.2 - FTL Ship Editor

Postby Vhati » Tue Feb 13, 2018 9:26 am

mr_easy_money wrote:By chance could you get Superluminal on windows to recognize java 9 as java? [...] Slipstream fixed this
All I had to do was rebuild my executables with a newer release of Launch4J.

Java 9 changed its versioning scheme and started using different registry entries to announce its presence, so the launcher needed to be updated to find it.
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Superluminal 2.2 - FTL Ship Editor

Postby kartoFlane » Tue Feb 13, 2018 3:29 pm

I knew I missed something... Thanks for letting me know, and thanks for the answer Vhati! :) I've updated the release on GitHub -- simply redownload the editor.
Superluminal2 - a ship editor for FTL
User avatar
mr_easy_money
Posts: 625
Joined: Fri May 29, 2015 9:05 pm

Re: [Tool] Superluminal 2.2 - FTL Ship Editor

Postby mr_easy_money » Wed Feb 14, 2018 3:14 pm

Three bugs to report,

I loaded a ship mod created with the previous version of Superluminal (arfy's Hazmatian) into Superluminal via File -> Mod Management. When I tried to save the ship as an .ftl file, I got the following error log,

Code: Select all

TRACE ModDatabaseEntry - hazmatian_cruiser_fedB.ftl was loaded successfully.
TRACE Database - hazmatian_cruiser_fedB.ftl reordered to position 1
TRACE EditorWindow - Saving ship as C:\Users\bob\Documents\Superluminal Win-64 v2.2\arfy-hazmatian.ftl
ERROR EditorWindow - An error occured while saving the ship: java.lang.UnsupportedOperationException
        at com.kartoflane.superluminal2.ftl.VerbatimText.getTextId(VerbatimText.java:31)
        at com.kartoflane.superluminal2.utils.ShipSaveUtils.createNamedTextSourceElement(ShipSaveUtils.java:371)
        at com.kartoflane.superluminal2.utils.ShipSaveUtils.generateTextXML(ShipSaveUtils.java:381)
        at com.kartoflane.superluminal2.utils.ShipSaveUtils.saveShip(ShipSaveUtils.java:154)
        at com.kartoflane.superluminal2.utils.ShipSaveUtils.saveShipFTL(ShipSaveUtils.java:84)
        at com.kartoflane.superluminal2.ui.ShipContainer.save(ShipContainer.java:410)
        at com.kartoflane.superluminal2.ui.EditorWindow.promptSaveShip(EditorWindow.java:1670)
        at com.kartoflane.superluminal2.ui.EditorWindow$15.widgetSelected(EditorWindow.java:665)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.superluminal2.Superluminal.main(Superluminal.java:324)

I assume this is because the 1.6 editor saves text in the new text_blueprints.xml.append file, but doesn't recognize text in the old format i.e. directly in the tag (which still works).
----------
the other bug

Let's say I open Superluminal, create a custom ship that'll replace the kestrel a, save it as an ftl file, and close the ship. If I then use Mod Management to load the mod in, and then create another custom ship that'll replace the kestrel b, save it as an ftl file and include mod files from the mod I loaded in (the ship that replaces kestrel a), it'll save and all looks well.

However, upon opening the blueprints.xml.append file, I noticed that the ship replacing kestrel a will lack its opening and closing <shipBlueprint> tags, which is problematic. I presume this happens because Superluminal sees it as a "root" tag when loading mod files containing only one ship.
----------
;edit; another bug

When using Edit -> Generate Floor Image and selecting a color for the border or floor, picking a color via the visible color picker or setting HSB values works fine, however trying to set RGB values causes Superluminal to crash (the error makes it pretty obvious the problem, with the range only being able to be between 0 and 1.0, though it doesn't auto-max either like when setting HSB values

Code: Select all

ERROR Superluminal - An unexpected error has occured and the editor was forced to terminate. java.lang.IllegalArgumentException: 0 < 119.7647 < 1.0
        at com.kartoflane.common.ui.widgets.HuePicker.setSelection(HuePicker.java:119)
        at com.kartoflane.common.ui.SquareColorPickerDialog.setInput(SquareColorPickerDialog.java:521)
        at com.kartoflane.common.ui.SquareColorPickerDialog.access$600(SquareColorPickerDialog.java:47)
        at com.kartoflane.common.ui.SquareColorPickerDialog$8.modifyText(SquareColorPickerDialog.java:377)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Text.wmCommandChild(Unknown Source)
        at org.eclipse.swt.widgets.Control.WM_COMMAND(Unknown Source)
        at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
        at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
        at org.eclipse.swt.internal.win32.OS.CallWindowProc(Unknown Source)
        at org.eclipse.swt.widgets.Text.callWindowProc(Unknown Source)
        at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Text.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.common.ui.SquareColorPickerDialog.open(SquareColorPickerDialog.java:121)
        at com.kartoflane.superluminal2.ui.FloorgenDialog$7.widgetSelected(FloorgenDialog.java:252)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.superluminal2.ui.FloorgenDialog.open(FloorgenDialog.java:330)
        at com.kartoflane.superluminal2.ui.EditorWindow$24.widgetSelected(EditorWindow.java:792)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.superluminal2.Superluminal.main(Superluminal.java:324)

as does a hex triplet (e.g. #FFFFFF), for the same reason (range only being able to be between 0 and 1.0, doesn't auto-max either like when setting HSB values)

Code: Select all

TRACE EditorWindow - Saving ship as C:\Users\bob\Documents\Superluminal Win-64 v2.2\crash_1518624405925.ftl
TRACE EditorWindow - Ship saved successfully.
ERROR Superluminal - An unexpected error has occured and the editor was forced to terminate. java.lang.IllegalArgumentException: 0 < 60.0 < 1.0
        at com.kartoflane.common.ui.widgets.HuePicker.setSelection(HuePicker.java:119)
        at com.kartoflane.common.ui.SquareColorPickerDialog.setInput(SquareColorPickerDialog.java:499)
        at com.kartoflane.common.ui.SquareColorPickerDialog.access$600(SquareColorPickerDialog.java:47)
        at com.kartoflane.common.ui.SquareColorPickerDialog$8.modifyText(SquareColorPickerDialog.java:377)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Text.wmCommandChild(Unknown Source)
        at org.eclipse.swt.widgets.Control.WM_COMMAND(Unknown Source)
        at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
        at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
        at org.eclipse.swt.internal.win32.OS.CallWindowProc(Unknown Source)
        at org.eclipse.swt.widgets.Text.callWindowProc(Unknown Source)
        at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Text.windowProc(Unknown Source)
        at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.common.ui.SquareColorPickerDialog.open(SquareColorPickerDialog.java:121)
        at com.kartoflane.superluminal2.ui.FloorgenDialog$8.widgetSelected(FloorgenDialog.java:271)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.superluminal2.ui.FloorgenDialog.open(FloorgenDialog.java:330)
        at com.kartoflane.superluminal2.ui.EditorWindow$24.widgetSelected(EditorWindow.java:792)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at com.kartoflane.superluminal2.Superluminal.main(Superluminal.java:324)

oh unrelated, but it looks like the error message, "An unexpected error has occured and the editor was forced to terminate." has a typo on the word 'occured', should be 'occurred'.
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Superluminal 2.2.1 - FTL Ship Editor

Postby kartoFlane » Thu Feb 15, 2018 8:48 pm

Good stuff, thanks for reporting! :) I've released a new version to address these bugs.

Download: Superluminal 2.2.1

Changelog:

Code: Select all

2.2.1:
- Fixed a crash when saving a ship that was created with old FTL file format.
- Fixed a crash when changing colors in Generate FLoor Image window using RGB or hex values.
- Fixed values not being consistently capped to min/max in Generate Floor Image window.
- Fixed a bug which could cause ship class and ship name to not be loaded.
- Fixed a bug which caused XML files to be broken when using the "Include Mod Files From" feature when saving.
Superluminal2 - a ship editor for FTL
veritas427
Posts: 9
Joined: Tue Jan 23, 2018 10:23 pm

Re: [Tool] Superluminal 2.2.1 - FTL Ship Editor

Postby veritas427 » Thu Feb 22, 2018 2:37 am

Update is much appreciated and I've encountered no issues, thank you
merik27
Posts: 1
Joined: Thu Mar 08, 2018 2:44 am

Re: [Tool] Superluminal 2.2.1 - FTL Ship Editor

Postby merik27 » Thu Mar 08, 2018 2:56 am

It just keeps crashing please help!