1 个稳定版本
1.0.0 | 2022年4月8日 |
---|
#7 在 #tas
32KB
618 行
分析 HLTAS 文件或 framebulks 的工具
如何使用应用程序
- 通过在控制台粘贴输入完整的 hltas 文件,或没有完整文件的 framebulks
- 输入 EOF,在 Linux / macOS 上可以通过
ctrl+D
完成,或在 Windows 上通过ctrl+Z
完成 - 通过强制退出以
ctrl+c
退出
库使用示例
let hltas = HLTAS {
properties: Properties::default(),
lines: vec![
Line::FrameBulk(FrameBulk {
frame_time: "0.001".to_string(),
frame_count: NonZeroU32::new(150).unwrap(),
auto_actions: Default::default(),
movement_keys: Default::default(),
action_keys: Default::default(),
pitch: Default::default(),
console_command: Default::default(),
}),
Line::FrameBulk(FrameBulk {
frame_time: "0.004".to_string(),
frame_count: NonZeroU32::new(150).unwrap(),
auto_actions: Default::default(),
movement_keys: Default::default(),
action_keys: Default::default(),
pitch: Default::default(),
console_command: Default::default(),
}),
],
};
let analysis = analyze_hltas(&hltas).unwrap();
// prints in a nice format
println!("{}", analysis);
assert_eq!(analysis.estimated_time, dec!(0.75));
assert_eq!(analysis.frametime_stats, vec![
FrametimeStats {
frametime: dec!(0.001),
frame_count: BigUint::from_u32(150).unwrap(),
},
FrametimeStats {
frametime: dec!(0.004),
frame_count: BigUint::from_u32(150).unwrap(),
},
]);
问答
-
为什么这个工具这么花哨?
-
看起来很酷,这就是原因
-
为什么在控制台打印了这么多统计数据?这似乎毫无意义
-
不知道更多,也许更好
-
为什么不是直接分析 bxt 日志,而不是只提供 HLTAS 的估计时间呢?
-
这就是我制作这个分析器的原因,它会读取 bxt 日志,也许还会结合 hltas 来更好地分析 TAS
依赖关系
~2.4–3.5MB
~65K SLoC