Project

General

Profile

Bug #24913

Vessel.situation stuck as LANDED when taking off after sliding. (Prevents saves, timewarp, leaving scene, etc.) Extendable Solar Panels breaking is the cause

Added by Dunbaratu about 4 years ago. Updated over 3 years ago.

Status:
Resolved
Severity:
Low
Assignee:
Category:
Gameplay
Target version:
Start date:
02/24/2020
% Done:

100%

Version:
Platform:
Windows
Expansion:
Core Game
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

I thought this was something I did wrong but after it happened consistently several times I decided to report it.

To trigger the bug: Land a craft on the Mun or Minmus - somewhere with low gravity and no atmosphere - and tip it over on its side as often happens on bad landings. Now scrape it along the ground a bit and tumble it a bit, as one often does when trying to get it back upright. Maybe a solar panel or two breaks [EDIT: Further investigation proves that you actually HAVE to break a solar panel to trigger the problem, and it must be one of the extendable kinds of solar panel - see others comments below.], but otherwise the vessel still is intact and works. Now take off by throttling up when you get it to rotate facing upward a moment, as one often does to escape this situation.

When I do this, it seems to quite consistently leave the Vessel.situation stuck as LANDED, forever. While I am trying to take off and get back to orbit, the camera is shaking a lot (because it thinks you're driving along the ground at high speed, rather than flying up to space). It won't let you save the game (because it thinks you are "moving over terrain", again because of that landed status.) If on Hard Mode, it won't let you leave the scene (the buttons are orange indicating that leaving the scene will delete the vessel, again because it thinks you are moving across terrain when you're actually flying up to space). The only fix is to get it re-landed so it thinks you are stationary on terrain, then leave the scene to the tracking station and reload the vessel from there. Reloading the vessel makes it set the situation correctly the next time you launch.

I'd show a savegame of this but I CAN'T because one of the things the incorrect LANDED status does is cause it to refuse to save the game ("moving across terrain"). I can't save the game until I find a workaround that resets the status.

The only mod I have is kOS, but I got this to happen even when kOS wasn't doing anything. I don't think kOS is causing it. Most of the time when I do the above steps, I am flying manually anyway as I try to scrape the ground and tumble it upright or fling it off a crater rim.

Untitled Space Craft.craft (15.6 KB) Untitled Space Craft.craft dok_377, 03/02/2020 08:24 AM

History

#1 Updated by Anth12 about 4 years ago

  • Status changed from New to Need More Info

