From 6409bd1abbcd42d0fb1558a769ed269d7b9d61a3 Mon Sep 17 00:00:00 2001
From: Treeco <5021038-Treeco@users.noreply.gitlab.com>
Date: Sun, 19 Sep 2021 15:56:08 +0100
Subject: [PATCH] Fix large map loading

---
 server/src/rtsim/mod.rs | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/server/src/rtsim/mod.rs b/server/src/rtsim/mod.rs
index e81598d810..192fb9ef76 100644
--- a/server/src/rtsim/mod.rs
+++ b/server/src/rtsim/mod.rs
@@ -150,8 +150,13 @@ pub fn init(
                 .iter()
                 .filter(|(_, site)| site.is_settlement())
                 .min_by_key(|(_, site)| {
-                    let wpos = site.center * TerrainChunk::RECT_SIZE.map(|x| x as i32);
-                    wpos.distance_squared(spawn_point.0.xy().map(|x| x as i32))
+                    let wpos = site
+                        .center
+                        .as_::<i64>()
+                        .map2(TerrainChunk::RECT_SIZE.as_::<i64>(), |e, sz| {
+                            e * sz + sz / 2
+                        });
+                    wpos.distance_squared(spawn_point.0.xy().map(|x| x as i64))
                 })
                 .map(|(id, _)| id);
             #[allow(clippy::single_match)]