fabiangreffrath / taradino

SDL2 port of Rise of the Triad
GNU General Public License v2.0
33 stars 8 forks source link

Restore synced demo playback #20

Open malespiaut opened 1 year ago

fabiangreffrath commented 1 year ago

This is an important point, but also a tremendous amount of work. Do you already have an idea for this?

I'm afraid we will have to copy entire code blocks back from https://github.com/videogamepreservation/rott

Is there a public demo archive available such as dsda for Doom?

malespiaut commented 1 year ago

I've tried to work on this myself with no success. It's a difficult task, as you said.

As far as I know, there's no public demo archive available for ROTT. While this game had a lot of tools available, it never really had the legacy of Doom. There's a pinch of custom maps and sounds (I may have an archive, somewhere…), but that's it.

fabiangreffrath commented 1 year ago

Hm, it's even more difficult to detect where and why demos desync, if you don't have any chance to detect if they desync at all - just because there aren't any reference demos available.

fabiangreffrath commented 1 year ago

Another useful resource:

https://bitbucket.org/gamesrc-ver-recreation/rott/src/master/

fabiangreffrath commented 1 year ago

My idea is to fix the immediate issues first, e.g. input system overhaul, and then apply some code formatting. And then we can compare our versions of rt_*.c with the originals (formatted the same way) to see where the demo desyncs may come from.

malespiaut commented 1 year ago

I think that this is the way to go!

fabiangreffrath commented 1 year ago

I think we need some NULL pointer dereference emulation as in Chocolate Doom for the parts in the code commented with CRASHPREVENT. And we finally need a desyncing demo. 😉

malespiaut commented 1 year ago

I'm a complete stranger to this approach, I'm afraid that I'll have to watch you do it first to understand!

erysdren commented 2 months ago

@fabiangreffrath Do you think this one can be marked as finished?

fabiangreffrath commented 2 months ago

Are we sure that at least all demos bundled with the registered and the Shareware version run through without desyncing on both resolutions?

erysdren commented 2 months ago

At some point I'll go through and inspect each one at both resolutions, and then compare to same being played back in DOS. Should settle it once and for all, since there's not that many demos included in the game (and I don't think many were recorded by fans).

fabiangreffrath commented 2 months ago

Sound reasonable, thanks!

After all, we don't have to claim we are demo compatible, just remove the claim that we are not. 😉