Page 1 of 1

Demo decoder

Posted: Mon Aug 26, 2019 10:56 pm
by a domestic cat
Hello,

since forever I had cg_autoAction set so that every time I enter a game, demo is recorded. Those who do the same know that over the time, this becomes a problem, as there's so much demos that it's almost impossible to find anything or anyone. I was using Media Manager by Hannes in the past to solve this, but it's a little bit heavy and unnecessarily complex for my needs - its primary purpose was different.

For this reason, and also for sake of my own curiosity, I've made a simple tool, which extracts some basic data from demo files, in bulk.

It simply parses demos and writes following messages to a single file:

- chat (global, team and fireteam),
- server popups (multi-kills, banners, stuff like that),
- kill messages - formatted the same way ET does.

In other words, anything you could see in your console after playing a demo is dumped. I'm not interested in weaponstats (stats dumping auto-action is for that), but as a side effect, end round statistics for all players are extracted as well.

Note that this tool is meant to be simple, so there's no GUI, but a console interface instead (use --help). Luckily, for those not familiar with that, there's a beginner mode - just place the executable in a folder next to your demos and run it. Every demo file (*.dm_84) will be parsed and output will be written to etdd.log. Obviously, this can take a while and there's almost no way to affect this, as demo files are compressed and it's mainly the decompression slowing the whole process down.

Resulting file can get big (up to 100 MiB a year), so don't expect every text editor to handle it. Geany is one of those capable, but simple Notepad bundled in Windows 10 is OK, too.

If you need to split the log, re-organize your demos or use the CLI.

Download here (linux, source). I've tested it against more than 10k of demo files without issues, but can't promise I've covered every scenario - if there's a problem, send me the faulty demo and I might fix it, if it's a valid demo file produced by ETPro 3.2.6. Other mods might work, but I don't care about those and won't adjust the parser to support them.

Re: Demo decoder

Posted: Tue Aug 27, 2019 6:30 pm
by a domestic cat
v1.1: Decoder now utilizes multiple threads during batch processing, which significantly increases performance.

Download links in first post updated.

Re: Demo decoder

Posted: Fri Aug 30, 2019 6:31 pm
by s0nic
Hey nice job, great tool for finding those multikills and big sprees to rewatch for ego boost :D