Open Cosine256 opened 6 months ago
IIRC the "Run in last API instance" option was added partly for and fixes this special case, but it's been too long since I made this for my old brain again.
I see now, enabling that option does fix the issue. It looks like it defaulted to being disabled whenever it was added and I decided not to mess with it at the time. What reasons would there be to have that option disabled?
The reason is pretty theoretical, but OL can't really promise the attached PL version even has a PauseAPI, but since PauseAPI and the ability to detect the existence of PL were added at the same time, it hardly matters. It should probably be default on.
And to be clear, PauseAPI will just run in OL with the option enabled, but no PL or PL in speedrun mode, since it is now "the last api instance" and also the only one.
Ok, I thought it might just matter only if you had two versions of the script API attached, which doesn't seem like a very good idea now that they can share a bucket. Maybe just defaulting it to true would be a good enough fix for this issue, and maybe warn users that there isn't much reason to disable it unless they really know what they're doing.
Inputs are being dropped during the first frame advance after tabbing into the game when running PL + OL. This might look familiar because I originally reported it in the PauseAPI PR. It was fixed there, but only for plain OL. I've just now noticed it happening with PL + OL.
Those first inputs are ignored by the game during that frame advance, and will keep being ignored until released. Any newly held inputs during subsequent frame advances are processed correctly, but the first set of inputs keeps getting dropped. Releasing the first set of inputs fixes them, even if you don't frame advance while they're released.