henbagle / LE1CommunityPatch

Issue tracker for the Community Patch mod for Mass Effect 1: Legendary Edition
13 stars 0 forks source link

Softlock in Feros Skyway-Zhu's Hope Elevator #164

Closed Herobrine24 closed 1 year ago

Herobrine24 commented 2 years ago

Describe the bug If you use the elevator right after arriving on another level, you become softlocked. On the Skyway its no ability to control Shepard, rotate the camera or even bring up the pause menu. At Zhu's Hope its an infinite loading screen.

To Reproduce

  1. Enter Skyway-Zhu's Hope Elevator on Feros after dealing with the Geth in the tower
  2. Use the elevator
  3. Use the elevator again as soon as possible after the loading screen

Expected behavior Other area loading in as normal.

Other Considerations None

Screenshots & Saves Alden00_21.zip

Game file Possibly BIOA_WAR20_00

henbagle commented 1 year ago

This appears to be a very complicated streaming bug that I can't make heads or tails of. File is very likely BIOA_WAR20_00_PLC.pcc and BIOA_WAR00.pcc for streaming states. At first I thought that the "Reset_Streaming" sequence was being fired by the first elevator when the second elevator ride was still in its loading phase, which might break things, but gating this off properly didn't solve the issue. Ensuring that all elevator streaming states had the same Loaded Levels in the BioTriggerStreams (each way) also didn't solve the issue. Still investigating.

henbagle commented 1 year ago

Fixed, just editing BIOA_WAR20_00_PLC.pcc. My prior hypothesis was incorrect, the issue wasn't that Reset_Streaming was being fired when it didn't need to be, it was that it wasn't getting fired before the elevator was next used, because it was getting fired after the fade to black and door opening animation was completed.

Extra outlinks added to Origin_to_Dest and Dest_to_Origin in the elevator sequence. These ResetStreaming outlinks fire the Reset_Streaming sequence as soon as the streaming has completed, before the fade from black. This solves the infinite loading screens.

image

image

Additionally, the Failed outlink is now properly handled on four ChangeAPStates in Origin_to_Dest and Dest_to_Origin as this was causing the no control softlock.

There is also a loading modal that pops up in some instances when arriving and when exiting the elevator at the Zhu's Hope level, but since that would require editing the actual streaming I will save that for another bug report.