Kerbas_ad_astra

[1.4-1.5+] Landertrons (Automatic Landing Retro-Rockets) v1.1.1 (02018 Nov 03)

Recommended Posts

Landertrons

Automatic retro-rockets for landing.

Landertrons logo

Features

Part catalog

Landertrons (left to right: XT-L1, XT-L2, XT-L2B) are small solid rocket motors which can be mounted on a craft and set to automatically fire in one of three modes:

  • SoftLanding, firing to brake a rocket's descent and prevent the rocket from breaking. Note that the engines will cut out when the craft is above the ground, so be ready for a bit of a drop!
  • ShortLanding, firing to arrest a spaceplane's momentum on landing.
  • StayPut, firing downward to prevent a vehicle from bouncing or tipping (or at least try).

A landertron will only fire if it can make a positive contribution to its desired mode, and will cut out automatically, but it's up to you to put them in the proper quantity and orientation to get the job done.

If KAS and KIS are installed, then the landertrons can be refueled using the included hex-cans of solid fuel (far left). Just attach them to spent landertrons, and you will be ready to fly again in no time. (The XT-L1 requires one can each, and the XT-L2 and -L2B require two cans each.)

There is also an XT-L-KRAB "Landertron Box" (far right), which will attempt to control a spacecraft's engines as if they were landertrons. Warranty void if used for critical mission phases!

Recommended addons

  • Home Grown Rockets (plus HGR Community Fixes) have retro-rockets in their "SoyJuice" descent modules. With Landertron, they will automatically fire to soften their landings, just like the real Soyuz pods. (Note that they are not capable of substituting for parachutes!)

Download and install

From there, just unzip the "Landertron" folder into your GameData directory.

Known and anticipated issues

The math used in this mod is simplified compared to the real (non-linear) physics of propulsive landing, and so it does not function very well with vehicles with low TWR (<2) or high atmospheric drag. Run some test flights before sending any valuable crew or payloads, and be ready for a bumpy landing!

Please let us know in the thread or on the issue tracker if you find any more.

