diff --git a/mudlet_replay_format.txt b/mudlet_replay_format.txt new file mode 100644 index 0000000..f5f4343 --- /dev/null +++ b/mudlet_replay_format.txt @@ -0,0 +1,23 @@ +# parsing mudlet replay + +* uses big endian signed integers +* format is: delta, number of bytes, chunk of bytes + +## delta +* may be int32_t or int64_t but probably int32 +* max delta with int32_t is around 12 days +* try as int32_t first and if num_butes < 1 or delta < 0 or num_bytes > buffer_size where + buffer_size is around 100000L then give up and try with int64_t and run tests again but + also add test delta <= int32_max +* delta change to int64_t was probably in 4.11.0 https://github.com/Mudlet/Mudlet/pull/4400 +* delta fix back to int32_t was probably in 4.15.0 https://github.com/Mudlet/Mudlet/pull/5776 + +## num_bytes +* num bytes is int32_t + +## chunk of bytes +* chunk can be assumed utf8, anything mudlet takes will be compatible, but mud probably uses ascii + + + +