Jump to content

[1.12.x] BetterBurnTime v1.10: Provides extra burn-time indicators on the navball for suicide burns & target rendezvous.


Snark

Recommended Posts

Hi all,

I've released v1.3.2.  This is a minor bugfix release that addresses the following issues:

  • Don't display "N/A" for kerbals on EVA
  • Correctly handle engines with minThrust > 0, when thrust limiter is set (this affects a lot of RealFuels engines)
  • Internal performance optimization (more preventative than anything else)

No new features-- you don't need to rush out and install unless the above issues are relevant to you.  :)

(Many thanks to @NathanKell for kind assistance and advice as I was figuring out the thrust issue... and for including the perf advice gratis!)

Edited by Snark
Link to comment
Share on other sites

  • 2 weeks later...

Hi all,

1.3.3 posted.  This is a minor update that fixes a problem with predicting impact time-- it was failing to take vessel height into account, so was off by a few seconds for very tall ships.

It also adds a feature that when the projected impact speed is below the crash tolerance of your lowermost part, it says "Touchdown" rather than "Impact", so as to give you a visual indication of when it's safe to cut engines.

This latter feature turns out to be one of those ideas that sounds cooler than it turns out to be in practice-- while testing, I found that the window of time from switching to "Touchdown" until actually touching down is so short that it's not a lot of practical use.  However, I already had it coded, and it's not hurting anything, so I'm leaving it in.  :)

Link to comment
Share on other sites

A great idea! But perhaps something that can be listed in the config file? For those who want, instead of “landing/impact”:

  • landing/crash
  • landing/lithobreaking
  • brilliant landing/average landing
  • nasa landing/kerbal landing
Link to comment
Share on other sites

I'm loving the mod!  I've taken to RSS recently, doing some Lunar impactors.  Just something I noticed, after the probes meet their maker, the Better Burn Time info  throws the string of an error. Nothing super critical or game breaking, as I am on my way to the Space Center by that point.

I'll post a picture of what I am seeing tonight, if I run any more of those contracts :)

 

Edit: Here we go!

ohuInzD.jpg

 

Edited by rmroc451
Link to comment
Share on other sites

16 hours ago, rmroc451 said:

I'm loving the mod!  I've taken to RSS recently, doing some Lunar impactors.  Just something I noticed, after the probes meet their maker, the Better Burn Time info  throws the string of an error. Nothing super critical or game breaking, as I am on my way to the Space Center by that point.

I'll post a picture of what I am seeing tonight, if I run any more of those contracts :)

Edit: Here we go!

Gah.  What a noob move, can't believe I did that.

Thank you very much for catching this!  Fixed, here's 1.3.4, there ya go.  :)

Link to comment
Share on other sites

5 hours ago, Snark said:

Gah.  What a noob move, can't believe I did that.

Thank you very much for catching this!  Fixed, here's 1.3.4, there ya go.  :)

Thanks!  I know how missing something so easy can be when you are working on the bigger picture!

Software Engineers, UNITE!

Link to comment
Share on other sites

Thanks for the mod. Yet another that Should Be Stock!

And now, the bug report. At least it looks like a BBT bug. A kerbal on EVA spews these NREs in the log, as long as they are not in the landed state. I've left the Final Frontier message in there because it shows when the NRE stops: when the kerbal lands. If the kerbal uses their jetpack, the NREs start again. No surprises there.

