EVENTRECORDER: Fix synchronisation, add 'update' mode #3342
The text was updated successfully, but these errors were encountered:
This is required for Director to allow testing arbitrary files that aren't part a game, e.g. Lingo Dictionary.
This fixes a stack overflow when EventRecorder is used and debug logging is switched on.
Screen update boundaries are now used as sync points. Screenshots are now processed on a screen update boundary. This change increments the version of the Event Recorder file format to 2; version 1 files will still play back as before, without synchronising to screen updates.
Previously the file format had all chunks, offsets and values stored in little-endian format. The one exception was screenshots, which used the existing THMB code in graphics/thumbnail.cpp, that is entirely big-endian. Any tooling which attempts to parse the Event Recorder file format must make a special exception for THMB chunks, and read the chunk size and contents as big-endian. In the interests of making the file format more consistant to parse, and given that backwards compatibility is not required for this iteration of Event Recorder, this patch changes everything to big-endian.
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments.