DXX-Rebirth Forum

Full Version: D2X - Demos stop playback upon entering secret level
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Just recently, I got a pretty solid Descent II Hotshot speedrun that I wanted to record in higher quality locally. To my disappointment, I found that the demo file immediately stops playback as soon as I enter a secret exit portal, despite the fact that the demo file recorded all the way to the end of the playthrough. As such, the only record of my run is the highlight from my livestream (which is run on a connection with 0.6 mbps upload, so is obviously severely lacking in quality) and a bloated 100 MB demo file that only plays back the first four levels of the run.

Demo was recorded and replayed in D2X-Rebirth V0.58.1. I'm uploading the demo file elsewhere right now, in case you need it. EDIT: Here's the demo file.
What you notice is a misconception between the demo format and how the game handles savegames. To switch between a normal Descent 2 level (the host level) and a secret, the game has to make a savegame for the host level and loads it when you exit it. I looked into this multiple times but it's not easy to pull this off without using any horrible hacks. It certainly is to a certain degree, but I am afraid it might break more than it would "fix".
Tho I must say, the game SHOULD stop the recording when the actual playback also ends and prompt you to save the demo file. I will look into that and get this fixed.
Ah, that explanation makes sense. I always wondered why you couldn't save/load during secret levels.

After poking around to see if there was any way around this, I realized that the game normally stops the demo recording upon going to a secret level as you said. However, it doesn't do so if you use the secret portal as an alternate exit (meaning entering the secret level during the base level's self-destruct). Perhaps it skips part of the save/load step (and consequently the command to stop demo recording) because there's no need for a save state if the base level is destroyed?

Even if demo playback was only fixed for these cases, that would be immensely helpful; any% speedruns only ever use secret exit portals in this fashion.
I can check if I can try and continue the proper recording if you never return to the base level. But I cannot make promises there as - honestly - I don't know exactly how the game handles this internally. If we can get around without loading, it should work but it's possible the game still tries to load the base level to make the logical conclusion to send you to the next level. It's weird sometimes. But if it works, I'll check it out. If not, I'll definitely fix it up so the demo is at least properly saved.