Hi, in my engine I have a system that records all inputs into the engine (controller, keyboard, files, RNG, etc) out to a file. I can then start the engine up with that file and it will faithfully reproduce exactly what was seen by the player when the file was made.
Additionally, it has a movie maker that will take the aforementioned file and, as it plays it back, record every frame to a movie file. While it produces every frame into the file as if the game were operating at 60fps, the act of writing the files to the movie takes additional time and so it instead runs closer to 15 fps. As far as anything inside the engine is concerned, though, it's running at 60 fps. "How long has passed since the last frame was rendered?" always returns 0.01666… seconds. Everything works great.
Until I added JigLibX. When executing the input recorded file the physics misbehaves.
Does JigLibX access time from someplace other than Integrate? Does it use a Random Number Generator? Is there some reason that it's not deterministic?
Thanks for any info.