My £0.02 (which is worth more than $0.02 ($0.0332860 at the time of writing))HotWax wrote:Is this really worth it?
Is it worth it? No.

It's either new features or demo compatibility. If you want to maintain demo sync with old versions you simply must not change anything that alters the gameplay in even the slightest way (this includes bug fixes!) Look at the source ports that maintain demo sync. None of those has really good editing features and if the programmers want to change something they often have to hack around because they cannot make the changes without breaking demo compatiblity. I'd take better features any time.Chris wrote: That's ultimately up to Randy and how he thinks to implement such a change. Given enough knowlegde of the ZDoom source, it would be something I would at least look into.
So it is because there is more (or less) code to execute than before, so that takes up 1/(10^10) of a second each tic more?randy wrote:Indeed it will. Very badly, in fact.Nanami wrote:I imagine 48 will break 47 demos because of all the major changes
Already and would do not mix, either it does or it should do.This happens already. A checksum of loaded wads at record time would obviously be the ideal choice.
I'm not sure you're understanding what I'm saying. I'm suggesting to store more data in the demo lump so when it plays back, it's much less reliant on engine behavior.It's either new features or demo compatibility.

To store sufficient data to make demo playback safe enough would mean to blow the whole thing out of proportion.Chris wrote:I'm not sure you're understanding what I'm saying. I'm suggesting to store more data in the demo lump so when it plays back, it's much less reliant on engine behaviorIt's either new features or demo compatibility.
IMO, keeping old code around for the sole purpose of maintaining demo compatibility makes for harder to maintain code. Nor is it always obvious what needs to be kept around. Even seemingly minor changes can have a big impact on the outcome of a demo. It's much easier just to forget about supporting demos from one version indefinitely. Remember, not even the original Doom maintained demo compatibility between versions.Hirogen2 wrote:So it is because there is more (or less) code to execute than before, so that takes up 1/(10^10) of a second each tic more?

Chris wrote:*shrugs* it was just an idea I had to fix the problem of demo incompatiblity. Yes, I realize they're "just demos", and I'm not going to be losing any sleep over it. It just sounded like a good idea at the time, and if it is that hard to do, I can understand.
I still think the basic idea should be looked into though. Store more data to help keep the demos in sync. If what I proposed was overkill, maybe there's a better balance between ease-of-implementation, demo size, and demo version compatibility. But I really don't know what the demo lumps store in the latest versions of ZDoom to know if much more can be stored without changing things past such a balance threshold.
Nor is it fully working code anyway. The original Doom2.exe was pretty good at recording demos, but I regularly used to find things going out of synch if I ever recorded a demo where I encountered a Revenant which fired a homing rocket.randy wrote:IMO, keeping old code around for the sole purpose of maintaining demo compatibility makes for harder to maintain code.
The idea's sound, and if someone was bound and determined to implement cross-version compatible demos I guess that's their business. I didn't mean to rain on your parade, just suggesting this is not what ZDoom's really about. ... Besides, it'd just delay 2.1.0 longer.Chris wrote:*shrugs* it was just an idea I had to fix the problem of demo incompatiblity. Yes, I realize they're "just demos", and I'm not going to be losing any sleep over it. It just sounded like a good idea at the time, and if it is that hard to do, I can understand.
I still think the basic idea should be looked into though. Store more data to help keep the demos in sync. If what I proposed was overkill, maybe there's a better balance between ease-of-implementation, demo size, and demo version compatibility. But I really don't know what the demo lumps store in the latest versions of ZDoom to know if much more can be stored without changing things past such a balance threshold.