Jump to content

[1.4.1] Kerbal Construction Time 1.4.0.69 (2018-03-24) - Unrapid Planned Assembly


magico13

Recommended Posts

The upgrades themselves are quite straightforward, but where do the points come from? I *think* I get most of my points from scheduling science (have science points on hand, go into R&D to spend them, find that I have KCT points to spend on upgrades). But sometimes points appear just out of the blue.

I'm also getting extra upgrade points, and I think I've figured out when it happens. Note that I'm playing with a config (my own) that includes a "sign( [R] - )" term in the NodeFormula, resulting in only one tech being researched at a time with the level 0 R&D facility. That is relevant, because the extra point seem to get added when a subsequent tech makes it to the top of the queue and starts researching, even though I already got a point when I selected it to research in the beginning.

Reproduction steps:

1. Start new game with a bunch of science

2. Select preset with "sign( [R] - )" in the NodeFormula (or, probably just "sign(-)" is sufficient)

3. spend all points

4. Select multiple techs to research in R&D

5. Switch scenes to tracking and back to space center to get the tech research to update (this has been mentioned before, and I believe magico is looking at making it update more often)

6. Wait for first tech to finish

Still no extra points at this point

7. Switch scenes to tracking station and back to get the next tech to start researching

A wild upgrade point appears!

Also, the extra points seem to go away when you load a game, or maybe just when you restart KSP, resulting in (one potential source of) negative points.

logfile in which I played my normal save, then started a new game to test my theory out.

EDIT: Mostly this is no big deal, it just gives you a couple of extra points to play with temporarily. It does get confusing when you notice your points going up and down though.

Link to comment
Share on other sites

I wasn't aware the tech research rates were that messed up. I just thought you meant they didn't update when you saved the Preset. If they're bad enough that you have to switch scenes after a tech is finished, then that's pretty serious and I need to fix that.

I'm gonna list all the sources of upgrades (that I can think of at the moment) and maybe we can pinpoint why the upgrades fluctuate so much. I'm going to assume the default config

1. Starting upgrades. That's 15 in Career mode.

2. The Tech Tree (likely the source of most issues). 1 per node that is unlocked (note: researching does not equal unlocked)

3. One per item in the Tech List.

4. Temporary upgrades from researching tech. You get one upgrade after a tech finishes research that is lost on scene change.

5. Purchasing upgrades with science

6. Purchasing upgrades with funds

7. Getting upgrades from clearing out the part inventory

The issues are probably with 2, 3, and 4. The way I get the number of unlocked nodes in the tech tree is with:

total += ResearchAndDevelopment.Instance.snapshot.GetData().GetNodes("Tech").Length;

which is a really stupid way of doing it but the actual Tech nodes are in a private variable and I have zero way of asking KSP for a list of unlocked tech nodes as a result. This sometimes returns zero for some reason I haven't figured out.

3 and 4 are related to each other (and to 2). Since researching a tech node doesn't count as it being complete, the above method of getting the unlocked tech nodes won't count any in-progress nodes. 3 and 4 work together to count those. 3 is pretty straightforward, 1 upgrade for every item in the Tech list (which doesn't include building upgrades, btw). 4 is the odd ball that accounts for the time after a tech node finishes and is removed from the Tech List (lowering the number of upgrades by one) and when the game is saved and the R&D instance updates (increasing the number of upgrades by one). With 4, you get an upgrade in a temporary variable that resets to zero on scene change.

Maybe the temporary upgrades didn't reset to 0 like they were supposed to? I'm afraid they might only reset if you switch to the Main Menu. That could definitely be at fault. It doesn't account for the huge negatives in upgrades that people are seeing sometimes (issues reading the tech tree I think), but might account for the smaller amounts that I think I've seen reported. I'll get that fixed and in the dev builds tonight.

Link to comment
Share on other sites

To change this, just open up the Settings/Preset window, click the Show/Hide Formulas button, then replace the contents of the first formula listed with the following:


2^([N]+1) / 86400 * sign(-[I])

IT WORKS! Thanks so much! :)

SvWnOjZ.png

Link to comment
Share on other sites

IT WORKS! Thanks so much! :)

There's apparently a few bugs with the rates not being recalculated when they should be, so just be aware of that. I'm going to see what I can do about that tonight/tomorrow. Just don't be too surprised if after the first tech finishes none of the others start up afterward (without a scene change, at least). But I'm glad it's working! I didn't get a chance to test that much before release, so thankfully it is at least mostly functional ;)

Link to comment
Share on other sites

