Source Engine Demo Tool (SEDT) - Cancelled


Most of you will probably know, I am working on the thrid version of SEDT, called SEDT ep.1; After hundreds of bugfixes in alpha, here is beta build 2:

And here is the full features list:

Full speedrunning-project support in SEDT:

  • Demos get analyzed and get saved, together with the save and a optional _2 demo, in the project folder
  • Users can vote on recordings to ensure they have liked what they saw
  • Users can vote for moving on, which means, the best recording is used in the final run and the next run can be attempted
  • SEDT takes care of all demos and saves that occur in the run

All you have to do to make SEDT indentify your demo is:

  • Record a demo
  • Save and stop recording in one command (or within 100msec realtime)
  • Filenames are unimportant!

In order to sync up files, you can use a shared folder in dropbox (SEDT ep.1 is optimized for this). Every team member with access to the dropbox folder can open the project file.

  • Game detection! SEDT now finds your installed Source Engine games
  • I am sorry to announce support for non-orangebox demos cannot be granted anymore; the entire process will fail. I am sorry about this, but I have that on my todo list

A new demoinfo tool has been added:

  • Can open .dem and .SEDTRecord alike

  • Shows extensive stats about the demo

  • Allows watching demos with one click (or more, if there was a steam game running already)

  • Simple usage: you can drag+drop demos onto the window to add them, you can even set the demoinfo tool as the standard “open”-program for .dem and/or .SEDTRecord files

  • In SEDT, you can manage your files and even watch them (This has to be fixed still)

  • You can watch the entire run in one go (even before it is done)

Most important todos:

  • Projectless recording, even with non-OB game support
  • Outtake saving/management
  • Opening hl2.exe from within SEDT (this basically just has to be copied from the demo tool
  • Find the remaining bugs and crashes (Thanks to Yalter for finding alot of them, he is really good at breaking stuff :wink: )
  • Add an Installer, associate SEDT with SEDTProject files and the demo tool with SEDTRecord files
  • Updater

If you have any feature requests, ask me here or via pm, or add me in skype (pm me for that).
In order to run SEDT, you will need the .Net framework 4.0, found on the microsoft dowloads page (This requirement will be removed once I add the installer)


So how is watching demos implemented exactly? (Note I have never tried this tool and just skimmed through this changelog.) Do you spawn a new hl2-process and just pass in the playdemo command-line option? The reason I’m asking is because I had a quick go at a little tool some weeks ago which would allow automatic video capturing using the built-in “startmovie”, “endmovie” commands to ease creating the final video. This would involve scripting things like recapturing the beginning of each demo with hud_drawhistorytime set to 0, nulled ammo pickup sounds, etc. to conceal segment transitions as good as possible. The reason I stopped working on it after half an hour or so was that I couldn’t figure out how to stop the hl2 process once a demo finished playing. Passing a -exit along on the CL doesn’t do anything. Using any kind of heuristic to estimate the time it’d take to capture a clip and then manually killing off the process hardly sounds like a reliable solution. And as far as I know there are no hooks for scripting languages like lua in the source engine which would be of use, either.

By the way, chrome flags your zip archive as malicious and suggests to not even save it. What gives? Finally, any particular reason to keep this tool closed-source? I’m not suggesting the two are related, but making the source available would certainly go a long way in increasing trust in this tool, at least for me.

  1. The playing works just by spawning a new hl2-process, yes. It works for mods, too. The command used for playing is user-definable, by default it is just playdemo.
  2. My app is not entirely closed source, however I am not going to upload the sources for everyone. I checked the underlying libraries for copyleft paragraphs and found none. It is written in C# using Ookii Dialogs and the demo parser by someone whos name I forgot. I will have to look that up before the final release.
    If you would like to see the sources, pm me. However I do not see why you would want to see them :smiley: they are badly documented and 90% of the sources are just checks and error handling.
  3. I do not know why it is marked as malicious, I had no problems in firefox, even my antivirus doesnt note anything. I do not know what part of my program is causing the issues, maybe the system calls (reading steam registry and launching processes). I assure you there is no malicious intention behind SEDT :wink:
    VirusTotal finds nothing either, however I dont know if it only searches for known viruses or actually performs a scan.
    cu, CBenni



Maybe Chrome flags all .zip files from Dropbox as malicious (due to the fact that I’m sure it would have been used for something like that in the past)

For the source, host it somewhere like GitHub?


What benefit would that have over uploading it to dropbox on request?


Well generally having code versioned is a nice thing to have (could also use Google Code or Sourceforge, although GitHub allows other people to contribute back)


I have completely stopped working on SEDT and I dont know if I will ever pick it up again. To anyone wanting the sources, here they are:

Do whatever you want with them. You wont be able to understand the source code anyways.




If someone still has the source code, please hook me up with a copy of it. Thanks.


No idea if this is the correct version, its been a while…

Sources+Executable+ToDo list included. The code is total garbage, it would probably be better+easier to completely rewrite it from scratch…


Thank you.


I reforged the code and open for any ideas. If anyone know a feature which is missing, let me know. Ill lok into it.


The ability to see the keys being pressed in the demos, rather than key IDs but what key is actually being pressed, like “space bar” instead of just the number 116.


It would be really nice if there was a tool that would eliminate broken frames the way the segment stopping bind does, like perhaps add a different stop command that automatically does the same thing as the segment stopping bind (bind “save ;echo #SAVE#;wait 25;stop”)


That sounds really hard to implement, considering the undocumented demo firmat, this is just a timer and I doubt that would work well anyway. I just remove the broken frames while rendering.


Something that I mentioned before is a tool that times demos. We have the Portal Demo Timer that adds the time of many demos together (good for RTA runs) and we have listdemo+ which shows us the save flag time (good for segmented runs) but there is no tool that adds demo times based on the save flag. That would be really cool to have.


I will try my best but DQer the GravGun and school.


Save flag done.