Nelien

[WIN] TED - KSP Tech Tree Editor - v0.2.4 ALPHA [EARLY TESTING]

Recommended Posts

TED - KSP Tech Tree Editor v0.2.4 Alpha

So I've mentioned this in a few places but I've been working on a tool that would make it easier for both modders and every-day KSP players to make changes to the tech tree. It's a Windows application that generates the .cfg files needed by plugins like TechManager, the now outdated TreeLoader (no longer supported) and ATC, by the use of a graphical, point-and-click, tool. I've now reached a point where I'm happy to have people try the tool out. It's very early alpha, but it's functional. So without further ado:

Download - Source - Readme

Note: Requires .NET 4.5 - Download and install from here

Installation:

1. Unpack.

2. Run the .exe.

Instructions: (Better viewed HERE)

Startup

1. Start by selecting your KSP root folder, usually that's C:\Program Files (x86)\Steam\SteamApps\common\Kerbal Space Program but it may differ on your machine

Load

1. (Option 1) Load an existing tech tree file (.cfg)

- Make sure you select the right format!

- For TechManager files use Load TechManager Tree..

- For ATC files use Load ATC Tree...

2. (Option 2) Create a new tech tree from scratch

- Click on New Blank Tree

3. (Option 3) Create a new tech tree starting from the Stock tech

- Click on New Stock Tree

Edit

1. Click on a node to edit it's values on the right (the sidebar).

2. Move nodes around by dragging.

3. Add or remove parts from nodes at the bottom of the sidebar.

- The top section indicates the parts assigned to that node.

- The bottom section is a list of all detected parts in your KSP folder.

4. Press `DELETE` to delete a node.

5. Press `SHIFT+CLICK` to add a blank node on an empty space

6. Select a node and press `CTRL+CLICK` on another node to link or unlink parents.

- The little circle indicates the direction of the link.

Save

1. Click Save at the top menu to save your file in TechManager format.

2. Click Save (ATC) to save in ATC format.

3. You will be prompted to select the filename and where to save.

4. NOTE: It does not matter what file the tree was when you loaded, you can save in any format (this can be used to convert a tree from one format to another!)

Load into KSP

1. Follow the corresponding mod instructions!

2. This has nothing to do with TED, TED only generates the files.

3. Again, see the corresponding mods instructions: TechManager, ATC

Known Issues

- It looks terrible! I know, the UI work has not properly started yet, this is a "skin-less" version of the application.

- Lots and lots of bugs. Yes, this is early alpha, there are LOTS of bugs. Please report and I'll fix as soon as I can.

Changelog.

v0.2.4 Alpha (2015-01-18)

- TechManager v1.5 support (hideIfNoBranch support)

- Added debug logging - Output will be stored in output.log next to the .exe

- Added node snapping - (Finally!)

- Now shows "[Modname] Part Name - (Original TechRequired: Original Cost)" in parts list

- TechId is now editable and not auto-generated

- Fixes to TechManager file saver - Now uses ModuleManager config

- This should mean more consistent part allocation when using many mods that edit tech requirements

v0.2.3

- TechManager v1.3 support

- No longer supports TreeLoader, TreeLoader has discontinued

- Adding and removing parts from nodes should make more sense now as the list only shows parts that haven't already been assigned to a node

v0.2.2

- Fix bug when loading parts from KSP folder

v0.2.1

- Fix UI overlaying issue by forcing ZLayer of nodes to stay between -1 and -24

- Expanded workspace area slightly to accomodate larger trees (still not 1 on 1 with KSP though)

License

GNU LESSER GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies

of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates

the terms and conditions of version 3 of the GNU General Public

License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser

General Public License, and the "GNU GPL" refers to version 3 of the GNU

General Public License.

"The Library" refers to a covered work governed by this License,

other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided

by the Library, but which is not otherwise based on the Library.

Defining a subclass of a class defined by the Library is deemed a mode

of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an

Application with the Library. The particular version of the Library

