Jump to content

[1.12] Time Control [2.11]


westamastaflash

Recommended Posts

22 hours ago, westamastaflash said:

Can you give an example? Is this Rails or Hyper warp, and how short is it going? I have tested on a modless install and the newly coded rails auto-warp functions perfectly (for years of time), and hyper warp comes pretty close.

Keep in mind that some other mods will do things with warp and possibly interfere with Time Control's Auto-Warp functionality - Kerbal Alarm Clock and Kerbal Construction Time. I use them fine together so long as I don't have any alarms near the time I plan to warp to (or I turn off the slow down warp feature).

 

Rails mode. I warp towards a point, warp jumps to "cruise speed", then gets to the point were i would expect it to slow down as to be precise when ending the warp, however it just completely goes back to normal on that point. In this case it jumps to default warp 4, then ticks down until it shows about 8 minutes, then cuts out of warp.

There is a lot of other mods on this install, i doubt however that any of them interferes with the time warping...will check that out by uninstalling them.

Another idea: I will probably not tap into that new custom warprate when warping to a point on the rail by clicking that rail, will i? So i guess i am using the default warpto routine, which seems to have be bugged by the mod?

My problem is that i use the default warpto via kOS. Its nothing gamebreaking, its just manual warping to the correct point of time when it doesnt work. Just annoying, no priority tho if you got stuff to do :)

 

 

Link to comment
Share on other sites

1 hour ago, angrybold said:

I will probably not tap into that new custom warprate when warping to a point on the rail by clicking that rail, will i? So i guess i am using the default warpto routine, which seems to have be bugged by the mod?

Correct, that is using the built in "warp to" feature. Which, to be honest, I can't get working consistently even when I don't have time control installed at all. I'm not sure I would be able to override the built in warp to methods. What I can do is add an 'API' to the issue tracker, so that if KOS wants to they can hook into the Time Control warp features. I don't override or mess with anything that the default WarpTo method does (I can't even know *what*, exactly, it does do, since I can't seem to get consistent behavior from calling it).

Additionally, the new code I wrote runs in a different part of the game loop (FixedUpdate), which appears to do a heck of a lot better job at speeding along at high warp rates almost just right up to the point that time needs to stop, instead of wasting 10 realtime seconds at 2x speed, for example.

One thing I do want to do is add additional ways to auto-warp, kind of like Kerbal Alarm Clock (but I don't want to necessarily have to recreate features that already exist in KAC). Key bindings to rails warp for a specific time, auto-warp buttons, etc. I could add some possibilities to this enhancement idea, say "Auto-Warp to Periapsis - X" where X is a # of seconds, etc. I think the killer feature would be key bindings for this, so that for early missions when you aren't running 10 missions at once and don't need the KAC features, you can use the keys to get to wherewhen you want to go.

Edited by westamastaflash
Link to comment
Share on other sites

That warping to pointY - secondsX sure would be a cool feature. Keybindings could be cool aswell...however im not good with those. Should at least bind the hyperwarp to some keys, i guess.

Concerning integration with kOS i am quiet sure that, in addition to the better timewarpto, there is a huge request for getting out of warp FAST. As many(myself included) tend to use responsive scripts, instead of precalculated math to figure the correct times, it would be awesome to have the possibility to get out of the 10k warp to a standstill without losing 5 minutes or so while the warp slows down. If there is a way to make that happen that would change a lot.

Now i feel like i should not just be pitching ideas/work. Problem is i do not know excrements about coding mods and the infrastructure of the game. However if you you would like to work on this, i would like to help. Any ideas? I could learn, but to be productive would take a little time :)

 

Link to comment
Share on other sites

2.2 update released. New 'beta' feature - Homeworld Timekeeping for those of you playing in rescaled solar systems. Also some bug fixes.

2.3 plans:

Link to comment
Share on other sites

Now that the cfg works again

Couldn't find appropriate planet/experiment!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Unpacking Satnet 2
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[KSP Interstellar] GameEventSubscriber - detected OnVesselGoOffRails
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:49 PM] [TimeControl(2.16048): ]: <Trace> (onVesselGoOffRails) - method start (event)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:49 PM] [TimeControl(2.16048): ]: <Trace> (onVesselGoOffRails) - method end (event)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

