using Robust.Shared.GameObjects; using Robust.Shared.Serialization; using Robust.Shared.Timing; using Robust.Shared.Utility; namespace Robust.Shared.Replays; /// /// Contains various constants related to the replay recording subsystem. /// public static class ReplayConstants { /// /// File extension for data files that have to be deserialized and decompressed. /// public const string Ext = "dat"; /// /// Prefix used by serialized data messages. /// public const string DataFilePrefix = "data_"; // file names /// /// File that contains primary replay metadata. /// public static readonly ResPath FileMeta = new($"replay.yml"); /// /// File that contains final replay metadata written at the end of a successful recording. /// public static readonly ResPath FileMetaFinal = new($"replay_final.yml"); /// /// File that contains CVars at the start of a recording. /// public static readonly ResPath FileCvars = new($"cvars.toml"); /// /// File that contains the serialization string map (). /// public static readonly ResPath FileStrings = new($"strings.{Ext}"); /// /// File that contains extra initialization objects provided by content. /// public static readonly ResPath FileInit = new($"init.{Ext}"); /// /// Folder inside replay zip files that replay data is contained in. /// public static readonly ResPath ReplayZipFolder = new("_replay"); // Keys for the YAML data in replay.yml /// /// Type hash from . /// public const string MetaKeyTypeHash = "typeHash"; /// /// Component hash from . /// public const string MetaKeyComponentHash = "componentHash"; /// /// String hash from . /// public const string MetaKeyStringHash = "stringHash"; /// /// Time the recording was started, in UTC. /// public const string MetaKeyTime = "time"; /// /// The name of the recording. /// public const string MetaKeyName = "name"; /// /// The tick the recording was started at. /// public const string MetaKeyStartTick = "startTick"; /// /// The server time the recording was started at. /// public const string MetaKeyStartTime = "startTime"; /// /// The base tick from when the recording was started. /// public const string MetaKeyBaseTick = "timeBaseTick"; /// /// The base time from when the recording was started. /// public const string MetaKeyBaseTime = "timeBaseTime"; /// /// The engine version that was recorded on. /// public const string MetaKeyEngineVersion = "engineVersion"; /// /// The build fork ID that was recorded on. /// public const string MetaKeyForkId = "buildForkId"; /// /// The build fork version that was recorded on. /// public const string MetaKeyForkVersion = "buildForkVersion"; /// /// Is this a client-side recording? /// public const string MetaKeyIsClientRecording = "isClientRecording"; /// /// If this is a client recording, what is the User ID player. /// public const string MetaKeyRecordedBy = "recordedBy"; // Keys for the YAML data in replay_final.yml /// /// How many individual data files have been recorded in total. /// public const string MetaFinalKeyFileCount = "fileCount"; /// /// Length of the recording. /// public const string MetaFinalKeyDuration = "duration"; /// /// Compressed total size of the replay data files. /// public const string MetaFinalKeyCompressedSize = "size"; /// /// Uncompressed total size of the replay data files. /// public const string MetaFinalKeyUncompressedSize = "uncompressedSize"; /// /// Tick the recording ends at. /// public const string MetaFinalKeyEndTick = "endTick"; /// /// Time the recording ends at. /// public const string MetaFinalKeyEndTime = "endTime"; }