with which the Combined Work was made is also called the "Linked

Version".

The "Minimal Corresponding Source" for a Combined Work means the

Corresponding Source for the Combined Work, excluding any source code

for portions of the Combined Work that, considered in isolation, are

based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the

object code and/or source code for the Application, including any data

and utility programs needed for reproducing the Combined Work from the

Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License

without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a

facility refers to a function or data to be supplied by an Application

that uses the facility (other than as an argument passed when the

facility is invoked), then you may convey a copy of the modified

version:

a) under this License, provided that you make a good faith effort to

ensure that, in the event an Application does not supply the

function or data, the facility still operates, and performs

whatever part of its purpose remains meaningful, or

B) under the GNU GPL, with none of the additional permissions of

this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from

a header file that is part of the Library. You may convey such object

code under terms of your choice, provided that, if the incorporated

material is not limited to numerical parameters, data structure

layouts and accessors, or small macros, inline functions and templates

(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the

Library is used in it and that the Library and its use are

covered by this License.

B) Accompany the object code with a copy of the GNU GPL and this license

document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,

taken together, effectively do not restrict modification of the

portions of the Library contained in the Combined Work and reverse

engineering for debugging such modifications, if you also do each of

the following:

a) Give prominent notice with each copy of the Combined Work that

the Library is used in it and that the Library and its use are

covered by this License.

B) Accompany the Combined Work with a copy of the GNU GPL and this license

document.

c) For a Combined Work that displays copyright notices during

execution, include the copyright notice for the Library among

these notices, as well as a reference directing the user to the

copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this

License, and the Corresponding Application Code in a form

suitable for, and under terms that permit, the user to

recombine or relink the Application with a modified version of

the Linked Version to produce a modified Combined Work, in the

manner specified by section 6 of the GNU GPL for conveying

Corresponding Source.

1) Use a suitable shared library mechanism for linking with the

Library. A suitable mechanism is one that (a) uses at run time

a copy of the Library already present on the user's computer

system, and (B) will operate properly with a modified version

of the Library that is interface-compatible with the Linked

Version.

e) Provide Installation Information, but only if you would otherwise

be required to provide such information under section 6 of the

GNU GPL, and only to the extent that such information is

necessary to install and execute a modified version of the

Combined Work produced by recombining or relinking the

Application with a modified version of the Linked Version. (If

you use option 4d0, the Installation Information must accompany

the Minimal Corresponding Source and Corresponding Application

Code. If you use option 4d1, you must provide the Installation

Information in the manner specified by section 6 of the GNU GPL

for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the

Library side by side in a single library together with other library

facilities that are not Applications and are not covered by this

License, and convey such a combined library under terms of your

choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based

on the Library, uncombined with any other library facilities,

conveyed under the terms of this License.

B) Give prominent notice with the combined library that part of it

is a work based on the Library, and explaining where to find the

accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions

of the GNU Lesser General Public License from time to time. Such new

versions will be similar in spirit to the present version, but may

differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the

Library as you received it specifies that a certain numbered version

of the GNU Lesser General Public License "or any later version"

applies to it, you have the option of following the terms and

conditions either of that published version or of any later version

published by the Free Software Foundation. If the Library as you

received it does not specify a version number of the GNU Lesser

General Public License, you may choose any version of the GNU Lesser

General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide

whether future versions of the GNU Lesser General Public License shall

apply, that proxy's public statement of acceptance of any version is

permanent authorization for you to choose that version for the

Library.

Edited by Nelien
Update to v0.2.4

Share this post


Link to post
Share on other sites

I had a test! It works really nicely even in this form, nodes are easy to create and move around. I only found one bug so far!

Bugs noted:

  • A tree created by the tool (loaded by techmanager) shows no link arrows. Thought this might be TechManager's fault, but when I load older trees with it, arrows show fine
  • You can't seem to expand the work area for the tree, which is a problem when you want to make the tree wider/taller.