7/26/2016 4:06:49 PM,KerbalAlarmClock,Removing DrawGUI from PostRender Queue
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Updating vessel voxel for Satnet 2
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Real-time resumed. Current UT is: 331911190.2. TgtUT Error is -510.48s. (Undershot)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

7/26/2016 4:06:49 PM,KerbalAlarmClock,Adding DrawGUI to PostRender Queue
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

7/26/2016 4:06:49 PM,KerbalAlarmClock,Skipping version check
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Std dev for smoothing: 0.5 voxel total vol: 64.5281750028285 filled vol: 0.352471932562636


 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:50 PM] [TimeControl(2.16048): ]: <Trace> (Settings.onShowUI) - method start
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:50 PM] [TimeControl(2.16048): ]: <Info> (Settings.onShowUI) - Unhiding GUI for Settings Lock
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:50 PM] [TimeControl(2.16048): ]: <Trace> (Settings.onShowUI) - method end
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

UIMasterController: ShowUI
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Game Paused!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:50 PM] [TimeControl(2.16048): ]: <Trace> (TimeController.onGamePause) - method start (event)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

[7/26/2016 4:06:50 PM] [TimeControl(2.16048): ]: <Trace> (TimeController.onGamePause) - method end (event)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

 

Real-time resumed. Current UT is: 331911190.2. TgtUT Error is -510.48s. (Undershot)

Well the game realizes that it fails there. No clue why TC causes it tho. Any ways, that undershot does not happen without TC.

Link to comment
Share on other sites

6 hours ago, Spartwo said:

Would you consider adding slow-motion rails warp

Like Rails Warp, where physics is suspended, but at 1/2 or 1/4 etc Real-time speed? Or an "auto warp to time" in slow motion?

 

Enhancement request created for it.

https://github.com/ntwest/TimeControl/issues/11

Edited by westamastaflash
Link to comment
Share on other sites

9 hours ago, angrybold said:

Well the game realizes that it fails there. No clue why TC causes it tho. Any ways, that undershot does not happen without TC.

Good news. I *think* I've solved it and the bug fix will be in the next release. 

 

 

 

Link to comment
Share on other sites

New patch release, 2.2.1. Resolves issue #12, the standard warp to functions behaving erratically.

Aw crap. Something weird happened to the Slow-Mo slider. When moving it back to 1, it does not reset the Time to 1. Fixed in 2.2.2, released.

Edited by westamastaflash
Link to comment
Share on other sites

3 hours ago, westamastaflash said:

New patch release, 2.2.1. Resolves issue #12, the standard warp to functions behaving erratically.

Aw crap. Something weird happened to the Slow-Mo slider. When moving it back to 1, it does not reset the Time to 1. Fixed in 2.2.2, released.

gaaah, github service outage. Gotta go fast. No download mirrors? I suppose I can revert to 220 till github is restored.

Link to comment
Share on other sites

One interesting thing I noticed is that when I'm doing interplanetary stuff like my last mission to tylo. And I those very precise orbits and I slam the on rails auto warp via kac or tc. Sometimes it throws my orbit off and I don't get my encounter. And when I try to warp manually then it works ok. Doesn't always happen though. 

I found that quicksave is your best friend on going to joolian system

Link to comment
Share on other sites

10 hours ago, Maltman said:

And I those very precise orbits and I slam the on rails auto warp via kac or tc. Sometimes it throws my orbit off and I don't get my encounter. And when I try to warp manually then it works ok. Doesn't always happen though. 

Mostly this is due to the inaccuracy of patched conics and the solvers (particularly the joolian system). See these posts.

 

Edited by westamastaflash
Link to comment
Share on other sites

Nice to see the warping thing got fixed. Thank you westamastaflash.

Now i found another little bug and i asume it is related to TC. Tried to replicate without TC ---> nothing happened. Similar to what Maltman said. Maybe even the same issue. Its not limited to SOI changes tho.

When autowarping low over a planet(in this case eart from RSS) it will mess with the one conic it is on allready. As the maneuver that is planned changes the deltaV on start of the warp(the conic change happens there, instantly) i assumed it might be related to the game not coping well with the increased warprates. Set those back to vanilla, still had the issue.

Link to comment
Share on other sites

@westamastaflash

