Prerequisites
Game Version
Bug Description
If a save game fails while loading the map-state block, the error message appears and the game returns to the main menu as expected. However, the ESC menu no longer opens in any single-player game started afterward. Saving, loading, changing options, and returning to the main menu are unavailable until the game is restarted.
Expected: a failed load should not affect the ESC menu in subsequently started games.
Actual: pressing ESC does nothing for the rest of the process. Restarting the game restores normal behavior.
Reproduction Steps
- Start a single-player game, save it, and return to the main menu.
- Corrupt the save so loading fails while reading
CHUNK_GameStateMap.
- Select the save from Load Game.
- Dismiss the “There was an error loading the game” message.
- Start a skirmish or campaign mission.
- Press ESC. The quit menu does not open.
- Restart the game and start another match. ESC works again.
Additional Context
GameStateMap::xfer sets TheGameLogic->setLoadingSave(TRUE) before transferring the map-state data and clears it only at the end of the successful load path. An exception skips that clear. The subsequent engine resets do not reset the flag, and canOpenQuitMenu() refuses to open the menu while isLoadingSave() remains true.
Prerequisites
Game Version
Bug Description
If a save game fails while loading the map-state block, the error message appears and the game returns to the main menu as expected. However, the ESC menu no longer opens in any single-player game started afterward. Saving, loading, changing options, and returning to the main menu are unavailable until the game is restarted.
Expected: a failed load should not affect the ESC menu in subsequently started games.
Actual: pressing ESC does nothing for the rest of the process. Restarting the game restores normal behavior.
Reproduction Steps
CHUNK_GameStateMap.Additional Context
GameStateMap::xfersetsTheGameLogic->setLoadingSave(TRUE)before transferring the map-state data and clears it only at the end of the successful load path. An exception skips that clear. The subsequent engine resets do not reset the flag, andcanOpenQuitMenu()refuses to open the menu whileisLoadingSave()remains true.