ev0

[1.7.x] Hide Empty Tech Tree Nodes (for modded tech trees) v1.1.1

Recommended Posts

Hello,
I just found and added this mod to my RP-0 install (because not having to research empty nodes sounds like a good idea), however, it seems it is not compatible with "Fog of Tech", as all nodes are now exposed again.

Share this post


Link to post
Share on other sites
42 minutes ago, Nobody6 said:

Hello,
I just found and added this mod to my RP-0 install (because not having to research empty nodes sounds like a good idea), however, it seems it is not compatible with "Fog of Tech", as all nodes are now exposed again.

Hello,

Really? I just tried an install with only my plugin, Fog of Tech, and of course Module Manager. It seems to work for me.

C9J1LKr.png

If it's still not working, the plugin might be getting an error somewhere else. Can you turn on "debug" in GameData/HideEmptyTechTreeNodes/overrides.cfg, and then send me the output_log.txt file in the KSP(_x64)_Data folder, along with a list of your mods?

Share this post


Link to post
Share on other sites

Hi

Im getting a nullref with this mod.

I get it when i enter the research building in career mode.

 

The Nullref:

Spoiler

ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.String,ConfigNode].Add (System.String key, .ConfigNode value) [0x00000] in <filename unknown>:0
  at HideEmptyTechTreeNodes.HideEmptyTechTreeNodes.changeTheParents () [0x00000] in <filename unknown>:0
  at HideEmptyTechTreeNodes.HideEmptyTechTreeNodes.onTechTreeSpawn (KSP.UI.Screens.RDTechTree rdTechTree) [0x00000] in <filename unknown>:0
  at EventData`1[KSP.UI.Screens.RDTechTree].Fire (KSP.UI.Screens.RDTechTree data) [0x00000] in <filename unknown>:0
  at KSP.UI.Screens.RDTechTree.SpawnTechTreeNodes () [0x00000] in <filename unknown>:0
  at CallbackUtil+<DelayedCallback>d__1.MoveNext () [0x00000] in <filename unknown>:0
 

 

My modlist copy/pasted from KSP-AVC:

Spoiler

KSP: 1.1.2 (Win64) - Unity: 5.2.4f1 - OS: Windows 10  (10.0.0) 64bit
Filter Extensions - 2.6
Toolbar - 1.7.12
USI Tools - 0.7.2.1
B9 Part Switch - 1.3
CactEye-2 - 2.7.2
Chatterer - 0.9.8.1230
Color Coded Canisters - 1.4.8
Community Resource Pack - 0.5.2
Contract Configurator - 1.12
CC-CP-SCANSat - 0.6.0.1
Contract Pack: RemoteTech - 2.0.2
CryoEngines - 0.3.2
DMagic Orbital Science - 1.3
CapCom Mission Control On The Go - 1.0.2.2
Contract Parser - 1.0.3
Contracts Window Plus - 1.0.6.3
Progress Parser - 1.0.4
Firespitter - 7.2.4
Fuel Tanks Plus - 1.9.3
Impact - 1.4.2
Interstellar Fuel Switch - 2.0.7
RasterPropMonitor - 0.26
Kerbal Attachment System - 0.5.7
Kerbal Engineer Redux - 1.1.1
Kerbal Joint Reinforcement - 3.1.7
Stork - 0.2.3
Kerbal Inventory System - 1.2.10
KSP-AVC Plugin - 1.1.6.1
KWRocketryRedux - 3.0.10
Infernal Robots - 2.0.4
MarkIVSystem - 0.2.1
Modular Rocket Systems - 1.12.7
NavHud - 1.3
Docking Port Alignment Indicator - 6.4
NearFutureConstruction - 0.6.3
NearFutureElectrical - 0.7.4
NearFuturePropulsion - 0.7.2
NearFutureSolar - 0.6.1
NearFutureSpacecraft - 0.5
Outer Planets Mod - 2.0
Kerbal Planetary Base Systems - 1.0.10
PoodsOPMVO - 0.2
RCS Build Aid - 0.7.7
RealChute - 1.4.1.1
RealPlume - Stock - 0.10.7
RemoteTech - 1.7
SCANsat - 1.1.6.1
ShipManifest - 5.1
Sigma Binary - 1.5.2
Spacetux - 0.3.10.1
SpaceY Expanded - 1.1.9
SpaceY Lifters - 1.12.7
StationPartsExpansion - 0.3.4
Surface Mounted Stock-Alike Lights for Self-Illumination - 1.2.4
TAC Fuel Balancer - 2.6
TarsierSpaceTechnology - 6.2
Kerbal Alarm Clock - 3.6.3
Transfer Window Planner - 1.5.1
TweakScale - 2.2.12
USI Core - 0.2.3
Asteroid Recycling Tech - 0.8.3
USI Exploration Pack - 0.5.3
Freight Transport Tech - 0.5.3
Karibou - 0.2.3
Kolonization Core - 0.2.3.1
USI-LS - 0.4.3.1
USI Core - 0.1.1
Sounding Rockets - 0.4.3
USI Survivability Pack - 0.5.3
UKS - 0.40.3
KSP Interstellar Extended - 1.8.22
Waypoint Manager - 2.5.2
Wider Contracts App - 1.3.3
WildBlueTools - 1.2.5
Mark One Laboratory Extensions - 0.6.1.1

 

Share this post


Link to post
Share on other sites
16 hours ago, Nordby9 said:

Hi

Im getting a nullref with this mod.

I get it when i enter the research building in career mode.

 

The Nullref:

  Reveal hidden contents

ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.String,ConfigNode].Add (System.String key, .ConfigNode value) [0x00000] in <filename unknown>:0
  at HideEmptyTechTreeNodes.HideEmptyTechTreeNodes.changeTheParents () [0x00000] in <filename unknown>:0
  at HideEmptyTechTreeNodes.HideEmptyTechTreeNodes.onTechTreeSpawn (KSP.UI.Screens.RDTechTree rdTechTree) [0x00000] in <filename unknown>:0
  at EventData`1[KSP.UI.Screens.RDTechTree].Fire (KSP.UI.Screens.RDTechTree data) [0x00000] in <filename unknown>:0
  at KSP.UI.Screens.RDTechTree.SpawnTechTreeNodes () [0x00000] in <filename unknown>:0
  at CallbackUtil+<DelayedCallback>d__1.MoveNext () [0x00000] in <filename unknown>:0
 

 