UI/Features:

  • I like the single-letter for showing tech names, it's elegant, but there can be so many similar names that I might suggest the first two letters instead
  • Grid snapping feature would be great.
  • Direction of links is quite hard to determine.

Share this post


Link to post
Share on other sites
I had a test! It works really nicely even in this form, nodes are easy to create and move around. I only found one bug so far!

Thanks for testing so quickly! I'm surprised there weren't any more bugs than that, and no show stoppers at that.

  • A tree created by the tool (loaded by techmanager) shows no link arrows. Thought this might be TechManager's fault, but when I load older trees with it, arrows show fine
Any chance you can send me the .cfg file that got generated? I imagine it's not TechManager's fault but rather TED not generating the "PARENTS" entry as it should. I would need to investigate.
  • You can't seem to expand the work area for the tree, which is a problem when you want to make the tree wider/taller.

Well aware of this ;). Work area is very hard coded and I didn't try very hard to match it with the area we have in KSP. I will make sure to match it better for next update!

  • I like the single-letter for showing tech names, it's elegant, but there can be so many similar names that I might suggest the first two letters instead
Good point. They're just placeholder until I get some time to improve the UI and add actual Icons as intended. But you're right, could use 2 letters instead of one for now.
  • Grid snapping feature would be great.

It's on my to-do list!

  • Direction of links is quite hard to determine.

I agree, lines didn't have any direction "indicator" until just a few hours ago and I just added something quick to do. This will come together with general UI improvements further along the road. But I'll try to make it a little clearer for next update.

Share this post


Link to post
Share on other sites

Re: the icons, it might be a good idea to play to combine the icon with letters somehow. We only have a limited number of icons to work with and unless there's a good way to add more, any tree with new nodes will have to reuse. In that case, the letters are actually *less* confusing!

Here's the tree I made

Share this post


Link to post
Share on other sites
Re: the icons, it might be a good idea to play to combine the icon with letters somehow. We only have a limited number of icons to work with and unless there's a good way to add more, any tree with new nodes will have to reuse. In that case, the letters are actually *less* confusing!

Here's the tree I made

Thanks for posting your tree. I managed to narrow down the issue. It had to do with the "Z order" I had on nodes if unspecified which made nodes take the same layer as the background and therefore end up looking weird. I've fixed it and uploaded a new release.

EDIT: You can simply load and re-save the tree you sent me and you'll notice it should now work (hopefully).

TED - KSP Tech Tree Editor v0.2.1 Alpha 2

Download - Source - Readme

Changelog

v0.2.1

- Fix UI overlaying issue by forcing ZLayer of nodes to stay between -1 and -24

- Expanded workspace area slightly to accomodate larger trees (still not 1 on 1 with KSP though)

Edited by Nelien

Share this post


Link to post
Share on other sites

Hey Nelien,

