I think the cleanest solution is just to move resetAfterLimitMode to be called after resetting the limit mode (if required). We don't need to be relying on limit mode-specific status updates while trying to exit that mode, so this avoids skipping the status API or duplicating the other requests...
Nope, no ">Last Spelunk</a>" after the quit action. It didn't appear to have returned to Spelunky mode, either. The charpane did switch back to the normal version in both the relay browser and the GUI, and the equipment manager had all three accessory slots available.
All the equipment...
Two more runs down, with debug on from just after the last turn > Exit > Close the Book > Back to the Main Map.
The first with stock release r28761 behaved as before, exiting the limitMode correctly but failing to actually update any skills/equipment/etc., resolvable with a soft refresh. In the...
This isn't quite fixed, but is definitely an improvement. It does exit the limitMode correctly now, but at least sometimes fails to refresh inventory/skills/etc, although a manual refresh does resolve that without a full restart.
I assume this is why resetAfterLimitmode was being called...
Alright, so just removing the weird CharPaneRequest thing entirely and doing it all in ChoiceControl seems to work. I can't really test the pre-perk condition anymore, but that should behave about the same, and I did manage a couple full-perk runs without crashing. Thanks for the assist!
PR...
Well, I'm glad I'm not alone in the "how does this even work?" camp. It definitely didn't happen at first, although I'm not sure when exactly it started. I figured it was just a weird one-off glitch, but it's been consistently sticking every time since then. I did ask a few others I've seen on...
This has occurred as recently as today in r28757 (with Java 21.0.9), but has affected multiple other versions over the past month or so, as well.
1. Use a Tales of Spelunking.
2. Play through Spelunky as normal.
3. Close the book in the last choice, and remain stuck in the Spelunky limit mode...