My modlist copy/pasted from KSP-AVC:

  Reveal hidden contents

KSP: 1.1.2 (Win64) - Unity: 5.2.4f1 - OS: Windows 10  (10.0.0) 64bit
Filter Extensions - 2.6
Toolbar - 1.7.12
USI Tools - 0.7.2.1
B9 Part Switch - 1.3
CactEye-2 - 2.7.2
Chatterer - 0.9.8.1230
Color Coded Canisters - 1.4.8
Community Resource Pack - 0.5.2
Contract Configurator - 1.12
CC-CP-SCANSat - 0.6.0.1
Contract Pack: RemoteTech - 2.0.2
CryoEngines - 0.3.2
DMagic Orbital Science - 1.3
CapCom Mission Control On The Go - 1.0.2.2
Contract Parser - 1.0.3
Contracts Window Plus - 1.0.6.3
Progress Parser - 1.0.4
Firespitter - 7.2.4
Fuel Tanks Plus - 1.9.3
Impact - 1.4.2
Interstellar Fuel Switch - 2.0.7
RasterPropMonitor - 0.26
Kerbal Attachment System - 0.5.7
Kerbal Engineer Redux - 1.1.1
Kerbal Joint Reinforcement - 3.1.7
Stork - 0.2.3
Kerbal Inventory System - 1.2.10
KSP-AVC Plugin - 1.1.6.1
KWRocketryRedux - 3.0.10
Infernal Robots - 2.0.4
MarkIVSystem - 0.2.1
Modular Rocket Systems - 1.12.7
NavHud - 1.3
Docking Port Alignment Indicator - 6.4
NearFutureConstruction - 0.6.3
NearFutureElectrical - 0.7.4
NearFuturePropulsion - 0.7.2
NearFutureSolar - 0.6.1
NearFutureSpacecraft - 0.5
Outer Planets Mod - 2.0
Kerbal Planetary Base Systems - 1.0.10
PoodsOPMVO - 0.2
RCS Build Aid - 0.7.7
RealChute - 1.4.1.1
RealPlume - Stock - 0.10.7
RemoteTech - 1.7
SCANsat - 1.1.6.1
ShipManifest - 5.1
Sigma Binary - 1.5.2
Spacetux - 0.3.10.1
SpaceY Expanded - 1.1.9
SpaceY Lifters - 1.12.7
StationPartsExpansion - 0.3.4
Surface Mounted Stock-Alike Lights for Self-Illumination - 1.2.4
TAC Fuel Balancer - 2.6
TarsierSpaceTechnology - 6.2
Kerbal Alarm Clock - 3.6.3
Transfer Window Planner - 1.5.1
TweakScale - 2.2.12
USI Core - 0.2.3
Asteroid Recycling Tech - 0.8.3
USI Exploration Pack - 0.5.3
Freight Transport Tech - 0.5.3
Karibou - 0.2.3
Kolonization Core - 0.2.3.1
USI-LS - 0.4.3.1
USI Core - 0.1.1
Sounding Rockets - 0.4.3
USI Survivability Pack - 0.5.3
UKS - 0.40.3
KSP Interstellar Extended - 1.8.22
Waypoint Manager - 2.5.2
Wider Contracts App - 1.3.3
WildBlueTools - 1.2.5
Mark One Laboratory Extensions - 0.6.1.1

 

