[Tool] FTL Ship Editor: Superluminal [NOT UPDATED TO AE]

Discuss and distribute tools and methods for modding. Moderator - Grognak
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby kartoFlane » Thu Jan 31, 2013 8:13 pm

EchoesofOld wrote:Is there a known bug with loading weapons/augs/drones? I tried to load them up, but dropdowns were blank. I DID start with a custom ship, as opposed to loading an existing ship.

They're loaded from blueprints.xml file, so if they're not showing up then I'd guess that something's wrong with your blueprints.xml file. Are you sure you've set the paths correctly? The data directory should be the highest-level directory, the one containing all the .txt and .xml files. Also, if you've opened the Properties window prior to loading the data and resource directories, the lists won't load the items / won't update. You need to restart the editor for the changes to take effect.

UltraMantis wrote:Keep up the good work. :D And why apologize for doing it in Java?

I just have this deeply ingrained opinion that Java is generally a bad language to develop, well, pretty much anything, due to its rumored inefficiency :E

@San_Gue
Bugs:
1. Damn, that's a good find. I didn't take into account different resolutions and font sizes. Gonna fix it now, I think I know exactly where the problem lies.

2. I haven't encountered that bug, guess it's my bad seeing as I haven't tried importing modified player ships. Gonna look into it, thanks for pointing that out.
Edit: I think I've found the cause, I thought that GMM was replacing entries in the blueprints.xml, but it only appends the modificatrions at the end...

