! Version info: libTAS version: 1.3.5 ! Annotation info: {{Game: Celeste, v1.3.1.2, drm-free version (available at https://mattmakesgames.itch.io/celeste), 64-bit binary. OS: Debian Buster amd64 with Linux kernel 4.19.0-5-amd64, libTAS v1.3.5. Game executable is `/path/to/game/Celeste.bin.x86_64`. libTAS must be configurated with `Runtime > Recycle threads` unchecked and `Runtime > Wait timeout > No waits` checked. In `File > Executable options`, library path must be set to `/path/to/game/lib64`. Like the previous Celeste movie, there is an issue in this game regarding sync and loading times. The movie must be paused for a short amount of time at specific frames to let the game load stages. This is especially true for the game startup which features a lot of thread spawning. To make the movie to sync, the beginning should be run with frame advance until the main menu appear (from frame 1 to 94). On the rest of the game, almost all loadings happen concurrently with thread spawning or terminating. Thanks to that, a good way to ease the playback of the movie is to add a sleep call in the game execution: in "src/library/frame.cpp" at line 262, add "NATIVECALL(usleep(2000000));" after "saveBacktrack = false;", which is executed when the thread set has changed. This does not cover several level loadings, which need to be paused manually at frame: 64001 (5A), 93204 and 98508 (6A), 115295 to 115323, 115358 and 147910 (7A), 156315 (credits), 219700 (7B) and 265365 (9). It should be noted that because this movie aims for fastest in-game time, and all loadings occur outside levels (where the in-game time is paused), it is not critical to simulate accurate loading times. For encoding purpose, there are a few settings that can be changed in the game menu before playing back the movie, which does not affect sync. The screen size can be changed. The speedrun clock can be set to "File". Also, we recommend to disable the screen shake and turn on photosensitive mode, it makes the video more pleasant to watch. }}