I have definitely had this problem happen a lot more in 1.8 than previous versions (and that's without it being the one where landing gear that is retracted and contacts the ground that causes it.)

I did some minor testing on this with a relatively simple craft and its not happening.

Can you supply the craft file that is causing the issue?

#2 Updated by dok_377 about 4 years ago

Yep, this bug definitely happens when you momentarily "land" on a solar panel and it breaks afterwards. Thanks to OzzyInSpace and his stream to move my mind in that direction. In his stream he triggered this exact bug by tumbling a landed spacecraft and breaking a solar panel in the process. Firstly, I thought it might throw an NRE in the console because you "landed" on something that doesn't exist anymore, but that's not the case here. Maybe some other change in crafts configuration during a landed state can cause this issue as well, this needs further testing. Attaching the craft file used in the video and the video itself.

Video: https://youtu.be/DBfV7FIOe0E

Too bad we can't change the game version anymore, this bug probably is going to get lost again.

#3 Updated by dok_377 about 4 years ago

Looks like it doesn't happen when you undock or decouple something from the vessel.

#4 Updated by Anth12 about 4 years ago

  • Status changed from Updated to Confirmed

Tested this.
1. Get a lander with a strong amount of reaction wheels (so it can be righted after it falls over) + Extendable solar panels
2. Land on the Mun
3. Extend solar panel
4. Rotate Lander in a way that breaks the extendable solar panel
5. Get the Lander back up right.
6. Mouse over the broken solar panel part still on the Lander and see the broken pieces on the ground highlight even though they arent connected to the lander anymore
7. Lift off of the Mun surface
8. Go to Map View and see that the craft is reporting that it is still landed.

My theory is that KSP thinks the craft is landed on the surface because the broken pieces littered around on the ground are still counted as a part of the main vessel, they dont move when the craft lifts off so therefore...the craft is landed.

Work Around:
Quick Save on the ground before lifting off and then load quicksave if the extendable solar panels are ever broken

#5 Updated by Anth12 about 4 years ago

  • Subject changed from Vessel.situation stuck as LANDED when taking off after sliding. (Prevents saves, timewarp, leaving scene, etc.) to Vessel.situation stuck as LANDED when taking off after sliding. (Prevents saves, timewarp, leaving scene, etc.) Extendable Solar Panels breaking is the cause

#6 Updated by dok_377 about 4 years ago

Other workarounds:

Just enable timewarp so the game deletes those broken solar panel pieces. Or switch scene to the tracking station and back. That will also delete the pieces.

#7 Updated by Dunbaratu about 4 years ago

Anth12 wrote:

My theory is that KSP thinks the craft is landed on the surface because the broken pieces littered around on the ground are still counted as a part of the main vessel, they dont move when the craft lifts off so therefore...the craft is landed.

Good detective work.

I suspect you are 100% correct. The game probably does something like this pseudocode to detect that the ship is landed:

For each part of this vessel:
{
  Get all the colliders contained in this part, and for each of them:
  {
    if this collider touches a terrain polygon
    {
      set status to "landed".
    }
  }
}

What makes the extendable solar panel different from other Parts is that when an extendable panel breaks, it's not the whole part with all its colliders that breaks off or explodes. It's only a subset of the colliders that detach. The rectangular sections break off, But The Base Piece Remains Part Of The Vessel. It's still there and is still the same part in the vessel's parts tree. It's just now a part that has some of its colliders severed and laying on the ground, apart from the rest of it.

So the above pseudocode counts the solar panel as part of the vessel because that base piece is still connected, and those colliders laying on the ground are still being counted as part of that solar panel.

For the developer who works on this: Are there other parts besides Solar Panels that might have this same bug because part of it gets detached and left on the ground? The extendable heat radiators might have the same problem.

#8 Updated by Dunbaratu about 4 years ago

dok_377 wrote:

Other workarounds:

Just enable timewarp so the game deletes those broken solar panel pieces. Or switch scene to the tracking station and back. That will also delete the pieces.

There are easy fixes IF and only IF you notice the problem before you start taking off. Anything that reloads the scene, like going to the tracking center and coming back, seems to fix it. But once you start taking off you're helpless to fix it because the false "moving across the ground" message prevents you from doing things like enabling rails timewarp (it will force you to only be able to do physics warp).

#9 Updated by Dunbaratu about 4 years ago

  • Description updated (diff)

#10 Updated by dok_377 about 4 years ago

Dunbaratu wrote:

dok_377 wrote:

Other workarounds:

Just enable timewarp so the game deletes those broken solar panel pieces. Or switch scene to the tracking station and back. That will also delete the pieces.

There are easy fixes IF and only IF you notice the problem before you start taking off. Anything that reloads the scene, like going to the tracking center and coming back, seems to fix it. But once you start taking off you're helpless to fix it because the false "moving across the ground" message prevents you from doing things like enabling rails timewarp (it will force you to only be able to do physics warp).

Those workarounds are aimed at people that see this report. We can't influence people that do not see this bugtracker, and we can't let all people know there's something wrong with the game if they're not going to see this report, obviously. We're leaving it here so other people that seek solutions may find what they need.

#12 Updated by Dunbaratu about 4 years ago

dok_377 wrote:

Dunbaratu wrote:

dok_377 wrote:

Other workarounds:

Just enable timewarp so the game deletes those broken solar panel pieces. Or switch scene to the tracking station and back. That will also delete the pieces.

There are easy fixes IF and only IF you notice the problem before you start taking off. Anything that reloads the scene, like going to the tracking center and coming back, seems to fix it. But once you start taking off you're helpless to fix it because the false "moving across the ground" message prevents you from doing things like enabling rails timewarp (it will force you to only be able to do physics warp).

Those workarounds are aimed at people that see this report. We can't influence people that do not see this bugtracker, and we can't let all people know there's something wrong with the game if they're not going to see this report, obviously. We're leaving it here so other people that seek solutions may find what they need.

Those were the very people I was speaking to. It's quite important that deleting the panel debris by time warping is not a workaround you can do in response to the bug, it's one you have to do ahead of time in anticipation of the bug, before you see it manifest.

A person reading this page likely came here because they are in the middle of having this bug affect them at the moment, and can't save the game properly right now. I think clarifying that we sadly don't have a good workaround for that problem is relevant. We can tell you how to keep it from happening the next time, but we can't do anything about the fact that it's happening to you right now.

#14 Updated by just_jim about 4 years ago

  • Assignee set to just_jim

#15 Updated by just_jim almost 4 years ago

  • Status changed from Confirmed to Being Worked On
  • % Done changed from 10 to 30

#16 Updated by just_jim almost 4 years ago

  • Status changed from Being Worked On to Ready to Test
  • Target version set to 1.10.0
  • % Done changed from 30 to 80

This should be working now in 1.10

#17 Updated by Anth12 almost 4 years ago

  • Status changed from Ready to Test to Resolved
  • % Done changed from 80 to 100

Resolved

#18 Updated by Anth12 almost 4 years ago

The fixing of this might have caused #25744

#19 Updated by Whoop_whoop_pull_up over 3 years ago

For anyone still playing in KSP 1.9.x, another workaround is to use the HyperEdit orbit editor's "Set to current orbit" function to grab the active vessel's current orbit, and then hitting "Apply" to load the vessel onto said orbit; this doesn't change its orbit (since the orbit being applied is the same as its current orbit), but it forces the vessel's situation from LANDED to SUB-ORBITAL/ORBITING/ESCAPING (depending on whether the vessel is in a closed orbit and whether its orbit intersects the datum sphere of the current celestial body), allowing saving, timewarping, etc..

Also available in: Atom PDF