PKr Posted July 9, 2022 Hey! Recently I've been recording a demo of Eternal Doom in Sprinkled Doom. The demo plays nicely in Chocolate Doom and Sprinkled Doom. However when I tried to replay this demo in DSDA Doom, it breaks at the end of the map01 when revenants first shoot at me. Is that how a "revenant tracer desync" bug works? 0 Share this post Link to post
Dark Pulse Posted July 16, 2022 (edited) No, that would not apply to your case. The revenant tracer desync bugs works basically as a quirk of Doom's deterministic running state: To ensure demos can be rerun perfectly, the game sets an internal timer to 0 when it begins running, and increases it by 1 every tic that runs. Thus, normally a demo will also begin at tic 0 (since the level begins immediately when you tell it to record), but if the game has already been running, this value will not be zero. However, this is only a problem with internal demos (i.e; DEMO1, DEMO2, DEMO3...) as a result, since any external demos will, obviously, launch the game immediately, start running at tic 0, and the game will exit when the demo ends. Boom (the predecessor to PrBoom, which in turn is the predecessor to PrBoom+, which in turn is the predecessor to DSDA-Doom) fixed this logic, but as a result, demos made on non-Boom engines will need special handling to run properly on engines based upon Boom for anything that would require determinism - like revenant fireballs. More likely, it's due to the fact that since DSDA-Doom is based on PrBoom+, and your demo was recorded in Sprinkled Doom, you need to apply the right complevel. See if it will desync when you start it with Complevel 2. This can be done in multiple ways: The cheat code tntcomp can be used ingame. The game can also be launched with the -complevel parameter. Edit default_compatibility_level in the config file. Of course, if you're already set to complevel 2 and it's still desyncing, that indicates something else is afoot. As for Chocolate Doom, it would indeed retain this bug (intentionally), but again, that would only ever apply to internal demo reels. External demos, for the reasons mentioned above, will never have this bug, as it's not a problem with recording the demo, but instead with its playback. Edited July 16, 2022 by Dark Pulse 1 Share this post Link to post
Roebloz Posted July 16, 2022 1 hour ago, Dark Pulse said: No, that would not apply to your case. The revenant tracer desync bugs works basically as a quirk of Doom's deterministic running state: To ensure demos can be rerun perfectly, the game sets an internal timer to 0 when it begins running, and increases it by 1 every tic that runs. Thus, normally a demo will also begin at tic 0 (since the level begins immediately when you tell it to record), but if the game has already been running, this value will not be zero. However, this is only a problem with internal demos (i.e; DEMO1, DEMO2, DEMO3...) as a result, since any external demos will, obviously, launch the game immediately, start running at tic 0, and the game will exit when the demo ends. Boom (the predecessor to PrBoom, which in turn is the predecessor to PrBoom+, which in turn is the predecessor to DSDA-Doom) fixed this logic, but as a result, demos made on non-Boom engines will need special handling to run properly on engines based upon Boom for anything that would require determinism - like revenant fireballs. More likely, it's due to the fact that since DSDA-Doom is based on PrBoom+, and your demo was recorded in Sprinkled Doom, you need to apply the right complevel. See if it will desync when you start it with Complevel 2. This can be done in multiple ways: The cheat code tntcomp can be used ingame. The game can also be launched with the -complevel parameter. Edit default_compatibility_level in the config file. Of course, if you're already set to complevel 2 and it's still desyncing, that indicates something else is afoot. As for Chocolate Doom, it would indeed retain this bug (intentionally), but again, that would only ever apply to internal demo reels. External demos, for the reasons mentioned above, will never have this bug, as it's not a problem with recording the demo, but instead with its playback. Well, he explained it. But yeah tl;dr: Internal demos will desync because of Revenants since they don't start at tic 0. 0 Share this post Link to post
Shepardus Posted July 17, 2022 This was solved in a separate thread; the desync was due to a bug in Sprinkled Doom, and the demo in question actually desynced in Chocolate Doom too upon reevaluation. 1 Share this post Link to post