Small feature request: in the rails warp, there is a little blank space next to the checkbox "Pause when time reached" - any chance to add a countdown till your timewarp ends in that spot? As in, warp for an hour and watch it count down from 60minutes to 0. That type of thing. No reason it couldn't be elsewhere, but that spot seems like prime real estate for it.

:)

Link to comment
Share on other sites

21 hours ago, Deimos Rast said:

@westamastaflash

Small feature request: in the rails warp, there is a little blank space next to the checkbox "Pause when time reached" - any chance to add a countdown till your timewarp ends in that spot? As in, warp for an hour and watch it count down from 60minutes to 0. That type of thing. No reason it couldn't be elsewhere, but that spot seems like prime real estate for it.

:)

I am actually planning a brand new 'tab' for auto-warping, with additional keybindings as well and possible kerbal alarm clock integration (but I don't want to recreate what KAC already does). One thing I will look into adding is a countdown. This will require a bit of math based on the max rails warp it selects...

Edited by westamastaflash
Link to comment
Share on other sites

On 8/1/2016 at 7:02 AM, angrybold said:

Nice to see the warping thing got fixed. Thank you westamastaflash.

Now i found another little bug and i asume it is related to TC. Tried to replicate without TC ---> nothing happened. Similar to what Maltman said. Maybe even the same issue. Its not limited to SOI changes tho.

When autowarping low over a planet(in this case eart from RSS) it will mess with the one conic it is on allready. As the maneuver that is planned changes the deltaV on start of the warp(the conic change happens there, instantly) i assumed it might be related to the game not coping well with the increased warprates. Set those back to vanilla, still had the issue.

Does this issue occur with Time Control Auto-Warp or Built-In Autowarp? 

As I understand it, you're saying that the manuver node dV changes as soon as you begin an autowarp? I wonder if it has anything to do with the initiation of warp going from real time to a very high rate 'instantly'. Can the issue be replicated by clicking on the fastest arrow of the stock warp GUI?

 

 

Link to comment
Share on other sites

  • 1 month later...

Under KSP 1.1.3 with version 2.2.2 of this mod installed (using its default settings) I get a bunch of these logged to my KSP.log:

[EXC 00:25:57.497] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
    System.String.Substring (Int32 startIndex, Int32 length)
    GameSettings.WriteLauncherCFG ()
    GameSettings.SaveSettings ()
    TimeControl.Settings.Update ()

I did not press any buttons, change warp rates, or (as far as I know) do anything that would invoke Settings.Update, yet this seems to be triggered several times in a row.

Here's a bigger snippet, likely generated while I was launching a craft:

Spoiler

[LOG 00:28:32.112] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TimeController.StartAfterSettingsReady) - Wiring Up Settings Property Changed Event Subscription
[LOG 00:28:32.113] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TimeController.UpdateInternalTimeWarpArrays) - Resizing Internal  Warp Rates Array
[LOG 00:28:32.113] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TimeController.UpdateInternalTimeWarpArrays) - Resizing Internal  Celestial Body Altitude Limits Arrays
[LOG 00:28:32.114] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TimeController.UpdateInternalTimeWarpArrays) - Setting Internal Rates and Altitude Limits
[LOG 00:28:32.115] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TimeController.StartAfterSettingsReady) - TimeController.Instance is Ready!
[LOG 00:28:32.121] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> () - Changing Date Time Formatter to defaultDTFormatter
[LOG 00:28:32.122] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TCGUI.StartAfterSettingsAndControllerAreReady) - Wire Up Settings Property Changed Event Subscription
[LOG 00:28:32.123] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TCGUI.StartAfterSettingsAndControllerAreReady) - Getting selected SOI as Current SOI
[LOG 00:28:32.124] [9/17/2016 12:28:32 AM] [TimeControl(2.26052): ]: <Info> (TCGUI.StartAfterSettingsAndControllerAreReady) - TCGUI.Instance is Ready!
[LOG 00:28:32.359] [MessageSystem] Reposition 0.02 13735
[LOG 00:28:32.396] 9/17/2016 12:28:32 AM,KerbalAlarmClock,Contracts System Ready
[LOG 00:28:32.747] 9/17/2016 12:28:32 AM,KerbalAlarmClock,Setting App Button True
[LOG 00:28:32.997] [UIApp] Adding ContractsApp to Application Launcher
[LOG 00:28:32.998] ScaleModList: listSize 123 maxListSize 2394
[LOG 00:28:33.103] [GenericAppFrame] Reposition 0.22 13740
[LOG 00:28:33.208] [UIApp] Adding KSPedia to Application Launcher
[LOG 00:28:33.210] ScaleModList: listSize 123 maxListSize 2353
[LOG 00:28:33.931] UIMasterController: ShowUI
[EXC 00:28:36.963] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:28:41.966] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:28:46.970] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:28:51.971] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:28:56.976] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:01.977] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:06.979] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:11.982] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:16.986] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:21.987] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:26.992] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:31.993] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:36.996] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:41.998] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:47.002] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:52.009] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:29:57.023] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:02.026] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:07.029] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:12.031] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:17.035] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:22.035] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:27.042] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:32.059] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:37.060] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:42.064] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:47.067] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:52.068] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:30:57.071] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:02.074] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:07.078] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:12.079] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:17.083] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:22.084] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:27.088] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:32.090] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:37.095] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:42.095] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:47.098] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:52.100] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:31:57.104] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()
[EXC 00:32:02.106] ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
	System.String.Substring (Int32 startIndex, Int32 length)
	GameSettings.WriteLauncherCFG ()
	GameSettings.SaveSettings ()
	TimeControl.Settings.Update ()

 

