tesselslate / resetti

Minecraft multi-instance reset macro for speedrunning
GNU General Public License v3.0
15 stars 3 forks source link

Instances will occasionally not pause correctly #6

Closed DraconicCode closed 1 year ago

DraconicCode commented 1 year ago

Using the latest full release (0.3.1 iirc), instances occasionally do not pause on world load, and are shown as Generating in resetti. To fix, I have to select the instance (due to my settings, manually select it from the taskbar), reset like I would for single instance, then reset the instance in resetti.

tesselslate commented 1 year ago

If I had to guess, the issue here is that resetti attempts to read the Starting Preview and/or Saving and pausing game log lines before the game has fully finished writing them, which causes it to skip them on v0.3.1. This should be fixed as of b05c122.

If you're able to compile and run resetti from source on the latest commit then I think this issue should be fixed (assuming it doesn't take the game more than ~50 milliseconds to fully write a given log line, which should happen never/very rarely.). If not, I can probably publish a new pre-release version at some point.

sathya-pramodh commented 1 year ago

Uhh could we probably add a buffer to the pausing? Like maybe only pause it after like 10% of world load or something....Could handle all race conditions by what I've seen...

tesselslate commented 1 year ago

Waiting for the preview to reach a certain percentage isn't a bad idea. I haven't experienced any issues with instances not pausing on main where there is a 10 millisecond delay between entering preview and sending the pause inputs, although I have my loading_screen FPS limit in SleepBackground set to 30.

I'd be willing to do some tweaks to the pausing logic to make it more consistent if you are experiencing issues on the latest commit. If there's issues with instances not pausing when finishing world generation, though, that would be a bit more complicated (since right now the 10 millisecond pause wait is synchronous and blocks handling events from other instances.)

EDIT: I'll go ahead and try implementing pausing when reaching >10% on preview, since it should also help a bit with input lag on the wall scene.

tesselslate commented 1 year ago

Changed preview pausing to happen at 5% generation in 828cf50.

sathya-pramodh commented 1 year ago

Cool :DD I'll test it out a little bit and let you know how it turns out.

tesselslate commented 1 year ago

This should be fixed in 0.4.0-beta2.