Space Engineers

Space Engineers

TEI - GPS Distance Helper
17 Comments
Confuoco 31 May @ 5:39pm 
Any chance this will get an update? ;D
r4v1n6 9 Jan @ 8:04am 
Hi, like @Kittamaru I have started using PluginLoader a little bit as well. The plugin 'GPS Folders and More' clashes a bit with this (for me) essential mod by requiring the folder tag to be first in the description.

I can't modify the plugin but I can modify this mod to fix it. Now it just replaces the first occurence of [...] anywhere in the description with the current distance (my changes begin at line 132).
https://pastebin.com/H7wuSsae
jhughes 21 Oct, 2024 @ 3:35am 
Thanks for updating that very useful mod. Coming back to Space Engineers after a few years away is hard WRT mods that used to work. Easily find GPS tags is critical to my game play.
Kittamaru 26 Dec, 2023 @ 12:33pm 
My apologies for the late response - I didn't realize Steam isn't showing me notifications anymore!

Yes, it is apparently a mod via PluginLoader called GPS Folders and More. It apparently also has the GPS distance function built in. I had completely forgotten about that plugin! My mistake.
Tilleen  [author] 11 Dec, 2023 @ 4:15am 
Hello @Kittamaru, I have never heard of a folder system for SE. Is it a mod, plugin?
Kittamaru 1 Dec, 2023 @ 3:28pm 
I have noticed one oddity - if I try adding the bookmarks to folders, it will start appending the distance to the folder name instead, like this:

[151.95m]:<Folder>Cobalt</Folder>
[5.39km]:Current position
Kerrie 27 May, 2023 @ 8:45am 
<3
condottiere 9 Apr, 2023 @ 9:08pm 
Just started using your version of this mod. It used to be a trivial irritation that Lucas' version would overwrite the entire description, so I couldn't leave detailed notes if I wanted to (I usually don't anyway).

Yours looks much more handy in that sense.

I didn't realize how much I missed the GPS distance functionality until just now using your mod! Thanks!
Tilleen  [author] 8 Apr, 2023 @ 8:58pm 
That would have happened anyway, before there was an enforced space after the ']', so you would loose the 'A' in your example, this will make it obvious that it is a used location.

At least that is my thinking.
Killimataro 8 Apr, 2023 @ 9:26am 
The CTD does appear to be fixed, thanks :)

This does have a small side effect of changing descriptions that look like "[0 m]AB" to "[0 m]:B". Not a big deal, but should be on the list of known bugs nonetheless
Tilleen  [author] 8 Apr, 2023 @ 5:31am 
I have hopefully fixed that bug.
Killimataro 7 Apr, 2023 @ 11:04pm 
I had swapped from creative to survival and died to get a respawn pod then deleted the body and gps to get rid of it. i dont think this had to do with it though
Tilleen  [author] 7 Apr, 2023 @ 9:22pm 
You are correct. It does need some work.
Why are you deleting the dead body, just curious?

It could also be that it is editing something that no longer exists because you deleted it?
Killimataro 7 Apr, 2023 @ 10:26am 
I did some more testing and looked at the code. It appears that editing a gps description such that it contains an open bracket in the 0th position and a close bracket anywhere else followed by nothing will cause this crash.

gps.Description = distanceString + description.Substring(closeindex+2); seems to be the line causing trouble as there is not enough safety checks around it to confirm that closeIndex + 2 will even exist. You are assuming that if you find an open bracket in the 0th position and another one not in the 0th position that the description also contains extra characters after the bracket
Tilleen  [author] 5 Apr, 2023 @ 5:57am 
Never had it CTD, but I will see if I can replicate that.
Killimataro 28 Mar, 2023 @ 8:05pm 
Got the same one after just editing a gps description. This appears to be broken for now.
Killimataro 28 Mar, 2023 @ 7:47pm 
CTD when deleting dead body gps

Exception occurred: System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex
at System.String.Substring(Int32 startIndex, Int32 length)
at Tilleen.GPSDistanceHelper.UpdateBeforeSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)