(ps. Please quote or tag me in reply)

Edited by Fwiffo
Link to comment
Share on other sites

  • 2 weeks later...

I've noticed with 1.1.3 specifically that if I slow down time (for an in-system alcubierre jump usually), I can't get time back to full speed, even if I set the slider correctly; this *used to* work.  Workaround is to set the slider correctly, then F5/F9 quicksave/quickload, and it's fine again.

Link to comment
Share on other sites

  • 2 weeks later...

@Fwiffo

That's a really strange error. Update() runs every frame no matter what, but the GameSettings.SaveSettings() should only be triggered when the time control settings are saved. The error itself appears, according to the log, to be coming from WriteLauncherCFG which is not in the API and probably a private function.

Can you remove time control on your existing installation, and modify a Game Setting from the settings menu, and see if this same error occurs? I'm not 100% sure it's specific to Time Control, it might be related to how your install is set up. Can you also try to make a backup copy of your settings.cfg file in the KSP directory and then delete it, and see if regenerating the file fixes the issue?

Edited by westamastaflash
Link to comment
Share on other sites

On 9/28/2016 at 7:12 PM, ss8913 said:

I've noticed with 1.1.3 specifically that if I slow down time (for an in-system alcubierre jump usually), I can't get time back to full speed, even if I set the slider correctly; this *used to* work.  Workaround is to set the slider correctly, then F5/F9 quicksave/quickload, and it's fine again.

Can you try binding a key to the "realtime" button in the settings, and see if that will return you to realtime? Also, can you change logging mode to Trace, and post the output from the point you slow time down, to the point where you have exhausted your attempts to return to real time? Do you have any other mods installed that mess with time in any way (except Kerbal Alarm Clock, it should be fine).

Edited by westamastaflash
Link to comment
Share on other sites

Hey @westamastaflash, love your mod!

But I found out it has a minor conflict with some enhancements @Boop made to @linuxgurugamer's super-helpful EditorExtensionsRedux mod.

Recent versions of EER temporarily unbind the symmetry (X) and angle snap (C) hotkeys while in the Editor, in order to take over their handling and prevent the game from performing its default actions (which were previously in a bit of a race-condition with the mod's handlers and causing flakey-feeling behavior / timing issues).

It restores them when the scene is exited.

However, it seems your mod is triggering a call to GameSettings.SaveSettings while in the Editor.  That's saving the unbound settings, which causes some grief if the game crashes or is killed before the user leaves the VAB/SPH.

Any chance you could avoid triggering that when in the VAB/SPH?  Since TimeControl's knobs and levers aren't available in that scene, and AFAIK the user can't adjust time delta in it, I'm hoping this is an easy tweak for you.  It would sure help us out.

I noticed you don't have a KSP 1.2-compatible release of TimeControl yet; let me know if you need help setting up an EER containing these modifications under KSP 1.1.3 (you need EER 3.2.14 and my DLL that backports Boop's fixes).  Or alternatively I'd be happy to test for you.

More details (including the chunk of code we're asking you to modify) are described here:

Grateful if you could throw us a bone!

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...