mirror of
https://github.com/DramaticShape/DramaticShapeVoxelMod.git
synced 2026-08-12 07:10:51 +02:00
120f9716b6
A POKEPORT_DRIVER run is deliberately unpaced -- main.lua's pacingEnabled() returns false whenever the variable is set, so love.run spins as fast as the machine allows and takes one Game:update(1/60) per turn of the loop. Right for a screenshot script, wrong for a recording: "wait 180 frames" is three seconds only by coincidence of hardware. No engine change needed. The loop is blocked while the driver coroutine is running, so sleeping inside it before each yield paces the whole thing -- one logic step per one sixtieth of real time, 1x by construction. Measured with DS_AUTOCLOSE: asked for 6.0s, took 6.31s, and it errs slow rather than fast. shiny_one.lua does ONE encounter and then never finishes, which is how the window stays up: main.lua quits the moment a driver coroutine goes dead. So closing the window by hand is what ends the take. shiny_run.sh launches the five in turn and blocks on each, so the next never opens over the top of one still being recorded, and a bad take can just be closed and re-run. It also puts options.lua back afterwards. The game persists the whole options table mid-run, so every capture leaves its display settings on disk.