I'm having this strange situation where the Tree Editor isn't loading up the parts for the nodes. Everything else works (and I've updated the .NET framework). Is there a log file or a place I should start looking to fix this?

Thanks!

Share this post


Link to post
Share on other sites
Hey Nelien,

I'm having this strange situation where the Tree Editor isn't loading up the parts for the nodes. Everything else works (and I've updated the .NET framework). Is there a log file or a place I should start looking to fix this?

Thanks!

Hi fried_rice, I'm afraid there's no log file at the moment. Can you tell me what kind of tree you were trying to load, or better yet, send me the tree file?

Also, when you start the app, make sure you select the right folder as your KSP root folder, it has to be the root "Kerbal Space Program" folder.

Share this post


Link to post
Share on other sites
Hey Nelien,

I'm having this strange situation where the Tree Editor isn't loading up the parts for the nodes. Everything else works (and I've updated the .NET framework). Is there a log file or a place I should start looking to fix this?

Thanks!

Experiencing the same thing. Shows only the techs and nothing else. Trying to edit a Treeloader tree.

https://www./?q2mo2spxlo3debk

Share this post


Link to post
Share on other sites
Experiencing the same thing. Shows only the techs and nothing else. Trying to edit a Treeloader tree.

https://www./?q2mo2spxlo3debk

Thanks for the file. I can't see anything obvious that could've gone wrong with it. I'll investigate when I get home from work.

Share this post


Link to post
Share on other sites

I haven't actually tried putting parts in new nodes yet so I can't confirm.

I can confirm that the last version does fix the arrows though.

Share this post


Link to post
Share on other sites

Well, I was an idiot, I had a hard-coded path being used for loading parts (the default KSP folder) even though I was asking for a different path when loading a tree... Silly me! Fixed the issue and parts should now load properly for anyone who didn't have their KSP folder in the default C:\Program Files... location! :)

TED - KSP Tech Tree Editor v0.2.2 Alpha 2

Download - Source - Readme

Changelog

v0.2.2

- Fix bug when loading parts from KSP folder

v0.2.1

- Fix UI overlaying issue by forcing ZLayer of nodes to stay between -1 and -24

- Expanded workspace area slightly to accomodate larger trees (still not 1 on 1 with KSP though)

Share this post


Link to post
Share on other sites
Sorry man, just tested this and still parts don't show. Thanks anyway. :(

Hmm.. If you don't mind, can you tell me where your KSP installation is? When loading a new tree, are you pointing the KSP path setting to the "Kerbal Space Program" folder (not GameData or anything like that)?

Thanks a lot for helping testing this btw :).

Share this post


Link to post
Share on other sites

I think I found another issue. I think TED needs another field in the node info for the techID field. It currently only has name, which is used to link tree components. It generates... odd values for techID (such as nanolathing over and over again). This breaks TreeManager. techID is also the name that's used for part assignment, I believe.

Also a tree starting with a TECHNOLOGY_TREE_DEFINITION node enclosing the entire tree (as TreeManager 1.2 supports) won't load.

Share this post


Link to post
Share on other sites
Hmm.. If you don't mind, can you tell me where your KSP installation is? When loading a new tree, are you pointing the KSP path setting to the "Kerbal Space Program" folder (not GameData or anything like that)?

Thanks a lot for helping testing this btw :).

No problem on helping as this would be great to have. There are some mods that I use that don't state the tech required and never show up in Career Mode.

The path to KSP that I have is: E:\Games\Valve\Steam\SteamApps\common\Kerbal Space Program and I do point it towards the KSP folder. Can you check if you mod is also looking in the GameData folder for parts? I had one mod that needed to go directly into the Parts folder, but they aren't show either.

Share this post


Link to post
Share on other sites

Sweet I knew this was in the works but didn't know it was usable.

I hope I find tons of bugs so I can help you make this better :)

Share this post


Link to post
Share on other sites

Haven't run into any bugs yet, but this is a great tool! It sounds like you've already got the features I was going to suggest (grid-snapping, clearer links, node pictures instead of letters) on your list of things to do, so I'll look forward to using this as it gets even better. When I have some free time I'll try and put together a full techtree as a test.

Share this post


Link to post
Share on other sites
Any news on what the problem is?

Sorry Furious, I've been incredibly busy the last couple of weeks and haven't had a chance to look at this. I'm hoping to get the chance to get back to it this weekend and will hopefully be able to get back working on polishing this up to a more stable release. :cool:

Share this post


Link to post
Share on other sites

Started Using this I will post any bugs I come Across.

If anyone wants to see my concept for the tech tree I am building: http://www.gliffy.com/go/publish/image/6478191/L.png

First Bug is one stated previously of no parts in the editor. I can make nodes but not add parts to them.

Also if I go into the config filed and manualy add the parts to the new they still will not load in the editor.

If I take the file and load it into the game even tho it says in the editor no parts are associated to the new nodes parts are still added.

My install location is: C:\Program Files (x86)\Steam\SteamApps\common\Kerbal Space Program

Edited by SheepDog2142

Share this post


Link to post
Share on other sites

You can add and remove parts from the nodes, it's just clunky and difficult to work with.