Maybe the temporary upgrades didn't reset to 0 like they were supposed to? I'm afraid they might only reset if you switch to the Main Menu. That could definitely be at fault. It doesn't account for the huge negatives in upgrades that people are seeing sometimes (issues reading the tech tree I think), but might account for the smaller amounts that I think I've seen reported. I'll get that fixed and in the dev builds tonight.

Thanks for your work. It does sound like the temporary upgrades aren't resetting, or something like that.

You're doing great work with this. Applause!

Link to comment
Share on other sites

Is there a chance you could disable "Revert to editor" and "Revert to launch" by default so you don't have to do so every time you load up kerbal? It would make streaming a lot more smooth as I wouldn't have to open ALT-F12 while on stream each time.

Oh and if you want to watch my stream, I just finished today's stream where I started up my UHC career save (Ultra-HardCore, an old minecraft/survival game phrase). I'll pop a link up here in a sec :P

EDIT: Another cool thing that I'm not sure you'd be able to do is disable clicking on the launchpad and runway. You put up a window that says you cannot launch from there but things still happen when you click on it. There is a setting in every save persistence that's called " CanLaunchAtPad/CanLaunchAtRunway" but you can still click on the launchpad/runway. It would just streamline things even more. That's all :)

Edited by Avera9eJoe
Link to comment
Share on other sites

Is there a chance you could disable "Revert to editor" and "Revert to launch" by default so you don't have to do so every time you load up kerbal? It would make streaming a lot more smooth as I wouldn't have to open ALT-F12 while on stream each time.

EDIT: Another cool thing that I'm not sure you'd be able to do is disable clicking on the launchpad and runway. You put up a window that says you cannot launch from there but things still happen when you click on it. There is a setting in every save persistence that's called " CanLaunchAtPad/CanLaunchAtRunway" but you can still click on the launchpad/runway. It would just streamline things even more. That's all :)

Options are great but please don't make those default. :)

Link to comment
Share on other sites

Is there a chance you could disable "Revert to editor" and "Revert to launch" by default so you don't have to do so every time you load up kerbal? It would make streaming a lot more smooth as I wouldn't have to open ALT-F12 while on stream each time.

Oh and if you want to watch my stream, I just finished today's stream where I started up my UHC career save (Ultra-HardCore, an old minecraft/survival game phrase). I'll pop a link up here in a sec :P

EDIT: Another cool thing that I'm not sure you'd be able to do is disable clicking on the launchpad and runway. You put up a window that says you cannot launch from there but things still happen when you click on it. There is a setting in every save persistence that's called " CanLaunchAtPad/CanLaunchAtRunway" but you can still click on the launchpad/runway. It would just streamline things even more. That's all :)

Those features are configurable for each file on start. There shouldn't be any reason for you to go into the cheat menu, and even if you forgot to change it when starting the file, just go to the persistence file and change it there. :)

Link to comment
Share on other sites

Those features are configurable for each file on start. There shouldn't be any reason for you to go into the cheat menu, and even if you forgot to change it when starting the file, just go to the persistence file and change it there. :)

Indeed they are xD oops... :blush:

Although my comment on clicking the runway and launchpad still stands true. It would be cool if clicking on them entirely was disabled for presets that had that so.

Here's that stream I was talking about.

Edited by Avera9eJoe
Link to comment
Share on other sites

Although my comment on clicking the runway and launchpad still stands true. It would be cool if clicking on them entirely was disabled for presets that had that so.

Believe me, if I knew how to get those stupid GUIs to not pop up I would have implemented that over a year ago ;) Enneract mentioned he had a way of making that GUI go away, but I haven't heard from him in a while. I'll see if there's anything more I can find, but I spend a pretty good amount of time trying to find tricks to override standard KSP behavior.

I recently dove into trying to find out how to override the "upgrade" button on KSC buildings. Guess what. You have to rewrite the entire dialog, including the process of switching scenes into the building. It's stupid :P See my rant above about trying to access the tech tree data. It's hidden inside a private variable and there's no way to do it except to access it through the save data.

Add on to that the fact that nothing is documented and there are few to no tutorials for modding, and it makes it difficult to do what seems like it should be simple. Sorry about the rant, just letting you know that I would love to make it so you can't click on the launchpad/runway, but a popup message is all I have figured out how to do so far regarding that. I'll let you know if I figure out more :confused:

Edit: Fine, you made me look harder. Turns out the VesselSpawnDialog is that window and it has a singular instance that can be edited fairly easily. The buttons can be overridden, but more importantly I can trigger the buttons by sending it a fake mouse press. Now when the dialog opens, it'll close again right away and will still warn you to launch through the KCT menus.

