A tool to compare Doom demo state dumps
./democomp state_dump1.bin state_dump2.bin
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.
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).
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
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.