[ERR 22:49:07.351] [BetterBurnTime] (NullReferenceException) Object reference not set to an instance of an object:   at BetterBurnTime.ImpactTracker.CalculateVesselHeight (.Vessel vessel, .Part& lowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.GetVesselHeight (.Part& currentLowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.CalculateTimeToImpact (.Vessel vessel, System.String& verb, System.Double& impactSpeed) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.Recalculate () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.LateUpdate () [0x00000] in <filename unknown>:0 

[ERR 22:49:07.450] [BetterBurnTime] (NullReferenceException) Object reference not set to an instance of an object:   at BetterBurnTime.ImpactTracker.CalculateVesselHeight (.Vessel vessel, .Part& lowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.GetVesselHeight (.Part& currentLowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.CalculateTimeToImpact (.Vessel vessel, System.String& verb, System.Double& impactSpeed) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.Recalculate () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.LateUpdate () [0x00000] in <filename unknown>:0 

[ERR 22:49:07.523] [BetterBurnTime] (NullReferenceException) Object reference not set to an instance of an object:   at BetterBurnTime.ImpactTracker.CalculateVesselHeight (.Vessel vessel, .Part& lowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.GetVesselHeight (.Part& currentLowestPart) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.CalculateTimeToImpact (.Vessel vessel, System.String& verb, System.Double& impactSpeed) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.Recalculate () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.LateUpdate () [0x00000] in <filename unknown>:0 

[LOG 22:49:15.435] FF: ribbon achievement (vessel state):
[LOG 22:49:15.435] + name: First Mun Surface EVA
[LOG 22:49:15.435] + code: G1:Mun
[LOG 22:49:15.435] + previous vessel state:
[LOG 22:49:15.435]   - Timestamp:          5982045.56775724
[LOG 22:49:15.435]   - Origin:             
[LOG 22:49:15.435]     - Vessel name:        kerbalEVA (Phoayne Kerman)
[LOG 22:49:15.435]     - Vessel type:        EVA
[LOG 22:49:15.435]     - Situation:          LANDED
[LOG 22:49:15.435]     - altitude:           585.650262520794
[LOG 22:49:15.435]     - speed:              0.840291798114777
[LOG 22:49:15.435]     - geeForce:           0.153467908364258
[LOG 22:49:15.435]     - geeForce_immediate: 2.11929301057188E-05
[LOG 22:49:15.435]     - GetTotalMass:       0.094
[LOG 22:49:15.435]     - MachNumber:         Infinity
[LOG 22:49:15.435]   - MainBody:           Mun
[LOG 22:49:15.435]   - IsLanded:           False
[LOG 22:49:15.435]   - IsSplashed:         False
[LOG 22:49:15.435]   - IsLandedOrSplashed: False
[LOG 22:49:15.435]   - IsEVA:              True
[LOG 22:49:15.435]   - IsLaunch:           False
[LOG 22:49:15.435]   - IsPrelaunch:        False
[LOG 22:49:15.435]   - OnSurface:          False
[LOG 22:49:15.435]   - IsInAtmosphere:     False
[LOG 22:49:15.435]   - HasFlagPlanted:     False
[LOG 22:49:15.435]   - InOrbit:            False
[LOG 22:49:15.435]   - Situation:          SUB_ORBITAL
[LOG 22:49:15.435]   - HasMovedOnSurface:  False
[LOG 22:49:15.435] + current vessel state:
[LOG 22:49:15.435]   - Timestamp:          5982058.68775695
[LOG 22:49:15.435]   - Origin:             
[LOG 22:49:15.435]     - Vessel name:        kerbalEVA (Phoayne Kerman)
[LOG 22:49:15.435]     - Vessel type:        EVA
[LOG 22:49:15.435]     - Situation:          LANDED
[LOG 22:49:15.435]     - altitude:           585.650262520794
[LOG 22:49:15.435]     - speed:              0.840291798114777
[LOG 22:49:15.435]     - geeForce:           0.153467908364258
[LOG 22:49:15.435]     - geeForce_immediate: 2.11929301057188E-05
[LOG 22:49:15.435]     - GetTotalMass:       0.094
[LOG 22:49:15.435]     - MachNumber:         Infinity
[LOG 22:49:15.435]   - MainBody:           Mun
[LOG 22:49:15.435]   - IsLanded:           True
[LOG 22:49:15.435]   - IsSplashed:         False
[LOG 22:49:15.435]   - IsLandedOrSplashed: True
[LOG 22:49:15.435]   - IsEVA:              True
[LOG 22:49:15.435]   - IsLaunch:           False
[LOG 22:49:15.435]   - IsPrelaunch:        False
[LOG 22:49:15.435]   - OnSurface:          True
[LOG 22:49:15.435]   - IsInAtmosphere:     False
[LOG 22:49:15.435]   - HasFlagPlanted:     False
[LOG 22:49:15.435]   - InOrbit:            False
[LOG 22:49:15.435]   - Situation:          LANDED
[LOG 22:49:15.435]   - HasMovedOnSurface:  False
[LOG 22:49:15.435] + - end -

It looks like BBT is trying to calculate the lowest part for a kerbal... which they don't have because they're only one part?

edit: forgot the versions. Linux KSP v1.0.5.1028, BBT v1.3.4 via CKAN.

Edited by Bluebottle
Link to comment
Share on other sites

10 hours ago, Bluebottle said:

Thanks for the mod. Yet another that Should Be Stock!

And now, the bug report. At least it looks like a BBT bug. A kerbal on EVA spews these NREs in the log, as long as they are not in the landed state. I've left the Final Frontier message in there because it shows when the NRE stops: when the kerbal lands. If the kerbal uses their jetpack, the NREs start again. No surprises there.

It looks like BBT is trying to calculate the lowest part for a kerbal... which they don't have because they're only one part?

edit: forgot the versions. Linux KSP v1.0.5.1028, BBT v1.3.4 via CKAN.

Whoops!

Excellent bug report, thank you!

Fixed, here's v1.3.5 for you.  :)

Link to comment
Share on other sites

When downloading from spacedock, the file is completely empty... I don't know if this ia a bug on your end, or SpaceDock's end. Any help would be appreciated!

Picture added to show version and that I tried twice, hence the (1)

Edit: Tried another mod and it's packaged correctly, so it seems to be your downloads issue.

DzInkLe.png

Edited by FiiZzioN
Link to comment
Share on other sites

7 hours ago, FiiZzioN said:

When downloading from spacedock, the file is completely empty... I don't know if this ia a bug on your end, or SpaceDock's end. Any help would be appreciated!

Picture added to show version and that I tried twice, hence the (1)

Edit: Tried another mod and it's packaged correctly, so it seems to be your downloads issue.

It also affects the Github repository as well: both locations have a 22 byte zip file.

Link to comment
Share on other sites

Sigh.  Perhaps that will teach me not to try to push an update when I'm tired.  (Or then again, perhaps not. I can be a slow learner sometimes.  Only time will tell.)

Anyway, thanks for letting me know, guys!  I've yanked the bad version and replaced it, you should be good to go now, just re-download 1.3.5 from SpaceDock and you should be good.  (I've also updated github.)

Link to comment
Share on other sites

Hi all,

I have released v1.4 of BetterBurnTime.  This is a compatibility update for KSP v1.1; there are no new features with this release.

  • If you are running KSP 1.1, you must update to this new version; older versions of BetterBurnTime won't work on KSP 1.1.
  • If you are running KSP 1.0.5 or older, stick with 1.3.5; the new 1.4 update of BetterBurnTime requires KSP 1.1 or later to run.

Enjoy!

Link to comment
Share on other sites

My 64bit version starts crashing from time to time so I startet looking into the logs. 

Maybe relevant:

[Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.set_Duration (System.String value) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.BetterBurnTime.LateUpdate () [0x00000] in <filename unknown>:0 

followed by

[Exception]: NullReferenceException

followed by

[Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.get_OriginalDisplayEnabled () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ClosestApproachTracker.LateUpdate () [0x00000] in <filename unknown>:0 
    
    [Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.get_OriginalDisplayEnabled () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.LateUpdate () [0x00000] in <filename unknown>:0 
    
    [Exception]: NullReferenceException: Object reference not set to an instance of an object
    
    [Exception]: NullReferenceException: Object reference not set to an instance of an object

Will uninstall and see if crashes persist.

Link to comment
Share on other sites

3 hours ago, Darkstar One said:

My 64bit version starts crashing from time to time so I startet looking into the logs.

Thanks for the heads-up (and especially for the logs-- that's really helpful!), but can you confirm which version of BetterBurnTime you're running?  Is it 1.4, or something earlier?

Link to comment
Share on other sites

Hello there i grab BetterBurnTime 1.4 to test in 1.1 build id 01174 & i see some error in logs so here there are & hope to help you, (noo crash or noo real problem but i seen them when i check for general error, nulref & i think you better see them)
https://drive.google.com/file/d/0B9RK2PFOUhe3ekI4di1za1l3ZHc/view?usp=sharing

Cheer & Salute

Link to comment
Share on other sites

On 1.4.2016 at 0:11 PM, Blacks said:

Hello there i grab BetterBurnTime 1.4 to test in 1.1 build id 01174 & i see some error in logs so here there are & hope to help you, (noo crash or noo real problem but i seen them when i check for general error, nulref & i think you better see them)
https://drive.google.com/file/d/0B9RK2PFOUhe3ekI4di1za1l3ZHc/view?usp=sharing

Cheer & Salute

Tested 1.4 - errors from Logfile below

[Log]: UIMasterController: HideUI

[Warning]: [HighLogic]: =========================== Scene Change : From FLIGHT to SPACECENTER (Async) =====================

[Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.set_Duration (System.String value) [0x00000] in <filename unknown>:0 
  at BetterBurnTime.BetterBurnTime.LateUpdate () [0x00000] in <filename unknown>:0 

[Exception]: NullReferenceException
    
[Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.get_OriginalDisplayEnabled () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ClosestApproachTracker.LateUpdate () [0x00000] in <filename unknown>:0 
    
[Error]: [BetterBurnTime] (NullReferenceException) :   at (wrapper managed-to-native) UnityEngine.Behaviour:get_enabled ()
  at BetterBurnTime.BurnInfo.get_OriginalDisplayEnabled () [0x00000] in <filename unknown>:0 
  at BetterBurnTime.ImpactTracker.LateUpdate () [0x00000] in <filename unknown>:0 
    
[Exception]: NullReferenceException: Object reference not set to an instance of an object
    
[Exception]: NullReferenceException: Object reference not set to an instance of an object

 

Link to comment
Share on other sites

Thanks for the reports, guys.  I'm kinda scratching my head over this one-- from staring at the relevant bit of my code, I'm pretty sure I'm not dereferencing a null pointer or anything-- I think it's actually happening inside the call to "enabled", which is down in the guts of Unity.

So maybe I've goofed somewhere I'm not seeing, or it could be a bug in Unity (or my use thereof).

In any case, I need to deal with it, so I'll add some code to handle the problem in my next update.  Thanks!

Link to comment
Share on other sites

Hi all,

I've posted v1.4.1, a minor bugfix intended to address the NullReferenceException problems that some folks have been running into (thanks to @Darkstar One and @Blacks for reporting).

It doesn't really solve the problem (I haven't been able to figure out why it happens, as far as I can tell it's just Unity 5 having indigestion in a place I can't get to), but it puts a wrapper around it and traps the errors, so they shouldn't get in the way of your game.

(Just to be clear:  1.4.1 is for KSP 1.1.  If you're running KSP 1.0.5, you should be running version 1.3.5.)

6 hours ago, fourfa said:

Really minor point - there's a version number in the zipped download file, but once unzipped I don't see versioning anywhere.  That's a nice feature to have with a big GameData folder

You mean, like a changelog text file or something in the mod folder?  I suppose that could come in handy.  Thanks for the suggestion, I'll bear it in mind for the next update.

 

Link to comment
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.

×
×
  • Create New...