The good news is that I might be able to override a decent amount of stuff in that window, so I might be able to repurpose it for my own nefarious deeds, muahahaha! :wink:

Edit2: So that means the latest dev build (#145 here) will do that, and should also fix the issues with tech upgrade rates and the extra upgrade points mentioned by Wercho. If some people would head over to the dev thread, test things out, and then report back that would be awesome, cause I'd like to update tomorrow.

Edited by magico13
Link to comment
Share on other sites

Believe me, if I knew how to get those stupid GUIs to not pop up I would have implemented that over a year ago ;)

LOL I thought that was the case. I'm actually laughing right now for some reason xD

Edit: Fine, you made me look harder. Turns out the VesselSpawnDialog is that window and it has a singular instance that can be edited fairly easily. The buttons can be overridden, but more importantly I can trigger the buttons by sending it a fake mouse press. Now when the dialog opens, it'll close again right away and will still warn you to launch through the KCT menus.

The good news is that I might be able to override a decent amount of stuff in that window, so I might be able to repurpose it for my own nefarious deeds, muahahaha! :wink:

Oh! That's just as good! I was about to suggest you could make a popup window that just covers the entire window so it just looks like a gigantic custom window. Hiding it instantly is even better though as it doesn't mean you have to click the top corner button and manually close the default window.

Edit2: So that means the latest dev build (#145 here) will do that, and should also fix the issues with tech upgrade rates and the extra upgrade points mentioned by Wercho. If some people would head over to the dev thread, test things out, and then report back that would be awesome, cause I'd like to update tomorrow.

A new release possibly tomorrow?! OMG! I'll start up a second stream with that dev build in about 21 minutes from when I post this (Starting 7:30 PST), feel free to stop by and ask me to test certain things if you want.

EDIT: This should make it easier to find lol: Twitch - Avera9eJoe

Edited by Avera9eJoe
Link to comment
Share on other sites

The next release won't be any super special. Mostly bug fixes and such. I think I got most of my priority items out of the way, and even added a few cosmetic things.

Looks like I'll have to pop into that stream later. Why all the streamers I like decide to be in Pacific time, I'll never know, but thankfully I'm only 2 hours ahead and not 3 anymore (it'll be back to 3 next year).

Edit: KCT's birthday is in a little over a week (the 29th). I should do a stream that day! (note: that's 1 year since the full release. The first release had it's anniversary on February 11th)

Everyone, make suggestions for what I should stream (a particular mission, a terrible rendition of a song, writing code, etc)

Edited by magico13
Link to comment
Share on other sites

Everyone, make suggestions for what I should stream (a particular mission, a terrible rendition of a song, writing code, etc)

Everything. Even if it's writing code just leave on OBS and play music. And look at chat every 5 or so minutes xD

I am now live btw. It took me a bit to get everything set up :P

Link to comment
Share on other sites

Everything. Even if it's writing code just leave on OBS and play music. And look at chat every 5 or so minutes xD

I've always got chat open and overlayed onto the video when I stream ;) I only ever have a few viewers, so I generally am pretty active with chat. Haven't streamed anything in quite a while though

Link to comment
Share on other sites

I've always got chat open and overlayed onto the video when I stream ;) I only ever have a few viewers, so I generally am pretty active with chat. Haven't streamed anything in quite a while though

It was awesome having you there for my stream though! I'm glad I was able to be of service and I hope my little tid-bits of information are useful. Best of luck on your next release! I don't expect any of the things I mentioned or you brought up are going to be in the next update (if any of them are even added) but I greatly look forwards to all that you have in store. ;)

Here are the textures I said I was going to get but forgot to in stream: KCT-SR icons.zip (Dropbox)

Like I mentioned before, use them or not. I made them for myself based off of stock emblems in an attempt to make the toolbar match more and I'm happy with the results myself. :)

Edited by Avera9eJoe
Link to comment
Share on other sites

EditorTime now exists! It's super straightforward and just makes time pass while you're in the editor (at a configurable rate of game time : real time). It doesn't support Kerbal Alarm Clock yet, so you should be wary of jumping into the editor if you've got an alarm coming up soon.

I haven't actually tested it with KCT yet, sorry. KCT might need a change for it to work, since KCT relies on the Planetarium time but this modifies the time in the FlightState (modifying the Planetarium time wasn't being kept). KCT might see any elapsed time as all occurring at once, and if it's too large then KCT will ignore that jump.

You are amazing. :)

Link to comment
Share on other sites

Not sure if someone's already done one, and I'm no artist, but I tried my hand at a logo. The hands look a bit out of place but I think it looks pretty good. Thoughts?

tYfwAfi.png