Thanks. I've gotten a bit busy recently, hopefully I'll be able to take a look at it soon enough.:wink: Got a week long work trip coming up next week though...

Share this post


Link to post
Share on other sites

Ey, you might still be out on your trip, but I'll bring this to your attention:

1F1F820D33CCC819A8AFCC15FA126043150D751A

The Orbital Assembly node, which I think is from one of the NearFuture mods, and the Ultra High Energy Physics node from the USI Alcubierre Drive mod depend on hidden Community Tech Tree nodes with no parts in them, and their dependencies haven't been re-sorted.

Unlocking the Orbital Assembly parts will not be very important for what I want to do, and the warp drive is more of a victory trophy anyway.

I'm not sure if your mod includes a way to fix this, but I do know it doesn't CAUSE the issue, since this was already present when I didn't have a complete install of Community Tech Tree before.

Also, I think this is a problem with CTT or NearFuture, but the Advanced Nuclear Propulsion and Very Heavy Rocketry nodes overlap. They're still usable, though.

Share this post


Link to post
Share on other sites
On 6/13/2016 at 3:26 PM, Brixmon said:

...

Sorry, I got back from my work trip late last week, but now I've got a Master's thesis to work on due next month:wink:

It wasn't too clear from your post, but you have my Hide Empty Tech Tree Nodes plugin installed, yes? And the problem is that there are the two "hanging" nodes without parents?

If you're using this plugin, it's very possible that it got held up somewhere and didn't finish connecting the nodes to each other. This mod works as follows:

  1. Hide empty nodes. This is done just using Module Manager in a .cfg file.
  2. Connect unhidden nodes to other unhidden nodes, via a .dll plugin.

So part one finished, but the .dll didn't run correctly (it has bad error checking:blush:).

But if you're just using the CTT and a few other mods like NearFuture, then it should have worked just fine...

BUT, if you're not using this plugin, how did you hide the empty nodes to begin with?

