Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restore synced demo playback #20

Open
malespiaut opened this issue Jul 18, 2023 · 12 comments
Open

Restore synced demo playback #20

malespiaut opened this issue Jul 18, 2023 · 12 comments

Comments

@malespiaut
Copy link
Contributor

No description provided.

@fabiangreffrath
Copy link
Owner

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
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Owner

Another useful resource:

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

@fabiangreffrath
Copy link
Owner

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
Copy link
Contributor Author

I think that this is the way to go!

@fabiangreffrath
Copy link
Owner

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
Copy link
Contributor Author

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

@erysdren
Copy link
Collaborator

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

@fabiangreffrath
Copy link
Owner

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

@erysdren
Copy link
Collaborator

erysdren commented Aug 1, 2024

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
Copy link
Owner

Sound reasonable, thanks!

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants