Open malespiaut opened 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.
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.
Another useful resource:
https://bitbucket.org/gamesrc-ver-recreation/rott/src/master/
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.
I think that this is the way to go!
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. 😉
I'm a complete stranger to this approach, I'm afraid that I'll have to watch you do it first to understand!
@fabiangreffrath Do you think this one can be marked as finished?
Are we sure that at least all demos bundled with the registered and the Shareware version run through without desyncing on both resolutions?
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).
Sound reasonable, thanks!
After all, we don't have to claim we are demo compatible, just remove the claim that we are not. 😉
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?