On 6/13/2016 at 3:26 PM, Brixmon said:

Also, I think this is a problem with CTT or NearFuture, but the Advanced Nuclear Propulsion and Very Heavy Rocketry nodes overlap. They're still usable, though.

Probably with the CTT or a different mod. My plugin doesn't change the location of any nodes (yet). How does the CTT look when it's the only mod you have installed? There should be no overlapping nodes (however a couple of the lines connecting the nodes do overlap).

Share this post


Link to post
Share on other sites
3 hours ago, ev0 said:

...

Yeah, it's installed.

I'll check how CTT looks when installed alone later.

Share this post


Link to post
Share on other sites

Current version seems to work with KSP v1.1.3. Did a quick SpaceDock/CKAN update to reflect that.

Share this post


Link to post
Share on other sites

Has anyone tried this on 1.1.2?  That's where my main game is, and all the empty nodes are driving me nuts.

[EDIT]  Trying it now.  Seems to be working.  One broken link, but downstream nodes are still connected by another link, so no harm done.  See pic.

screenshot6.png

Edited by SilverlightPony

Share this post


Link to post
Share on other sites
17 minutes ago, SilverlightPony said:

Has anyone tried this on 1.1.2?  That's where my main game is, and all the empty nodes are driving me nuts.

[EDIT]  Trying it now.  Seems to be working.  One broken link, but downstream nodes are still connected by another link, so no harm done.  See pic.

<image>

The X in 1.1.X means it should work in any version of KSP 1.1. So it shouldn't have any broken links... I'll check the code within the next couple days when I have a bit of time.:wink:

Side note: This mod isn't listed in CKAN anymore if you're using KSP 1.1.2. I didn't know. That's a shame. SpaceDock gave me the option to tell it that the current version of this mod works for 1.1.3, without having to upload it again. I guess when I did that, it overwrote the KSP version compatibility. I wonder if that's a SpaceDock meta data problem, or a CKAN problem not taking advantage of the meta data. I'll find out and see if I can get it back on CKAN for KSP 1.1.2, too.

Share this post


Link to post
Share on other sites
1 minute ago, ev0 said:

The X in 1.1.X means it should work in any version of KSP 1.1. So it shouldn't have any broken links... I'll check the code within the next couple days when I have a bit of time.:wink:

Side note: This mod isn't listed in CKAN anymore if you're using KSP 1.1.2. I didn't know. That's a shame. SpaceDock gave me the option to tell it that the current version of this mod works for 1.1.3, without having to upload it again. I guess when I did that, it overwrote the KSP version compatibility. I wonder if that's a SpaceDock meta data problem, or a CKAN problem not taking advantage of the meta data. I'll find out and see if I can get it back on CKAN for KSP 1.1.2, too.

Based on my understanding of CKAN, it's a metadata thing.  Plenty of other mods have a range of compatible KSP versions.  That said, it's entirely possible (from what little I know about the ins & outs of SpaceDock) that setting a compatibility range in the metadata is only possible when uploading a new version, and not when changing it on an existing file.

Share this post


Link to post
Share on other sites
6 minutes ago, SilverlightPony said:

Based on my understanding of CKAN, it's a metadata thing.  Plenty of other mods have a range of compatible KSP versions.  That said, it's entirely possible (from what little I know about the ins & outs of SpaceDock) that setting a compatibility range in the metadata is only possible when uploading a new version, and not when changing it on an existing file.

I just kind of assumed that SpaceDock/CKAN would keep track of min/max versions automatically when SpaceDock asks if my plugin is still compatible with the new KSP version and I say "yes".

I asked about it on the CKAN forum page. Hopefully there's an automated fix. If not, I'll do a manual fix to get it back on CKAN for 1.1.2 when I fix your broken line problem.

Edited by ev0

Share this post


Link to post
Share on other sites