There are too boxes on the right hand side, one that lists what's in the node, and one that lists every part. You can click parts that are in the node and click remove to remove them. You can also click through the menus of the parts to add and add them.

However, there's no list of parts that are not assigned to any nodes, so unless you write it all out yourself beforehand and just use the program to make the tree you'll never be able to get it to work because there's no obvious way (that I've found) to make sure you're only adding parts that aren't in another node.

Ideally,the parts would show up in the main display and you'll be able to drag them from node to node.

Share this post


Link to post
Share on other sites
You can add and remove parts from the nodes, it's just clunky and difficult to work with.

There are too boxes on the right hand side, one that lists what's in the node, and one that lists every part. You can click parts that are in the node and click remove to remove them. You can also click through the menus of the parts to add and add them.

However, there's no list of parts that are not assigned to any nodes, so unless you write it all out yourself beforehand and just use the program to make the tree you'll never be able to get it to work because there's no obvious way (that I've found) to make sure you're only adding parts that aren't in another node.

Ideally,the parts would show up in the main display and you'll be able to drag them from node to node.

Not for me in thoes two boxes there is nothing at all there just blank.

Capture_zpsaaebedfb.png

Share this post


Link to post
Share on other sites
You can add and remove parts from the nodes, it's just clunky and difficult to work with.

There are too boxes on the right hand side, one that lists what's in the node, and one that lists every part. You can click parts that are in the node and click remove to remove them. You can also click through the menus of the parts to add and add them.

However, there's no list of parts that are not assigned to any nodes, so unless you write it all out yourself beforehand and just use the program to make the tree you'll never be able to get it to work because there's no obvious way (that I've found) to make sure you're only adding parts that aren't in another node.

Ideally,the parts would show up in the main display and you'll be able to drag them from node to node.

You're absolutely right 5thHorseman, parts is very clunky to work with and a crucial part of that is to only show parts that have not already been assigned to the tree in the lower section. I'll get to work on this immediately!

As for the parts showing in the main display, I'm not entirely sure I understand your idea. I like the thought of being able to drag and drop parts, but I would still need to have a section showing all currently unassigned parts (for brand new trees, etc) and a section showing the parts of the currently selected node, where would you suggest I put these two? For the dragging and dropping I would ideally like to have the parts show as icons like they do in KSP, but that's a whole other beast I'm not ready to tackle yet.

Not for me in thoes two boxes there is nothing at all there just blank.

http://i1050.photobucket.com/albums/s414/SheepDog2142/Capture_zpsaaebedfb.png

I'm hoping to have a simple error logging system in place soon so tracking down bugs will be easier :). For now, can I ask you to double check that you're pointing to the correct KSP folder when you start the tool (or click on New/Load). And can you make sure you're running the latest version? v0.2.2 fixed a bug with loading parts so that could be your issue too.

PS. That's one bad-ass tree you're planning!

Share this post


Link to post
Share on other sites
You're absolutely right 5thHorseman, parts is very clunky to work with and a crucial part of that is to only show parts that have not already been assigned to the tree in the lower section. I'll get to work on this immediately!

As for the parts showing in the main display, I'm not entirely sure I understand your idea. I like the thought of being able to drag and drop parts, but I would still need to have a section showing all currently unassigned parts (for brand new trees, etc) and a section showing the parts of the currently selected node, where would you suggest I put these two? For the dragging and dropping I would ideally like to have the parts show as icons like they do in KSP, but that's a whole other beast I'm not ready to tackle yet.

Here's what I was thinking. Pictures would be great but really not necessary. (Sorry about the quick and dirty mspaint pic)

techtree.png

The idea is you can drag each part (the names) to other nodes, AND drag the nodes themselves around.

You could have the same list you have now off to the right to drag "unassigned parts" from.

And in case I haven't said it yet, thanks for doing this. It'll really open up the tech tree to a lot of creative people who can't be arsed to spend days modifying config files. (like me!)

Share this post


Link to post
Share on other sites
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.