Skip to content

camgunz/democomp

democomp

A tool to compare Doom demo state dumps

Usage

./democomp state_dump1.bin state_dump2.bin

Info

democomp compares state dumps generated by appropriately modified Doom source ports. Whenever a discrepancy is found, democomp prints out the gametic, the value types (u8, str, etc.), and the values in hopes of giving the user helpful information for locating the source of the desync.

Design

democomp and the state dump format use MessagePack to ensure binary format portability and libxdiff to keep demo state dumps small. democomp will compare file sizes and SHA-256 hashes in order to detect matching demos without the in-depth comparison, greatly improving scan time (useful for automated checking).

Future Plans

  • democomp could be faster; some profiling is probably in order.
  • State dumps compress well; it would be useful for democomp to support 2-3 compression formats
  • Read the demo format from a configuration file

License

democomp uses code from D2K and PrBoom+, and as such is licensed under the terms of the GNU General Public License v2.0, or, at your option, any later version of the license. The SHA-256 code is from the mbed-tls project, licensed through the Apache License, Version 2.0.

About

A tool to compare Doom demo state dumps

Resources

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
COPYING

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published