Fix heatmap issue and implement per round analysis

This commit is contained in:
Lol3rrr
2024-10-08 23:15:42 +02:00
parent 4353de4455
commit 539adecf5d
24 changed files with 58455 additions and 335 deletions

View File

@@ -11,8 +11,7 @@ fn heatmap_nuke() {
let config = heatmap::Config { cell_size: 5.0 };
let result = heatmap::parse(&config, &input_bytes).unwrap();
assert_eq!(result.player_heatmaps.len(), 11);
assert_eq!(result.entity_to_player.len(), 12);
assert_eq!(result.player_heatmaps.len(), 10);
}
#[test]
@@ -25,7 +24,7 @@ fn heatmap_inferno() {
let config = heatmap::Config { cell_size: 5.0 };
let result = heatmap::parse(&config, &input_bytes).unwrap();
assert_eq!(result.player_heatmaps.len(), result.player_info.len(), "Players: {:?}", result.player_heatmaps.keys().collect::<Vec<_>>());
assert_eq!(result.player_heatmaps.len(), 10);
}
#[test]
@@ -38,18 +37,5 @@ fn heatmap_dust2() {
let config = heatmap::Config { cell_size: 5.0 };
let result = heatmap::parse(&config, &input_bytes).unwrap();
assert_eq!(result.player_heatmaps.len(), result.player_info.len(), "Players: {:?}", result.player_heatmaps.keys().collect::<Vec<_>>());
assert_eq!(
result.player_info.len(),
result.entity_to_player.len(),
"Missing Entity-to-Player: {:?} - Missing Player-Info: {:?}",
result.player_heatmaps.keys().filter(|entity| !result.entity_to_player.contains_key(*entity)).collect::<Vec<_>>(),
result.player_info.iter().filter_map(|(user_id, info)| {
if result.entity_to_player.values().any(|p| p == user_id) {
return None;
}
Some(info)
}).collect::<Vec<_>>(),
);
assert_eq!(result.player_heatmaps.len(), 10);
}