+2
Fixed

Movement controls lock-up after removing module component

Rob 3 years ago updated by Tyler Owen (Lead Developer) 3 years ago 10

I'm following the initial Sandbox story. I'm at Alpha Hab fixing the modules however sometimes when I remove a component all the Look, Movement and Interact controls seize up after I've taken it. It doesn't happen every time, but it has occurred 3 times in the last 30 mins trying to get the modules repaired. When it happens I also lose access to the Datapad or Inventory, but I can still jump, crouch, flashlight, scanner. I have no choice but to Quit and start again from the beginning.

Forgot to mention that the text "...Repairing slot for 0 minutes ..." is also stuck on screen; it doesn't go away, but the Time, Oxygen and Battery readings continue to change.

It seems to be some kind of double input/activation issue which somehow locks the controls in a half here, half there state (the Datapad gets lowered but the movement controls won't get unlocked along with it).


A similar condition can be somewhat reliably triggered by this method:

- Left click on a healthy system slot with a component in it.

- Move the selection to "Remove Component" but also prepare to press the left mouse button.

- Hit Enter to activate the component removal button and just as when the Datapad switches back to the Home screen before being lowered, click with the left button.

- If you got the timing right, the Datapad gets lowered but movement controls and mouse look gets locked.

- If you press the "E" key in this state, the Datapad is brought up with the maintenance screen open as if you had just clicked the component slot again (which you probably did just as the Datapad was being put away).


The only difference here is that hitting Esc will bring the Datapad up and break the control lock, and after this, the first interaction attempt will also just bring the Datapad up with the Home screen instead of opening with what was clicked on.


The issue in the OP is likely a worse variant of this with the Enter keypress being doubled when activating the remove button, instead of an Enter + mouse click "fake" double, and that one irreversibly locks the movement controls but also prevents the Esc key from registering.


The issue in the OP is hard to reproduce: at one time I removed/replaced a component at least 50 times and it didn't happen, at another time I got it after interacting with various components maybe a total of 15 times.

On a related note: when you finish interacting with something and the Datapad starts to get lowered, the "crosshair" with the white circle around it already appears when the Datapad is still up and you can "click through" the Datapad. This has always been the case.


Actually, the partial control lock (Esc and Datapad hotkeys still respond) can be triggered simply by pointing at something which would bring the Datapad up when left clicked (but not clicking on it yet), bringing up the Datapad by either "E" or any hotkey, then dismissing it with either "E" or with the same hotkey and clicking the left button with a small delay (when the crosshair is already visible but the Datapad is still up). The Datapad gets lowered but movement controls remain locked, and the Esc or the "E" key brings up the Datapad which, when dismissed, will unlock the controls.

I have also encountered a slightly different version of this: I started repairs on a component slot, and it worked as normal, slightly darkened screen during the repair, time accelerated, repairs finished, screen darkening off. Then a few seconds later the darkening came back by itself but I still could move. I interacted with the object I just repaired again but instead of the Datapad coming back up, the full control lock occurred.

Fixed

Seems like this has always been a problem. I've now implemented a proper delay before reenabling the left click for object interaction after lowering the datapad. Thanks for the reports. Will be out in the next patch update.

The full control lock in the OP and the "clickthrough" partial control lock I mentioned are different issues; sorry if I managed to mash them together.


They are similar in their result and they feel as if being caused by input events registering in an unintended order, but while the mouse click version has a clear cause, the one in the OP is not reproduceable on purpose and started to happen only after the control rework so it's related to that.


The full control lock doesn't need mouse input at all, it still happens when only the arrow keys and Enter is used to interact with something in a way that will cause the datapad to get lowered on its own.

Under review

Took another look at this thread and you're right. I marked this as fixed even though I fixed an issue that wasn't actually part of the OP report. I haven't been able to reproduce the OP issue however. I'll open it back up and see if we can find a way to more reliably reproduce it.

Unless the fix was specific only to the situation when you yourself actively lower the Datapad by pressing the hotkey of the currently open screen or the E key, then it doesn't appear to be fully fixed. You can still break parts of the interaction process (and even the component slots of hab systems) by clicking on the repaired slot during the component slot repair period:


  1. Click on a repairable component slot to bring up the Datapad.
  2. Hit Enter to activate the default Repair Slot button and initiate the repair. Important: only hitting Enter breaks things, using LMB to activate the preselected button (and then trying to click a second time in the next step) prevents the issue from happening.
  3. A moment after the Datapad got lowered, you can click with the left button to hit the component you started the repair on during the repair timer.

The repair will appear to have been completed, but if you interact with the slot again, it will still show the previous percentage. Trying to repair again will give a negative repair time with no actual time being spent. If you check the slot state on the diagnostic screen, it will show as repaired.


However, the slot you clicked on during repair will also get into a "blank" state: try to click on another slot, close the Datapad then click on the "broken" slot again, and you'll see that it shows the status of the other slot you've clicked on. From now on, clicking on the "broken" slot will show information on whatever other slot you clicked on last before coming back to the "broken" slot insetad of what the "broken" slot itself is. You can break as many slots in this manner as you care to, all will behave the same way afterwards.


Depending on timing, the above process may also cause the repair timer to get permanently stuck on the screen, the repair time "darkening" to get permanently stuck on the screen, or the next left click not registering or not bringing up the Datapad.

Fixed

Somehow the LMB click was still enabled during the time fast forward transition and this appeared to be the linchpin of the issue. I've fixed that and now I believe the resulting weirdness cannot be triggered. Will have the fix out soon.

Fixed

I believe this should be fixed for the next patch update.