Truncate coordinates rather than using floor.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Nolan Darilek 2023-03-28 08:49:46 -05:00
parent 30250a4310
commit 8e4369163a
2 changed files with 8 additions and 8 deletions

View File

@ -298,11 +298,11 @@ pub trait PointLike {
fn y(&self) -> f32; fn y(&self) -> f32;
fn x_i32(&self) -> i32 { fn x_i32(&self) -> i32 {
self.x().round() as i32 self.x().trunc() as i32
} }
fn y_i32(&self) -> i32 { fn y_i32(&self) -> i32 {
self.y().round() as i32 self.y().trunc() as i32
} }
fn x_usize(&self) -> usize { fn x_usize(&self) -> usize {
@ -321,12 +321,12 @@ pub trait PointLike {
(self.x_i32(), self.y_i32()) (self.x_i32(), self.y_i32())
} }
fn floor(&self) -> (f32, f32) { fn trunc(&self) -> (f32, f32) {
(self.x().floor(), self.y().floor()) (self.x().trunc(), self.y().trunc())
} }
fn to_index(&self, width: usize) -> usize { fn to_index(&self, width: usize) -> usize {
((self.y_i32() * width as i32) + self.x_i32()) as usize (self.y_usize() * width) + self.x_usize()
} }
fn distance_squared(&self, other: &dyn PointLike) -> f32 { fn distance_squared(&self, other: &dyn PointLike) -> f32 {

View File

@ -132,7 +132,7 @@ where
let mut features = features let mut features = features
.iter() .iter()
.filter(|v| visible_entities.contains(&v.0)) .filter(|v| visible_entities.contains(&v.0))
.map(|v| (v.1.floor(), v.2)) .map(|v| (v.1.trunc(), v.2))
.collect::<Vec<((f32, f32), &ExplorationType)>>(); .collect::<Vec<((f32, f32), &ExplorationType)>>();
if features.is_empty() { if features.is_empty() {
tts.speak("Nothing visible.", true)?; tts.speak("Nothing visible.", true)?;
@ -166,7 +166,7 @@ where
if let Some((coordinates, _)) = target { if let Some((coordinates, _)) = target {
commands commands
.entity(entity) .entity(entity)
.insert(Exploring(coordinates.floor())); .insert(Exploring(coordinates.trunc()));
} }
} }
Ok(()) Ok(())
@ -291,7 +291,7 @@ where
MapData: 'static + Clone + Default + Send + Sync, MapData: 'static + Clone + Default + Send + Sync,
{ {
if let Ok((coordinates, exploring, viewshed)) = explorer.get_single() { if let Ok((coordinates, exploring, viewshed)) = explorer.get_single() {
let coordinates = coordinates.floor(); let coordinates = coordinates.trunc();
let point = **exploring; let point = **exploring;
let shape = Collider::cuboid(0.5 - f32::EPSILON, 0.5 - f32::EPSILON); let shape = Collider::cuboid(0.5 - f32::EPSILON, 0.5 - f32::EPSILON);
let (known, idx) = if let Ok((map, revealed_tiles)) = map.get_single() { let (known, idx) = if let Ok((map, revealed_tiles)) = map.get_single() {