Version history and changelog

  • 2014 Oct 10 (0.08): XanderTek's last release, for 0.25.
  • 2015 Sep 06 (v0.09-beta.KAA): Restored functionality.
    • Fixed Landertron module to work with 1.0.x atmosphere changes (new Isp calculation code based on Kerbal Engineer).
    • Fixed Landertron Short Landing mode to be less sensitive to bouncy landings.
    • Updated parts to 1.0.4 thermal and atmosphereCurve properties.
    • Changed scale (and updated nodes and FX accordingly) to avoid bug with MODEL{} nodes and rescaleFactor.
  • 2015 Nov 03 (v0.10.0-alpha): Complete code rewrite (by charfa)
    • Config/persistence file changes:
      • Fields endspeed, boom and showgui removed. If you depended on functionality switched by those fields, it won't work.
      • Field names of electricrate and AnimationName changed to electricRate and animationName. Yeah, I know, silly little changes that require you to fix the save files, but I like consistent naming.
      • Field mode now stores literal mode name instead of a number. You need to substitute 1, 2 and 3 with SoftLanding, ShortLanding and StayPut respectively.
    • Functional changes:
      • Methods of determining when to fire and shutdown landertrons in all modes have changed. This mostly results in improvements and avoids some bugs that were reported. One case that may be seen as a regression is the removal of throttling at the end of burn that allowed softer landings. This version burns full throttle until complete stop, which may cause the vessel to stop up to a few meters above ground due to discreet nature of physics in game. I felt like throttling solid fuel rockets was cheating.
      • Some GUI changes, mostly decluttering. Of useful stuff, gone is the braking distance display and notification when there's not enough deltaV.
      • Landertron now consumes electric charge when it's armed and disarms when it runs out of juice. You can arm it again when you refill your batteries. I honestly couldn't figure out what the behavior was in old code, so I don't know if it is a change.
    • New features:
      • Landertron module should now support being used on parts with ModuleEnginesFX and ModuleEnginesRF, and using other propellant that SolidFuel (as long as it's a single propellant only). Not tested though.
    • There might be other changes not listed here. Like I said it's a complete code rewrite so it's hard to figure out how the behavior will differ specifically.
  • 2015 Nov 07 (v0.10.0-beta): Also by charfa.
    • Removed features:
      • Config parameters endspeed, boom and showgui are removed. End speed is always 0, parts never go boom, GUI is always visible.
      • Icon is no longer colored when Landertron does not have enough electric charge or deltaV. When running out of electric charge Landertron disarms and shows a screen message. Not having enough deltaV is not notified in any way.
      • Removed throttling of Landertron to provide a soft touchdown. You may end up being stopped a few meters above ground now. I felt like throttling of solid fuel rockets was cheating. If you want a gentle touchdown use liquid fuel engines and MechJeb autopilot.
    • Bug fixes:
      • XT-L1 and XT-L2B can now be refueled.
      • Mode is now initialized properly to SoftLanding and ShortLanding in VAB and SPH respectively.
    • New features:
      • Landertron module should now work when added to parts with ModuleEnginesFX and ModuleEnginesRF.
      • Landertron module should now work with engines running on any propellant, not only SolidFuel, as long as it's a single propellant (i.e. won't work with LF+O, but should work with RealFuels' solid fuels).
    • Other changes/improvements:
      • GUI is significantly decluttered. Landertron module itself only adds mode switch button in editor and arm/disarm button and status information in flight.
      • Logic behind deciding when to fire and stop Landertrons has been rewritten. It should now be more robust and better handle some situations that I saw reported on forum as causing problems (e.g. building landers in SPH, placing Landertrons at various angles, mixing different Landertrons in a stage...).
      • All textures are converted to DDS.
      • Other? It's a complete code rewrite, it's a hard to predict if the behavior hasn't changed slightly in other aspects.
  • 2015 Nov 19 (v0.11.0): Also by charfa.
    • Bug fixes:
      • Fix "Look rotation viewing vector is zero" log spam.
      • Turn off decoupler Enable/Disable Staging switch
    • Internal:
      • Compile for KSP 1.0.5
      • Switch to use 'stagingEnabled' to prevent engine and decoupler from activating upon staging.
  • 2016 Mar 25 (v0.12): Ocean landings
    • Landertrons will now soft-land over oceans as well as on land.
  • 2016 Apr 24 (v0.13): Vnity 5
    • Incorporated "LandertronBox" module from Booots. A part with this module will control a craft's engines to achieve landertron functionality (at least, it will try -- this feature is a bit finicky).
      • Added the "XT-LB Landertron Box" part (welded from the stock Small Inline Reaction Wheel and Atmospheric Fluid Spectro-Variometer models, so be careful when pruning).
    • Compiled against 1.1 libraries.
  • 2016 Oct 12 (v0.14): Future Proofing.
    • Added support for thrustTransformMultipliers.
    • Updated for KSP 1.2.
    • Added .version file.
  • 02016 Oct 13 0340 UTC (v0.15): Crunch!
    • Packaged the right DLL this time...
  • 02017 Apr 03 (v1.0.0): Terminal Burn
    • New XT-L-KRAB model to replace the XT-LB, from steedcrugeon. (The old model has been made unresearchable, and will be removed in the next release.)
    • Changed SoftLanding calculation so that it no longer fires late in landers with TWRs below 5 or so. Again, be advised that solid rocket motors do not throttle, so there will be a drop after they cut out! Bring airbags, girders, or something crushable to land on...
    • Adjusted rearm/settle conditions for landertron box to be less 'bouncy'.
    • Added subtle up-arrows to XT-L2, to clarify which way to orient it.
  • 02017 Jun 10 (v1.1.0): I-D-18-N
    • Updated for KSP 1.3.
    • Completed deprecation of old XT-LB model.
    • Accommodates new internationalization system.
  • 02018 Nov 03 (v1.1.1): From en-us With Love
    • Added some strings to the localization file. Now the display strings from the code (e.g. mode names) can be localized as well.

Roadmap

Just keeping it ticking along. Please let us know in the thread or on the issue tracker if you have any suggestions.

Credits / License

  • Source code and DLL licensed under GNU GPL (v3 or later). Variously by XanderTek, Kerbas_ad_astra, charfa, and Booots.
  • SolidFuel HexCan part based on Greys' HexCans, licensed under CC-BY-SA.
  • Landertron parts based on models by BahamutoD, licensed under CC-BY-SA.
  • XT-L-KRAB model by steedcrugeon, licensed under CC-BY-SA (4.0 or later).

Any redistributions or derivative works must use a different name and folder (per the GPL section 7c). All other rights (e.g. the Landertrons logo) reserved.

 

 

Edited by Kerbas_ad_astra
New version!
  • Like 16

Share this post


Link to post
Share on other sites

Is there a certain way you get these to work in 1.2, it would appear as thought I can only get them to function like seperatrons.

Share this post


Link to post
Share on other sites

Hi Kerbas_Ad_Astra, thanks much for updating Landertron to 1.2-- it's a mod I enjoy greatly.

OSX, KSP 1.2 (not pre), Landertron v0.14, tons of other mods. 

Seeing an exception on loading, looks like it's trying to call KSPUtil.

Spoiler

 

Non platform assembly: /Users/Foozle/Library/Application Support/Steam/SteamApps/common/Kerbal Space Program/GameData/Landertron/Landertron.dll (this message is harmless)
ADDON BINDER: Cannot resolve assembly: KSPUtil, Culture=neutral, PublicKeyToken=null
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ADDON BINDER: Cannot resolve assembly: KSPUtil, Culture=neutral, PublicKeyToken=null
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

AssemblyLoader: Exception loading 'Landertron': System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at AssemblyLoader.LoadAssemblies () [0x00000] in <filename unknown>:0

Additional information about this exception:

 System.TypeLoadException: Could not load type 'Landertron.Landertron' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type 'Landertron.ModeHandlerBase' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type 'Landertron.ModeHandlerBase' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type 'Landertron.ModeHandlerBase' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type 'Landertron.ModeHandlerBase' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 System.TypeLoadException: Could not load type 'Landertron.Landertron' from assembly 'Landertron, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null'.

 

I can provide a full log if it's helpful, but since I'm currently testing compatibility of all the 1.2 mods I can get it's rather... large.

This might be the cause of jfigueredo's issue as well.  jfigueredo, are you getting a similar exception in your log?

Hope this is useful to you, and thanks again for the update!

Edited by Foozle

Share this post


Link to post
Share on other sites

Are you having trouble using them?  A screenshot of your craft would help.

They're used like the landing rockets on the Soyuz capsules -- you attach them, arm them during your landing sequence (by staging them), and then they fire automatically.

Share this post


Link to post
Share on other sites

Aw, looks like I zipped the wrong DLL -- must have compiled, checked, and then forgotten to copy to the release location.  (I'm going to have to look into this build automation business that kids these days are going on about.  Grumble, back in my day 'Jenkins' was a real butler!)  I'll sort this in a jiffy...

Share this post


Link to post
Share on other sites

I would just like to point out how cool it is that my kerbal passes out from the g forces from these while landing. haha

Share this post


Link to post
Share on other sites

They're back! (Or, still here!) Praise be unto you! :D 

Share this post


Link to post
Share on other sites
On 10/12/2016 at 9:00 PM, JAFO said:

I'd love to see @Kottabos do a review of this!

Oh look I did

@Kerbas_ad_astra absolutely wonderful work on this, loved messing around with this.  and I feel that the short landing mode will save a lot of my typically doomed spaceplanes lol

  • Like 5

Share this post


Link to post
Share on other sites

Nice video, @Kottabos, the only thing you missed out on mentioning was that:

On 10/13/2016 at 10:11 AM, Kerbas_ad_astra said:

If KAS and KIS are installed, then the landertrons can be refueled using the included hex-cans of solid fuel. Just attach them to spent landertrons, and you will be ready to fly again in no time.

  • Like 1

Share this post


Link to post
Share on other sites

Please, oh please make this compatible with CKAN?

Edited by Leo_G.

Share this post


Link to post
Share on other sites
On 10/14/2016 at 6:47 PM, JAFO said:

Nice video, @Kottabos, the only thing you missed out on mentioning was that:

ah you're right I completely missed that, never fails I always forget something

Edited by Kottabos

Share this post


Link to post
Share on other sites
On 10/14/2016 at 0:01 PM, Kottabos said:

Oh look I did

@Kerbas_ad_astra absolutely wonderful work on this, loved messing around with this.  and I feel that the short landing mode will save a lot of my typically doomed spaceplanes lol

Regarding your one pet peeve, switching mode in-flight -- that's certainly a fair criticism, and it would be pretty simple to tweak the code and recompile to enable that button in the flight scene, but it might have some frustrating and surprising consequences, especially if the mode is switched at a critical time of flight (e.g. if there are motors which would be firing in one mode but not in another).  I'd need to spend time testing...which I would rather spend *playing* KSP than *managing* it, at least for a while...:wink:

Share this post


Link to post
Share on other sites

omg, this mod is so handy, if you didnt post on 0.35m SSR MicroSat ill never hear about this great mod.

Share this post


Link to post
Share on other sites

It shouldn't mess anything up, but I will be making a release SoonTM that will have a new model for the box, so I'd sit tight for a few days yet.  :)

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Kerbas_ad_astra said:

It shouldn't mess anything up, but I will be making a release SoonTM that will have a new model for the box, so I'd sit tight for a few days yet.  :)

Thanks. Have fun modeling. 

Share this post


Link to post
Share on other sites
5 hours ago, TheRagingIrishman said:

Thanks. Have fun modeling. 

Oh, the model's by @steedcrugeon and already done -- I've just got a bunch of logistics to sort out for the new release.  Now that the box has its own model, I consider Landertron to be feature-complete, so there's a bunch of polish/presentation/documentation I want to clean up before rolling out the big 1.0.

  • Like 1

Share this post


Link to post
Share on other sites

@Kerbas_ad_astra Does Landertron know to look for ModuleEnginesFX as opposed to just ModuleEngines? I'm not talking about the Landertron box.

I'm mimicking your HGR Soy Landertron patches to supply Landertron engines to the Taurus HCV, but RealPlume renames its' ModuleEngines to ModuleEnginesFX, and I'm getting an error ("Cannot find module 'ModuleEngines'"). Nothing to indicate that it'd be Landertron, just a guess (either that or ModuleDeployableEngines). Everything works, it just throws an error in the editor.

EDIT: Actually, I don't think it's Landertron, but it doesn't stand to reason to being ModuleDeployableEngines, since I know Nertea's CryoEngines uses it a lot.:huh:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now