Page 1 of 1

Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 6:00 pm
by Nautilus
Gotta have this. Gotta move back and forth through the tics for maximum entertainment, baby. Let's get this done. Chop chop.


(Odamex is way ahead...)

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 6:34 pm
by Ænima
IIRC, Zandro already supports skipping ahead in demos by x amount of tics. I forgot what the CCMD was though.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 6:40 pm
by Qent
Rewinding is hard with the way demos work now: Zandronum would have to restart the whole demo and skip ahead to wherever you wanted to back up. If you try using demo_skiptonextmap, you'll see that this would take forever. Dunno what Odamex did, but it looks like they might have had to make a new demo format.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 6:51 pm
by Yellowtail
Ænima wrote: IIRC, Zandro already supports skipping ahead in demos by x amount of tics. I forgot what the CCMD was though.
"demo_skiptics" is the command.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 6:53 pm
by one_Two
Yeah a negative skip tics crashes zandro, but I think water started a ticket for this, dunno where that got.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 8:34 pm
by Medicris
If that's the case, what's the format for Odamex's demo files? An alternative source of information would be to analyze Source Engine demos, which to my knowledge use a similar demo recording method (just saving a string of packets sent and recieved directly into a file) and yet allows full editing capabilities.

Amount of labour to capture a moment can really change how much user-made content is put out there, such as frag videos, clips, and archives. Given a large and creative enough playerbase, it can drastically change the amount of exposure we all get.

On a barely related note I support a simple "demo_skipseconds" and "demo_skipminutes" coded as simple multipliers for demo_skiptics.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 8:42 pm
by one_Two
I have demo_skiptics binds for a second and a minute, pretty useful.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 8:44 pm
by Medicris
one_Two wrote: I have demo_skiptics binds for a second and a minute, pretty useful.
So do I, but it's something you just expect to be there in the first place.

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 10:12 pm
by Catastrophe
demo_skiptics xx
35 tics = 1 sec

I THINK on the latest zandronum developer build, putting a negative number for tics will rewind it. (Correct me if I'm wrong)

RE: Rewinding and Fast-forwarding Demos

Posted: Mon Feb 04, 2013 11:29 pm
by Konar6
You are wrong.
In the next version it just won't crash if you try negative number.


For rewinding demos, would it be solved by having a LIFO type buffer where the demo data would be stored and could be accessed for getting back the recent data in reversed order?

RE: Rewinding and Fast-forwarding Demos

Posted: Tue Feb 05, 2013 12:13 am
by Watermelon
Would adding a LIFO type buffer be something easy to implement or require a ton of work? If the latter, I sadly don't see it getting in.

The demo rewind feature is quite awesome IMO. I hope it's considerable to get deployed

RE: Rewinding and Fast-forwarding Demos

Posted: Tue Feb 05, 2013 4:49 pm
by Llewellyn
Medicris wrote: If that's the case, what's the format for Odamex's demo files? An alternative source of information would be to analyze Source Engine demos, which to my knowledge use a similar demo recording method (just saving a string of packets sent and recieved directly into a file) and yet allows full editing capabilities.
You cannot rewind Source demos. It simply restarts the demo and plays until it gets to the tic you specified.
(Source: Recording videos from demos in Source for ages.)

RE: Rewinding and Fast-forwarding Demos

Posted: Tue Feb 05, 2013 8:42 pm
by Medicris
Llewellyn wrote:
Medicris wrote: If that's the case, what's the format for Odamex's demo files? An alternative source of information would be to analyze Source Engine demos, which to my knowledge use a similar demo recording method (just saving a string of packets sent and recieved directly into a file) and yet allows full editing capabilities.
You cannot rewind Source demos. It simply restarts the demo and plays until it gets to the tic you specified.
(Source: Recording videos from demos in Source for ages.)
News to me. I stand corrected.

Wonder how TF2 demos can smoothly move frame-by-frame, even backwards. Does it really restart the demo and plays up to each frame every time it displays a frame? If so... I guess there's nothing too wrong with doing the same, as long as it's efficient enough.

RE: Rewinding and Fast-forwarding Demos

Posted: Wed Feb 06, 2013 12:47 am
by Llewellyn
Medicris wrote: News to me. I stand corrected.

Wonder how TF2 demos can smoothly move frame-by-frame, even backwards. Does it really restart the demo and plays up to each frame every time it displays a frame? If so... I guess there's nothing too wrong with doing the same, as long as it's efficient enough.
I dunno about TF2, it uses a different source branch than the other games... they might have modified demo playback, but I doubt it.
You can't rewind demos in HL2, GMOD, C:SS, CS:GO, so I don't know if they've done something in TF2 with the playback that essentially caches keyframes for quick playback, even in reverse (this is how most new games do it.) If you view a game like Halo, they made their demos cache keyframes that can be skipped back to instantly. Apply this all the way through and it allows you to play your demo backwords because the keyframes are close enough that you can jump backwords and then forwards quick enough for retrograde playback. I'm not aware that TF2 has a modified demo playback mode, but I've not played TF2 since the big "hat" update way back when.