Skip to content

Commit 3cece9d

Browse files
committed
fix sentry positions being incorrectly reported
1 parent 7c8e3f9 commit 3cece9d

4 files changed

Lines changed: 21 additions & 25 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "coldmaps"
3-
version = "0.4.0"
3+
version = "0.4.1"
44
authors = ["Tails8521 <tails8521@gmail.com>"]
55
edition = "2021"
66

src/demo_player.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ impl DemoAnalyzer {
677677
}
678678

679679
fn handle_player_resource(&mut self, entity: &PacketEntity) {
680-
for prop in &entity.props {
680+
for prop in entity.props() {
681681
if let Some((table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
682682
if let Ok(player_id) = u32::from_str(prop_name.as_str()) {
683683
let entity_id = EntityId::from(player_id);
@@ -697,7 +697,7 @@ impl DemoAnalyzer {
697697
fn handle_player_entity(&mut self, entity: &PacketEntity) {
698698
let player = self.state.get_or_create_player_entity(entity.entity_index);
699699

700-
for prop in &entity.props {
700+
for prop in entity.props() {
701701
if let Some((table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
702702
match table_name.as_str() {
703703
"DT_BasePlayer" => match prop_name.as_str() {
@@ -739,7 +739,7 @@ impl DemoAnalyzer {
739739
fn handle_unknown_entity(&mut self, entity: &PacketEntity, class_name: String) {
740740
let entry = self.state.other_entities.entry(entity.entity_index).or_insert_with(|| OtherEntity { ..Default::default() });
741741
entry.entity_content = EntityContent::Other { class_name };
742-
for prop in &entity.props {
742+
for prop in entity.props() {
743743
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
744744
match prop_name.as_str() {
745745
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),
@@ -757,7 +757,7 @@ impl DemoAnalyzer {
757757
EntityContent::Sticky(projectile_properties) => (1, projectile_properties),
758758
_ => (-1, Default::default()),
759759
};
760-
for prop in &entity.props {
760+
for prop in entity.props() {
761761
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
762762
match prop_name.as_str() {
763763
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),
@@ -784,7 +784,7 @@ impl DemoAnalyzer {
784784
} else {
785785
Default::default()
786786
};
787-
for prop in &entity.props {
787+
for prop in entity.props() {
788788
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
789789
match prop_name.as_str() {
790790
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),
@@ -812,7 +812,7 @@ impl DemoAnalyzer {
812812
} else {
813813
Default::default()
814814
};
815-
for prop in &entity.props {
815+
for prop in entity.props() {
816816
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
817817
match prop_name.as_str() {
818818
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),
@@ -835,7 +835,7 @@ impl DemoAnalyzer {
835835

836836
fn handle_func_track_train(&mut self, entity: &PacketEntity) {
837837
let entry = self.state.other_entities.entry(entity.entity_index).or_insert_with(|| OtherEntity { ..Default::default() });
838-
for prop in &entity.props {
838+
for prop in entity.props() {
839839
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
840840
match prop_name.as_str() {
841841
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),
@@ -853,7 +853,7 @@ impl DemoAnalyzer {
853853
EntityContent::Weapon { name, id, owner } => (id, name, owner),
854854
_ => (-1, Weapon::Unknown, None),
855855
};
856-
for prop in &entity.props {
856+
for prop in entity.props() {
857857
if let Some((_table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
858858
match prop_name.as_str() {
859859
"m_vecOrigin" => entry.position = Vector::try_from(&prop.value).unwrap_or_default(),

src/heatmap_analyser.rs

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ impl HeatmapAnalyser {
358358
}
359359

360360
pub fn handle_player_resource(&mut self, entity: &PacketEntity) {
361-
for prop in &entity.props {
361+
for prop in entity.props() {
362362
if let Some((table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
363363
if let Ok(player_id) = u32::from_str(prop_name.as_str()) {
364364
let entity_id = EntityId::from(player_id);
@@ -378,7 +378,7 @@ impl HeatmapAnalyser {
378378
pub fn handle_player_entity(&mut self, entity: &PacketEntity) {
379379
let player = self.state.get_or_create_player_entity(entity.entity_index);
380380

381-
for prop in &entity.props {
381+
for prop in entity.props() {
382382
if let Some((table_name, prop_name)) = self.prop_names.get(&prop.identifier) {
383383
match table_name.as_str() {
384384
"DT_BasePlayer" => match prop_name.as_str() {
@@ -432,11 +432,9 @@ impl HeatmapAnalyser {
432432
.entry(entity.entity_index)
433433
.or_insert_with(|| OtherEntity::Sentry { position: None });
434434
let mut position = if let OtherEntity::Sentry { position } = *entry { position } else { None };
435-
for prop in &entity.props {
436-
match prop_name.as_str() {
437-
"m_vecOrigin" => position = Some(Vector::try_from(&prop.value).unwrap_or_default()),
438-
_ => {}
439-
}
435+
match prop_name.as_str() {
436+
"m_vecOrigin" => position = Some(Vector::try_from(&prop.value).unwrap_or_default()),
437+
_ => {}
440438
}
441439
*entry = OtherEntity::Sentry { position };
442440
}
@@ -452,15 +450,13 @@ impl HeatmapAnalyser {
452450
.entry(entity.entity_index)
453451
.or_insert_with(|| OtherEntity::SentryRocket { sentry: None });
454452
let mut sentry = if let OtherEntity::SentryRocket { sentry } = *entry { sentry } else { None };
455-
for prop in &entity.props {
456-
match prop_name.as_str() {
457-
"m_hOwnerEntity" => {
458-
let handle = i64::try_from(&prop.value).unwrap_or_default();
459-
let entity_id = handle_to_entity_index(handle);
460-
sentry = entity_id.map(|id| id.get().into());
461-
}
462-
_ => {}
453+
match prop_name.as_str() {
454+
"m_hOwnerEntity" => {
455+
let handle = i64::try_from(&prop.value).unwrap_or_default();
456+
let entity_id = handle_to_entity_index(handle);
457+
sentry = entity_id.map(|id| id.get().into());
463458
}
459+
_ => {}
464460
}
465461
*entry = OtherEntity::SentryRocket { sentry };
466462
}

0 commit comments

Comments
 (0)