Jump to content

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


magico13

Recommended Posts

3 minutes ago, magico13 said:

That sounds like you're missing a command pod/probe core. Is this during a simulation or an actual launch (build -> timewarp -> rollout -> launch)? I highly suggest grabbing the log file (read the following post, it contains the log file locations and other info I'll need) and uploading it somewhere so I can view it. Without the log I can pretty much only guess at things, so you'll have to be thorough with your reproduction steps.

 

Edit: Regarding your edit: was Jeb actually in a command pod? The hitchhiker module and several mod parts don't provide the ModuleCommand module. I'm pretty sure KCT doesn't warn about missing a control source.

It's mainly built out of CxAerospace parts.

Link to comment
Share on other sites

Current custom settings (I've gone slower, mostly):

  • Overall Multiplier = 8
  • Build Effect = 8
  • Inventory Effect = 500
  • Reconditioning Effect = 1500
  • Max Reconditioning = 2764800

Mostly happy with that, a heavy 800-900t launch vehicle requires about 17 days of launchpad refurbishment (and about 5 days of rollout).  A smaller 105t launch results in a 2d 4.5h rollout and 7d 5h launchpad refurbishment.

I'm probably going to have to play with the roll-out / launchpad formula though.  Something like a minimum of (1 hour x overall mult) plus some formula that takes into account launch mass.

Notes:

  • The "Max Reconditioning" line is misspelled in the old release version.
Edited by WuphonsReach
Link to comment
Share on other sites

Or maybe I need to test the multi-launchpad feature in the dev DLL, my bottleneck right now is launching vessels... I have two dozen vessels in the warehouse waiting on launchpad availability.

(I also version control my entire KSP install, saves, mods, configs... so testing the dev version is fairly safe.)

Edited by WuphonsReach
Link to comment
Share on other sites

It would be nice if the "launchpad picker" at the bottom of the screen would include the level of the LP in parenthesis.  And it could probably just say "Current: Launchpad" instead of "Current Launchpad: Launchpad".  Maybe give the LPs default names, for instance "Pad 275" for a launchpad that was initially requested on day 275 of the year?

KCT_GUI.DrawShipRoster() also throws an exception when I click the "clear all" button (to launch an empty vessel, which could take crew, but doesn't need it).

Edited by WuphonsReach
Link to comment
Share on other sites

@WuphonsReach I'll look into those issues. Maybe I'll add a way to rename launchpads to whatever you'd like them to be named (which would have some slight problems if I didn't update everything correctly, since their names are how they're referred to internally).

Link to comment
Share on other sites

21 minutes ago, legoclone09 said:

@magico13 I heard of a feature where the build point per second is determined by the stock building level, is that true? Or at least I think I heard that somewhere. Maybe it's just me making that up.

Look into the UpFree Preset (comes with KCT). Everything is defined by the KSC building levels rather than upgrade points. If you want to customize things a bit more then look into the Preset formulas. 1.3 will have variables for kerbals too (those currently at KSC and all living ones) if you wanted something more like ExtraPlanetary Launchpads

 

Edit: @WuphonsReach those issues should be fixed now and you should be able to rename launchpads to whatever you want :) (I'm an idiot and forgot to include their level. One minute) [Edit2: Done as of build 176]

Edited by magico13
Link to comment
Share on other sites

Somewhere in the new code, it's possible to take the LP that was already at level 3, to request an upgrade and have it go through the entire 2 -> 3 upgrade timer again.  Not sure how I managed it.

Maybe because I renamed it to "Pad A"...

Edited by WuphonsReach
Link to comment
Share on other sites

Was that with two pads that you switched between? The whole upgrade timer system is setup in a hacky way and I had to add an even more hacky workaround for switching launchpads. I wouldn't be surprised if there were some bugs like that, I've already squashed a ton of similar ones. If you find a way to reproduce it let me know.

I wish I could override the upgrade buttons on each building and write my own code to handle the upgrades, but I can't. I could make a new GUI to handle upgrading the KSC but I'm trying to integrate into the stock system more (which is a giant pain in the butt when most of it isn't [easily] moddable).

Edited by magico13
Link to comment
Share on other sites

Bug: On the tech tab, when pads are being upgraded, it still says the old hard-coded "Launchpad [123]" name instead of my custom names.

For the most part, LP switching is functional and working well.  I'll have to see if I can get the re-request upgrade bug to happen again...

I have 2 pads now at level 3 and 1 pad at level 2 (upgrading to level 3), so I have twice the launch capacity as before and will (in 30 days) have triple the launch capacity.  Cost to purchase #2 was 100k, cost to purchase #3 was 800k, buying a 4th pad would be 2.7M.  After purchasing the additional pad, it's about 115k to upgrade from L1 to L2, and 423k to upgrade from L2 to L3.

Link to comment
Share on other sites

Also, the names of the alarms being added to the KAC still says "KCT: Launchpad Reconditioning Complete" instead of "KCT: Pad A Reconditioning Complete".  (where the LP is named "Pad A")

Another KAC alarm says "KCT: Vessel Rollout Complete", maybe that should say "KCT: {ship name} rollout complete at {pad name}" now.

Edited by WuphonsReach
Link to comment
Share on other sites

Possible small bug with Launchpad upgrades.  I was in flight mode, and a second launchpad finished upgrading.  The "Time Left" says 0:0:0 in the Tech tab of KCT, but it never vanishes from the list and flipping through the launchpads on the VAB tab, it still says level 1 for that LP.

It fixed itself once I jumped back to the Space Center, and is working fine.  Just an oddity.

Link to comment
Share on other sites

@WuphonsReach If you edit your posts I think they still show up as new posts in the "following" stream on the forums, instead of double posting ;)

I'm back to work today so I won't be able to get to things until I get home later. Thank you for testing things for me, an extra set of eyes helps a lot more than you'd expect. I'll fix the bugs you've mentioned with the names not being updated during upgrades (I could have sworn those were done by id and not by name, though the upgrades themselves have names I think and I'll have to update those). New launchpad cost is given via a new formula that defaults to "100000*([N]^3)" so 100k, 800k, 2.7M, 64M sounds about right. Might be a little high, but the first few pads are pretty reasonable I think, and it's freely adjustable. All the upgrades use the stock costs for upgrading.

I want to improve the KAC support in the next update (after this one), but I can at least make those changes in this one.

All KSC upgrades don't complete until you return to the space center scene because the building cannot be upgraded in-game in any scene but that one. The upgrades just sit at 0 until you switch back, otherwise the upgrade won't "go through" and you'd have to pay for it again and go through the time requirements once more. Launch pads are the one thing that could be an exception since they're handled differently by KCT. I might not change that so that everything stays consistent.

Link to comment
Share on other sites

I'm pretty comfortable with the costs to purchase a new pad so far, pad #2 is pretty cheap at 100k funds.  Pad #3 is a bit dearer at 800k, and I haven't decided yet on Pad #4 :) 

Cost examples (current formula):

100000 3
1 100,000
2 800,000
3 2,700,000
4 6,400,000
5 12,500,000
6 21,600,000
7 34,300,000
8 51,200,000
9 72,900,000

Alternate possibility (250000*([N]^1.8):

250000 1.8
1 250,000
2 870,551
3 1,806,169
4 3,031,433
5 4,529,873
6 6,289,444
7 8,300,734
8 10,556,063
9 13,048,979
Link to comment
Share on other sites

Wow, somehow I mathed very wrong and added an extra 10x starting with pad 4 (when I was listing them earlier). I think I'll leave it at what it's at now, as I can't imagine people really needing a 5th or 6th pad and if they did it's still feasible. I imagine most people will stop at 3 or 4 total (800k or 2.7M).

Btw, it might seem a little counter intuitive at first, but there's actually a good reason (once I update the Presets) to keep some pads at less than tier 3. I'm going to adjust reconditioning to be really low or non-existent for tier 1 pads (they're dirt, they don't need much in the way of reconditioning) and reduce it for tier-2 (smaller pad, probably simpler materials or at least easier/faster to replace). With that it'll always be best to use the smallest pad necessary for a particular rocket. So if you're launching an LKO satellite you might use a tier 1 pad and not have to worry about reconditioning times at all. Manned orbital missions and small Mun/Minmus missions might use a tier 2 pad and could be launched fairly often, while big missions would require the tier 3 pad and longer reconditioning times.

 

(btw, in case you or anyone else was wondering, you can downgrade a launch pad by destroying it with ctrl-right click and choosing "demolish", then choosing the "rebuild as level [current-1]" option. That's a [somewhat hidden] stock feature that exists for all buildings, though it does cost funds to do so)

Edited by magico13
Link to comment
Share on other sites

The problem I have with the tier 2 pad (and this is really a stock balance problem) is the height limit of anything useful in the 100-120t range tends to be taller then the ~36m height that the tier 2 pad allows.  That's why I always use tier 3 pads.  So it's a very noble goal to have different reconditioning times for the various tiers, but I personally won't use it due to Squad's choice of limits.

(Now, hopefully Squad gets their head out of the sand and puts back in more upgrade levels for the various buildings, with better defaults in a future update.)

Found another string / message to fix.  When in the space center scene, the "Build List" window says "Next: Launchpad Reconditioning VAB hh:mm:ss" instead of "Next: Reconditioning Pad A hh:mm:ss"

Link to comment
Share on other sites

Trying out the new build.

  • "rollout" status in the VAB tab does not say which pad the vessel is rolling out to
  • Launch button text should be orange/yellow/red if the pad is not refurbished yet
  • Alternately, change button text that says "Waiting" or "Refurbishing"

With the multiple pads, I have to keep track in my head of which pad is refurbishing and what vessel is rolling out to which pad, and whether the pad is ready for a launch.

Maybe one way to reduce some of this complexity is that you cannot begin rollout until the pad is refurbished.  Maybe you shouldn't be able to start a new roll-out if there is a roll-back running for that pad either.  Now that we have the multiple pad option, blocking actions on one pad would not affect a second pad.

Link to comment
Share on other sites

14 hours ago, WuphonsReach said:

I have to keep track in my head of which pad is refurbishing

I mean, the list of refurbishing launchpads is at the top of the VAB tab, so you can just check that part, but the point about rollouts not saying which pad is good. I'll add that in now. I can't change the text color on the buttons, at the very least I haven't figured out how. Previous attempts just broke the buttons completely.

I'll look into restricting it to not rolling out if there's a rollback in progress. With multiple pads that's not as big of an issue, like you said.

Link to comment
Share on other sites

13 hours ago, magico13 said:

I can't change the text color on the buttons, at the very least I haven't figured out how. Previous attempts just broke the buttons completely.

Out of curiosity, which attempts have you tried?

It should work similar to how you change label colors, only you need to modify the button style in skin, and change also hover and (optionally) active styles:

GUIStyle redButton = new GUIStyle(GUI.skin.button);
redButton.normal.textColor = Color.red;
redButton.hover.textColor = Color.red;
redButton.active.textColor = Color.red;
...
GUILayout.Button("Launch", operational ? greenButton : redButton, GUILayout.ExpandWidth(false))

 

Link to comment
Share on other sites

I think I had tried just using what I was using for labels (which at the time just replaced the buttons with labels) instead of making a duplicate of the button style and modifying that. Thanks for the example though, seems pretty easy to do. To be fair, I haven't gotten a chance to actually touch the code since I made that comment. I was going to look at ship manifest when I got home from work, depending on if my plans for tonight allow me any time to get on my computer.

 

Edit: @charfa thank you for your help! I've now got the rollout and launch buttons colored based on the pad status.

 

I think things are pretty much ready to go at this point. If people find any bugs or want any other cosmetic changes I can do a smaller update, but I don't really want to sit on this code any longer. Thank you @WuphonsReach for your tremendous help with testing these. I'll update the Presets and probably push the release tonight, barring I find any noticeable bugs tonight.

Edited by magico13
Link to comment
Share on other sites

I decided that I've been sitting on this code for long enough. Most of the bugs are ironed out and now it's just a matter of releasing it to the masses so they can enjoy the new features (and hopefully not find any bugs, but I expect there are more).

 

Version 1.3.0, The Launch Pad Update, is released!

Huge thanks to @WuphonsReach for finding bugs and suggesting some enhancements to the Launch Pads feature. Seriously, it was tremendously helpful!

The changelog (which I encourage reading, there are some cool new but tiny features) is as follows:

v1.3.0.0 (01/06/16)
Notable Additions and Changes:
 - Multiple launchpads added. Build additional pads to launch ships more often. Each pad has its own rollout and reconditioning timers, along with upgrade and damage states. Can be renamed as well.
 - All time input fields now support using y, d, h, m, and s for years, days, hours, minutes, and seconds. Can mix and match as needed.
 - You are now warned when a ship contains invalid parts instead of the game breaking. You have the option to ignore it for now or delete the vessels. If you delete them, you get the funds back. All the offending ships and parts are logged to a file in the save folder.
 - Improved KSCSwitcher support. Now properly sets the default KSC, each KSC can have its own launchpads, and upgrade points can be shared between them.
 - Rollout and Launch buttons now colored green if pad is OK, yellow if it is being reconditioned, and red if it is destroyed.
 - Limited to one rollout or rollback at a time per launchpad. (can't rollout when something is rolling back)
 - Wheels, Mystery Goo, and the Science Jr. are now reset properly on recover to storage (might need to delete the KCT_ModuleTemplates.cfg file)
 - Modules to be reset on recover to storage can now have a "parts = part1,part2,part3" line to limit that module to being reset only for those parts
 - Warp To functionality improved. Now much, much faster to warp down.
 - Tech Node Research cancellation must now be confirmed.
 - Delay for moving a vessel to orbit in simulations is now configurable.
 - Simulations should (hopefully) no longer mess up orbits when they time out and you purchase more time.
 
Preset Updates:
 - Added several "Crew Variables" to several formulas. Check the Wiki page on Variables for more info.
 - New formula: NewLaunchPadCostFormula (pretty self-explanatory)
 - New option: SharedUpgradePool. When True, all KSCS share a single upgrade pool instead of each having their own. Default is False
 
Warnings:
 - The launchpad changes are potentially save breaking if it doesn't update to the new system correctly. That bug should be fixed, however.
 - KCT now "upgrades" buildings A LOT. Any mod listening to the OnKSCFacilityUpgrading or OnKSCFacilityUpgraded events will likely be INCOMPATIBLE. Please notify me if you find any such mods and I'll see what I can do.

Other:
 - New artwork thanks to a friend of mine!

 

Speaking of new artwork, check out the new artwork that my friend made for KCT. You're free to use it as well, if you want to make a banner image or something.

 

Edited by magico13
Link to comment
Share on other sites

9 hours ago, theonegalen said:

I really hope you don't have to re-do everything from scratch when 1.1 drops. My worst KSP fear is that the new changes in 1.1 will bork everything for everyone and all the modders will move on from KSP.

I don't expect that will happen. It's definitely going to be a lot of changes for modders to make to update, but I don't think it'll be that bad. We should still be able to use the same GUI code (but will hopefully also have the option to use the newer GUI system). I'll probably have a bit harder of a time with KCT than a lot of other modders will with their mods, since KCT tries to work around the base game so much. I imagine part mods will be mostly OK, but plugins are definitely gonna have a bad time.

We'll see when it comes out (or maybe a bit before, once Experimentals starts). Modders who have basically already left likely won't come back, but those of us who are still quite active will definitely move forward. I'll still be here at least :P

 

I'd actually love to redo everything from scratch if it didn't take so long to do. Around this time last year enneract and I actually did start writing KCT2, which was to be split into 3 separate mods (Some Assembly Required [the construction part], HoloDeck [simulations], and ScrapYard [part inventory]). I actually even passed it off to him as lead developer, since school and work were occupying most of my time. He ended up having the same issue as I did, but it seems to have hit him worse, since he's basically been gone since the summer. I still really want to split it off into 3 like that, but the Presets update sort of knitted them together even more so it'd be hard to do now. I could still split ScrapYard off, but I've half-done that at least twice now. The one from last year had some nice features but would require quite a bit more work before it'd be ready to ship, and I could use that time instead to actually finish BROKE or implement the KCT API (both of which keep getting pushed back themselves. I wanted to have this update out 2 weeks ago so I could use some of my break off work to write the API)

Link to comment
Share on other sites

Hey this mod is great @magico13!  

In particular, I like how the launch pad reconditioning/rollout plays into the game - looking forward to trying out the latest version. :)

I had a few questions:

  1. Have you considered including Life Support parts in the list of things that get refilled when a craft is recovered through your GUI and tanks-filled in the VAB?
  2. When a stage is recovered using Stage Recovery mod, is it treated like a KSP-recover or a KCT-recover?
  3. Is there any progression in sandbox mode for build points or is KCT intended to use the starting (default 45) value throughout the sandbox play? Does sandbox support re-allocating the points?

'Grats on the new release to this fascinating mod. 

cd/

Link to comment
Share on other sites

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