Oddly, installing this mod seems to have made my game much more laggy and crashy (in the VAB at least; haven't done anything else since installing it).  :/

Share this post


Link to post
Share on other sites
On 10/17/2016 at 4:06 AM, Jebs_SY said:

@ev0

Thx for this mod! From your activity here in the board I hope/assume a 1.2 version is a WIP? :)

Yep, it's still a WIP. Taking a little longer to fix than I expected, but I should be finished soon-ish.:wink:

Share this post


Link to post
Share on other sites

Okay, I think I got it working. I cleaned up the code a bit too so it'll be easier to update next time. Get it at SpaceDock or wait for CKAN's automated upload!

Let me know if there are any weird looking tech lines. I'll test it again when the new CTT update comes out. I'm also up for making the mod work for the ETT, so if you see any wrong tech lines there, take a picture and let me know!:wink:

Share this post


Link to post
Share on other sites

@ev0  Question, does this mod take into account the new Stock upgrade placeholders?

Edited by FreeThinker

Share this post


Link to post
Share on other sites
56 minutes ago, FreeThinker said:

@ev0  Question, does this mod take into account the new Stock upgrade placeholders?

Hmm good question. This is the first time I'm hearing about a stock upgrade system (I haven't started playing yet). Where can I learn about it?

To put it as simply as possible, this mod just removes and adds Parent nodes where needed in the tech tree. Might this affect the upgrade system?

Edit: Just in case, I should mention it does the removing/adding each time you enter the RnD center.

Edited by ev0

Share this post


Link to post
Share on other sites
1 hour ago, ev0 said:

Hmm good question. This is the first time I'm hearing about a stock upgrade system (I haven't started playing yet). Where can I learn about it?

 

Share this post


Link to post
Share on other sites

@ev0 I did a quick test with the latest version and unfortunately it appears to ignore stock upgrade placeholders in determining if a technode is shown. :(

 

Share this post


Link to post
Share on other sites
33 minutes ago, FreeThinker said:

@ev0 I did a quick test with the latest version and unfortunately it appears to ignore stock upgrade placeholders in determining if a technode is shown. :(

 

I'll take a look this weekend. Are some upgrade placeholders "part-less" nodes, temporarily or otherwise? I haven't seen how they work yet.

Share this post


Link to post
Share on other sites

I do not understand how you mod work, but I can imagine its very easy to scan for the upgrade  definitions and use it to make tech nodes visible

here is a small example:

PARTUPGRADE
{
	name = ThermalEnergyConverterUpgradeA
	partIcon = SmallFNGeneratorMk1
	techRequired = specializedElectrics
	entryCost = 0
	cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
	
	title = THermal Energy Generator Upgrade
	//basicInfo = Whatever\nblah
	manufacturer = Jebediah Kerman's Junkyard and Spacecraft Parts Co
	description = When reseached will improve maximum efficiency thermal electric engine
}

So, just search for PARTUPGRADE and add the techRequired to your list of nodes that need to remain visible

Edited by FreeThinker

Share this post


Link to post
Share on other sites
37 minutes ago, FreeThinker said:

I do understand how you mod work, but I can imagine its very easy to scan for the upgrade  definitions and use it to make tech nodes visible

here is a small example:


PARTUPGRADE
{
	name = ThermalEnergyConverterUpgradeA
	partIcon = SmallFNGeneratorMk1
	techRequired = specializedElectrics
	entryCost = 0
	cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
	
	title = THermal Energy Generator Upgrade
	//basicInfo = Whatever\nblah
	manufacturer = Jebediah Kerman's Junkyard and Spacecraft Parts Co
	description = When reseached will improve maximum efficiency thermal electric engine
}

So, just search for PARTUPGRADE and add the techRequired to your list of nodes that need to remain visible

Aha, that's the info I needed. Thanks! But instead of keeping the "techRequired" node visible, if it has no parts in it then I'll probably switch it to a different node that does have parts.

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.