The original icon for comparison:

GWDHpvz.png

Again, I'm no artist and I'm sure that anyone with even the slightest bit of skill could pull this off twice as good as me, but I guess I can say I tried :sticktongue:.

Edited by ThatOneBritishGuy...
Link to comment
Share on other sites

Do you guys never have a ship on the runway/launchpad after launching through the normal KCT window that you want to get back to? I usually click the runway/ launchpad as it gives an option to go back to a vessel. Will that still be possible? I don't have the little popup showing a vessel that you can click to take control anymore, so thats my method without having to do a scene change.

Link to comment
Share on other sites

Not sure if someone's already done one, and I'm no artist, but I tried my hand at a logo. The hands look a bit out of place but I think it looks pretty good. Thoughts?

Again, I'm no artist and I'm sure that anyone with even the slightest bit of skill could pull this off twice as good as me, but I guess I can say I tried :sticktongue:.

Thanks for this! Way, waaay better than anything I could ever pull off. And other than a possible nitpick or two I'm quite impressed! Supposedly a friend of my fiance's is working on/has already finished a logo (but I haven't really heard or seen anything about that lately), so if she doesn't get back to me within a few weeks/no one else offers to make a logo in that time, do you mind if I "hire" you to make the logo?

And by hire I mean some sort of compensation (monetary or otherwise) in exchange for your time+skills.

Do you guys never have a ship on the runway/launchpad after launching through the normal KCT window that you want to get back to? I usually click the runway/ launchpad as it gives an option to go back to a vessel. Will that still be possible? I don't have the little popup showing a vessel that you can click to take control anymore, so thats my method without having to do a scene change.

I haven't tested, but that might still be possible. If the "recover or switch to craft on the pad" dialog comes up before the big window that lets you select and launch a craft, then it'll still present you with that option and will only close the window when you click "recover". If that dialog box comes up after you press the launch button then there's trouble.

Link to comment
Share on other sites

Thanks for this! Way, waaay better than anything I could ever pull off. And other than a possible nitpick or two I'm quite impressed! Supposedly a friend of my fiance's is working on/has already finished a logo (but I haven't really heard or seen anything about that lately), so if she doesn't get back to me within a few weeks/no one else offers to make a logo in that time, do you mind if I "hire" you to make the logo?

And by hire I mean some sort of compensation (monetary or otherwise) in exchange for your time+skills.

I couldn't accept compensation man. You've already compensated me a thousand times over with all the hard work you put into making your mods. Think of it as me giving back to you :D. And PM me with anything you'd like changed :wink:.

Edited by ThatOneBritishGuy...
Link to comment
Share on other sites

Alright, any last minute things anyone wants thrown in before the next release?

E: Avera9eJoe, I added your requested "click on runway -> SPH tab in Build List opens / click launchpad -> VAB tab opens" but not anything else mentioned in the stream, yet.

If no one says anything before I get back from eating dinner + possibly watching some TV/a movie, then I'm gonna probably push 1.2.1 since I'm pretty sure things are as stable, if not more stable, than the 1.2 release.

E2:

KCT version 1.2.1 released!

Mostly bug fixes and the occasional aesthetic change. Read the changelog below to see what's been altered. Hopefully this fixes/reduces the likelihood of negative upgrades appearing.

I mentioned this before, but KCT's birthday is next week (August 29th) and I want to do something special for it. I'm thinking I'll try to develop a feature on a live stream but need to know which one you guys want: simulations landed on other planets, or multiple launchpads (ie, rolling out two vessels at once).

Please vote through this Straw Poll.

Changes:

v1.2.1.0 (8/21/15)

- Some tweaks to the UpFree Preset so that VAB upgrades affect the build rates and tech nodes research quicker

- Re-added automatic update checking for development builds (only)

- When pressing the launch button in the editor, the launch/sim window now appears at the mouse as a "drop-down"-like menu. To switch back, change WindowMode to 0 in the KCT_Config.txt file.

- Some potential fixes for the weird fluctuations people are seeing in Upgrade totals

- The vessel launch dialog no longer opens when clicking the runway/launchpad, but now the Build List will open to the appropriate tab automatically

- Added support for my EditorTime modlet

Edited by magico13
Link to comment
Share on other sites

Hi Magico, I really love the option to recover vessel for refueling, but unfortunately "Fill Tanks" button doesn't work on parts with switchable resources (e.g. InterstellarFuelSwitch, FStextureSwitch2, TankContentSwitcher from ProceduralParts).

I could fill them manually, but the production time rockets up in the process. Do you think you'll be able to add support for the popular fuel switching modules?

Edited by Enceos
Link to comment
Share on other sites

Thumbs up on EditorTime!

Say, would it be possible to be less .... about timewarp? I'm under the impression that the gradual slowdown towards the last few minutes takes longer (real time) than the weeks and months before. Construction times are no maneuver nodes, timing is not so essential that one has to get it 100% right.

So what I'm proposing would be a "minimum time warp" setting. If KCT would remain at 1000x until the deadline expired, then came to a full stop, it would overshoot by a few minutes at worst. Probably not everyone would like this, so it would need to be optional... but as far as I'm concerned, I don't think I'd ever miss out on anything, and I expect that I will spend considerably less of my time watching a timer expire.

Link to comment
Share on other sites

Hi Magico,

I have a whole bunch of mods installed and it seems KCT is having trouble because of this. I keep getting the old "KCT error, please etc etc" upon retrieving craft once every 3 or 4 times and it's making the game feel like windows64 bit, having to restart the game every time. Would you be so kind as to have a quick look at my output log? I'd really like to find out which mod(s) and eliminate them if possible but i don't understand what i'm looking at in the log file. https://www.dropbox.com/s/y5zoveu3sc0s39m/Player.log?dl=0

Hope it's not too much trouble

Link to comment
Share on other sites

I could fill them manually, but the production time rockets up in the process. Do you think you'll be able to add support for the popular fuel switching modules?

The "Fill Tanks" button just replaces the fuel values with what they would be in a new part, so I can see how that might get messed up for procedural parts and other similar modules. I've opened up a github issue for it. I don't think it would be too difficult to add.

Say, would it be possible to be less .... about timewarp? I'm under the impression that the gradual slowdown towards the last few minutes takes longer (real time) than the weeks and months before. Construction times are no maneuver nodes, timing is not so essential that one has to get it 100% right.

That code is pretty old now, so I can probably go back through and tighten it up. I'm pretty sure I can make the slow down take way less time, but I still want to keep it gradual rather than overshooting. But I can make that take the absolute minimal amount of time.

The reason you can't go at max speed and stop at the exact right moment is because time is quantized in the game. Each frame takes a certain amount of game time, so if you're 2 seconds before the end of the time but your step is 10 seconds long, you have to warp down or you'll overshoot by 8 seconds. I'd really rather avoid overshooting at all.

What I can do is if your time is 2 seconds away and your step is 10 seconds, reduce the warp so the step is 1 second instead. Then you don't have to wait very long at all.

Would you be so kind as to have a quick look at my output log?

No trouble at all. I'll take a look and edit this comment when I find something :)

Edit:

There are an absolutely unbelievable amount of errors being logged by Deadly Reentry and FAR in flight (207,173 total null reference exceptions in the one flight scene), so you may want to try reinstalling those. FAR is known to have issues with being installed through CKAN, so it's recommended to install that manually.

As for what's causing the error message to pop up, it looks like SCANsat is directly responsible, but I'm not 100% sure what's causing SCANsat to have an error in the first place. The error below is what's causing KCT's data not to get loaded (look for any errors in the ScenarioRunner. If there's an error mentioning that, 99% chance it stops all other mods from loading their data, which causes KCT to pop up its message)


NullReferenceException: Object reference not set to an instance of an object
at SCANsat.SCANcontroller+<>c__DisplayClass1f.<registerSensor>b__1e (.Vessel a) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.First[Vessel] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.FirstOrDefault[Vessel] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
at SCANsat.SCANcontroller.registerSensor (Guid id, SCANtype sensors, Double fov, Double min_alt, Double max_alt, Double best_alt) [0x00000] in <filename unknown>:0
at SCANsat.SCANcontroller.OnLoad (.ConfigNode node) [0x00000] in <filename unknown>:0
at ScenarioModule.Load (.ConfigNode node) [0x00000] in <filename unknown>:0
at ScenarioRunner.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0
at ProtoScenarioModule.Load (.ScenarioRunner host) [0x00000] in <filename unknown>:0
at ScenarioRunner+
.MoveNext () [0x00000] in <filename unknown>:0

You might also try posting in the SCANsat or FAR threads, but you'll likely be told to remove all other mods and try to reproduce it. I'm not sure how much more help I can really provide, since I don't know exactly what's going on. It doesn't appear to be a KCT issue though.

I'd try removing FAR and Deadly Reentry first and see if it still happens. If it doesn't, then it's one of those two. If it does, try removing SCANsat too. If it doesn't happen after removing all three, try putting FAR and Deadly Reentry back in. If it still doesn't happen after you add those two back in, then it's probably SCANsat.

Edited by magico13
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...