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";
}