Main Page Half-Life Demofile Tools

From Sukimashita

Jump to: navigation, search

Version: 0.0.0 - RSS Changelog - Browse Repository - Devtalk

Contents

[edit] About

This project aims to provide specifications and a library for processing Half-Life based gameplay recordings in the Half-Life demo file format.

Most of the information was acquired using loads of coffee, byte-level RE research, optimistic guessing and the fact that the recording system is based on the Quake 1 DEM file format.

The information provided should be useful for developers who wish to properly parse the DEM file format for various use cases (server-based anti-cheat tools, log generation, automatic metadata creation of user-uploaded recordings or similar).

The specifications and library are in it's early stages, however the current implementation used in DemoFreak is able to parse everything within a DEM file except delta encoded data.

The library will be free software, licensed under the GNU GPL and open for contributions.

[edit] Specifications

Watch this space for HLDEMO specs. The most recent copy will always be available in the repository.

[edit] Recent Changes

Full changelog...

[edit] Tools

The following included tools should demonstrate the use of the library and possibly be used stand-alone:

  • hldemotool - Parse demo files and dump/extract all or specific information

[edit] Download

No releases yet. The source can be checked out from the official repository.

[edit] Development

The official repository can be found and checked-out at:
https://svn.sukimashita.com/repos/hldemo/trunk

Checkout using:

svn co https://svn.sukimashita.com/repos/hldemo/trunk/ hldemo

[edit] FAQ

Feel free to edit this part and add any questions you might have.

  • Why?
    Due to various requests on getting to know how DemoFreak is able to read all the information from Half-Life based demo files I came up with the idea to write down everything into a public specification and possibly offer a library for developers to use. While there are some specs on the internet about parsing basic information, only DemoFreak, aside of HL itself, has so far read extended information which was not useful due to it's closed-source nature.

[edit] Bugs

There is currently no bugtracking system setup.

[edit] Links

Related projects:

Personal tools