3. Well, I've heard about that and that the ghost crew is only present on automated ships, but there's no "ghost race" declaration in the blueprints.xml file. Also, the auto ships only have the <crewCount amount = "0" max="0" class="human"/> tag in their blueprint, which causes the game to classify those shisp as automated and assign them the ghost crew (I've mentioned that at the Wiki). In that case, you can do it with the editor (enemy ships only though, will allow that for players too in next version), you just have to set the max crew counter to 0, and then the editor will export your ship with the same tag. There's no way to control the number of crewmen though.

Notes:
1. I actually thought about implementing that. The yellow boxes were meant more like a placeholder. However, I think I'll make it load only a default weapon image instead of loading the entire current loadout... I don't know, I'll see how it works out.

2. Totally possible. I've implemented that box before all the freely movable elements, so I guess that's why it slipped me. The box to set coordinates of the currently selected item is a good idea, too.

3. Yeah, had that issue myself several times, though I mostly just shrugged and re-aligned the misplaced element... It shouldn't be too hard, thanks for the suggestion.
Last edited by kartoFlane on Thu Jan 31, 2013 9:08 pm, edited 1 time in total.
Superluminal2 - a ship editor for FTL
Pumpkins10
Posts: 12
Joined: Thu Jan 31, 2013 8:13 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby Pumpkins10 » Thu Jan 31, 2013 8:27 pm

huh, both mac versions seem to be broken, 32 bit comes up with the error message:

"superluminal_mac32.jar could not be opened"

and the 64 bit version doesn't respond to opening at all, not even an error message.

I have no idea how java works, but I've tried opening both the jar files in the zip, and both of them react the same.

any idea whats happening? none of the other ship editors are mac compatible, so yours is the best bet.
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby kartoFlane » Thu Jan 31, 2013 8:31 pm

You have to download JRE (Java Runtime Environment) in order to be able to run Java applications (sucks, I know); while I, in turn, have no idea about Mac, it seems you can download the Java VM for Mac here.
Superluminal2 - a ship editor for FTL
EchoesofOld
Posts: 100
Joined: Thu Jan 24, 2013 3:06 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby EchoesofOld » Thu Jan 31, 2013 9:13 pm

Ok, i didnt know it was asking for the data folder itself. FTLEdit was able to find those files a folder or two down. bad habbits die hard...
The Rebel Flagship: The only ship to make the DemonStar look like a pansy.

Be ye wary of the ship with the demon airlock...
User avatar
Kieve
Posts: 952
Joined: Tue Sep 18, 2012 2:21 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby Kieve » Fri Feb 01, 2013 3:00 am

This is an impressive little package and no mistake. Nice job, kartoFlane!

('bout time Darkfrost had some competition to light a fire under his frozen arse! :lol: )
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby kartoFlane » Fri Feb 01, 2013 3:25 am

Kieve, lol :P Thanks

Also, anyway, I've taken some time and worked on a small update. Figured I'd put it up tonight.
Changes:

Code: Select all

- room interiors now get stretched / squashed to fit the room they're placed in.
- shield graphic on enemy ships now aligns and exports properly (or it did as far as I tested).
- shield graphic is now separate from the hull, and you can select the shield by right clicking on it (clicking on hull is not required anymore)
- shield graphic on enemy ships can now be resized by right clicking on the shield and then, when the selection shows up, clicking on the small light-blue box in the lower right corner and dragging.
- all movable elements can now be pinned down by pressing the ~ (tilde) button, which prevents them from being moved or resized - other properties can still be changed, though. Pressing the button again unpins them. Most of pinned elements have a small pin icon (duh) at the top left corner.
- player ships can now, too, be set to have ghost crew (be treated as automated ships) - in the Crew & Augments tab you have to set the Crew Max to 0, the editor will handle the rest during exporting (not sure if that's the ghost crew, though).
- UI elements SHOULD now stay in the same place / retain their intended dimensions, even with font size changed in the OS. It worked on my notebook, but it'll need more testing to be sure.


edit: I've also looked into the tooltips, it's not possible to make them last longer without re-inventing the entire tooltip system, sadly.

Download directory: Superluminal-1-2-13
Last edited by kartoFlane on Sat Feb 02, 2013 1:38 pm, edited 1 time in total.
Superluminal2 - a ship editor for FTL
User avatar
Kieve
Posts: 952
Joined: Tue Sep 18, 2012 2:21 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby Kieve » Fri Feb 01, 2013 3:32 am

Agh, you fiend! And I just finished downloading the last version too. */re-dl's*

Just a heads-up though, "ghost" crew is not the same as no crew. Ghosts are kind of a special-case in crew races - semi-transparent humans with 50hp, and immunity to suffocation. The catch is, I don't think they were properly enabled in Blueprints, so if your program is pulling crew race selection from the blueprints.xml, they aren't going to show up. Instead, what I'd suggest is to make "ghost" an option embedded in your programming, which will simply fill in

Code: Select all

<crewCount amount = "#"  class="ghost"/>

on its own.

Even in the game's code, they're ghosts... how meta.
San_Gue
Posts: 5
Joined: Thu Jan 31, 2013 5:57 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby San_Gue » Fri Feb 01, 2013 4:18 am

kartoFlane wrote:3. Well, I've heard about that and that the ghost crew is only present on automated ships, but there's no "ghost race" declaration in the blueprints.xml file. Also, the auto ships only have the <crewCount amount = "0" max="0" class="human"/> tag in their blueprint, which causes the game to classify those shisp as automated and assign them the ghost crew (I've mentioned that at the Wiki). In that case, you can do it with the editor (enemy ships only though, will allow that for players too in next version), you just have to set the max crew counter to 0, and then the editor will export your ship with the same tag. There's no way to control the number of crewmen though.


As Kieve said, Only ships with initial crewcount=0 are setted automated.
Ghost does counts as crewmembers having them from the beginning dont tag your ship as automated.
See the KuroSaru post here:

KuroSaru wrote:Id like to add one addition.

It is not possible to add new races but if you'd like there to be another race in-game and keep all current races you can.
The race ghost is not used, and thus its possible to make use of that instead.

Example Addition to blueprints.

Code: Select all

<crewBlueprint name="ghost">
   <desc>Ghostly Things</desc>
   <cost>40</cost>
   <bp>2</bp>
   <title>Ghost</title>
   <short>Ghost</short>
   <rarity>1</rarity>
   <powerList>
      <power>They are already dead?</power>
   </powerList>
</crewBlueprint>


:!: Technical Overview:
Why cant you add another race? well here is a more technical explanation why its not possible.

There is few a functions within FTLGame.exe repsonsible for races, the two most important are responsible for loading a race and working out what a race can do, apart from description and which animation to use stored in blueprints.xml all the rest is hard-coded into these two functions.

FTLGame.exe - Sub_4A6B92
Image

FTLGame.exe - Sub_4A54571
Image

These functions are important because if you wishes to add a new race you'd need to modify them, this would require, these functions and a few others to be converted to inline ASM within a .dll , and replace all the code in FTLGame.exe with code to load the dll pass it data but allow the DLL to access its memory.

Thus anyone who wants to add a new race use the ghost race its ingame but not used. However if you really want more races wait for FTL Overdrive to be completed, or maybe the Dev of FTL will reconsider there hard-coded functions? and release a patch/update? who knows, but for now as previously stated use the ghost race.

Hopefully this has given a very clear picture why its not possible to simply add a new race.


-------------------------------

kartoFlane wrote:1. I actually thought about implementing that. The yellow boxes were meant more like a placeholder. However, I think I'll make it load only a default weapon image instead of loading the entire current loadout... I don't know, I'll see how it works out.


Well, as I said, the purpose of adding the whole weapon inventory is that you can set weapons to have different effects, dependig on whether you place-it...
For example i Wanted to make the Barrel of the Glavie Beam being pulled out from the cockpit of the stealth ship 1 without letting it show the "Attachement" part thet normally is linked to the side of a ship, but doiung it without an image mean to guess from time to time basing on a different weapons that have different dimensions and layout.
And, by the way, many will have to make custom weapons from other mods fit in their ship... so...
I suggest you to make a list estracted directly from the blueprint file, so that, no matter what a player does mount in his personal mods patchwork, i' ll still be able to test it on your editor. Isn' t that posible?

---------

Downloaded the Last Version: Font size are no longer a problem, good work ^^
UltraMantis
Posts: 2141
Joined: Thu Sep 20, 2012 3:17 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby UltraMantis » Fri Feb 01, 2013 10:22 am

I'd just like to chime in and say that i couldn't care less for Java being less efficient. Being OS independent makes up for that easily.

Sorry for not testing the tool a bit more, and thanks for looking into tooltips.
Report spam using the handy Report Button Mod.
EchoesofOld
Posts: 100
Joined: Thu Jan 24, 2013 3:06 pm

Re: [Tool] Yet Another FTL Ship Editor: Superluminal

Postby EchoesofOld » Fri Feb 01, 2013 3:41 pm

One other question ive got about this, how do you set which systems you start with/are absent? can you do that in the editor, or is that post-program XML editing?
The Rebel Flagship: The only ship to make the DemonStar look like a pansy.

Be ye wary of the ship with the demon airlock...