DemoFile 0.17.1
dotnet add package DemoFile --version 0.17.1
NuGet\Install-Package DemoFile -Version 0.17.1
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块版本的 Install-Package.
<PackageReference Include="DemoFile" Version="0.17.1" />
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件以引用此包。
paket add DemoFile --version 0.17.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
#r "nuget: DemoFile, 0.17.1"
#r 指令可用于 F# Interactive 和多语言笔记本。请将其复制到交互式工具或脚本的源代码中,以引用此包。
// Install DemoFile as a Cake Addin #addin nuget:?package=DemoFile&version=0.17.1 // Install DemoFile as a Cake Tool #tool nuget:?package=DemoFile&version=0.17.1
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
DemoFile.Net
DemoFile.Net 是一个针对《反恐精英2》的飞跃式演示解析库,用 C# 编写。它是跨平台的,可以从 Windows、Mac 或 Linux 使用。
通过 IDE 内置的自动完成功能轻松发现可用数据
功能
功能 | 可用性 |
---|---|
CSTV / GOTV 演示 | ✅ 完全支持 |
POV 演示 | ➖ 计划支持 |
游戏事件(例如 player_death ) |
✅ 完全支持 |
实体更新(玩家位置、手榴弹等) | ✅ 完全支持 |
在演示中向前/向后搜索 | ✅ 完全支持 |
示例
注意:此库仍在大力开发中,API 在 v1.0 之前可能发生重大变化
using DemoFile;
internal class Program
{
public static async Task Main(string[] args)
{
var path = args.SingleOrDefault() ?? throw new Exception("Expected a single argument: <path to .dem>");
var demo = new DemoParser();
demo.Source1GameEvents.PlayerDeath += e =>
{
Console.WriteLine($"{e.Attacker?.PlayerName} [{e.Weapon}] {e.Player?.PlayerName}");
};
await demo.ReadAllAsync(File.OpenRead(path));
Console.WriteLine("\nFinished!");
}
}
有关更多信息,请参阅examples/ 文件夹。
基准测试
在 M1 MacBook Pro 上,DemoFile.Net 可以在 1.5 秒内读取完整的竞技游戏(不到 1 小时的游戏时间)。这包括解析所有实体数据(玩家位置、速度、武器跟踪、手榴弹等)。
方法 | 运行时 | 平均值 | 误差 | 标准差 |
---|---|---|---|---|
ParseDemo | .NET 8.0 | 1.501 s | 0.0047 s | 0.0042 s |
作者和致谢
DemoFile.Net 是由 Saul Rennison 开发的。如果没有 LaihoE 的 demoparser 和 Dotabuff 的 Manta,后者依赖于许多人的努力,这个库的开发是不可能的。
- Michael Fellinger 构建了 Dotabuff 的 Source 1 解析器 yasha。
- Robin Dietrich 构建了 C++ 解析器 Alice。
- Martin Schrodt 构建了 Java 解析器 clarity。
- Drew Schleck 构建了一个原始的 C++ 解析器 edith。
使用 neverlosecc 的 Source2Gen 的修改版来静态生成游戏模式类和枚举。
关于许可证信息,请参阅 致谢。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
-
net7.0
- Google.Protobuf (>= 3.22.1)
- NerdBank.GitVersioning (>= 3.6.133)
- protobuf-net (>= 3.2.16)
- Snappier (>= 1.1.1)
NuGet 包
此包不会被任何 NuGet 包使用。
GitHub 仓库
此包未在任何流行的GitHub仓库中使用。
版本 | 下载 | 最后更新 |
---|---|---|
0.17.1 | 72 | 8/11/2024 |
0.16.3 | 76 | 8/2/2024 |
0.16.2 | 46 | 8/1/2024 |
0.16.1 | 46 | 8/1/2024 |
0.15.1 | 453 | 6/1/2024 |
0.14.1 | 142 | 5/26/2024 |
0.13.1 | 190 | 4/30/2024 |
0.12.2 | 121 | 4/12/2024 |
0.12.1 | 382 | 2/29/2024 |
0.11.1 | 189 | 2/19/2024 |
0.10.1 | 87 | 2/17/2024 |
0.9.1 | 120 | 2/9/2024 |
0.8.1 | 183 | 12/30/2023 |
0.6.1 | 147 | 12/23/2023 |
0.5.1 | 344 | 12/19/2023 |
0.4.1 | 154 | 12/9/2023 |
0.3.6 | 158 | 11/25/2023 |
0.3.5 | 113 | 11/25/2023 |
0.3.4 | 113 | 11/25/2023 |
0.3.1 | 117 | 11/25/2023 |
0.2.9 | 146 | 11/12/2023 |
0.2.8 | 105 | 11/12/2023 |
0.2.7 | 113 | 11/12/2023 |
0.2.6 | 101 | 11/11/2023 |
0.2.5 | 90 | 11/11/2023 |
0.2.4 | 103 | 11/11/2023 |
0.2.3 | 100 | 11/8/2023 |
0.2.2 | 104 | 11/5/2023 |
0.2.1 | 157 | 10/29/2023 |
0.1.11 | 141 | 10/25/2023 |
0.1.10 | 131 | 10/22/2023 |
0.1.9 | 114 | 10/19/2023 |
0.1.7 | 132 | 10/12/2023 |